[PATCH] D81556: [ARM] VCVTT instruction selection
Dave Green via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jun 10 05:58:13 PDT 2020
dmgreen created this revision.
dmgreen added reviewers: SjoerdMeijer, efriedma, samparker, simon_tatham, ostannard.
Herald added subscribers: danielkiss, hiraditya, kristof.beyls.
Herald added a project: LLVM.
We current extract and convert from a top lane of a f16 vector using a VMOVX;VCVTB pair. We can simplify that to use a single VCVTT. The pattern is mostly copied from a vector extract pattern, but produces a VCVTTHS f32 directly.
I had to move some code around so that ARMInstrVFP had access to the required pattern frags that were previously part of ARMInstrNEON. I could also split the pattern into MVE and NEON separately if that is better. The v8f16 is currently a bit "MVE-y", but seems to apply fine for NEON.
https://reviews.llvm.org/D81556
Files:
llvm/lib/Target/ARM/ARMInstrInfo.td
llvm/lib/Target/ARM/ARMInstrNEON.td
llvm/lib/Target/ARM/ARMInstrVFP.td
llvm/test/CodeGen/ARM/fp16-insert-extract.ll
llvm/test/CodeGen/Thumb2/LowOverheadLoops/fast-fp-loops.ll
llvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-float-loops.ll
llvm/test/CodeGen/Thumb2/mve-div-expand.ll
llvm/test/CodeGen/Thumb2/mve-fmath.ll
llvm/test/CodeGen/Thumb2/mve-masked-ldst.ll
llvm/test/CodeGen/Thumb2/mve-vcvt16.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D81556.269803.patch
Type: text/x-patch
Size: 36673 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200610/cc4b6a4e/attachment.bin>
More information about the llvm-commits
mailing list