[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