[PATCH] D101782: [AArch64][GlobalISel] Add post-legalizer lowering for NEON vector fcmps

Jessica Paquette via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon May 3 12:28:58 PDT 2021


paquette created this revision.
paquette added a reviewer: aemerson.
Herald added subscribers: danielkiss, hiraditya, kristof.beyls, rovka.
paquette requested review of this revision.
Herald added a project: LLVM.

This is roughly equivalent to the floating point portion of `AArch64TargetLowering::LowerVSETCC`. Main part that's missing is the v4s16 bit.

This also adds helpers equivalent to `EmitVectorComparison`, and `changeVectorFPCCToAArch64CC`. This moves `changeFCMPPredToAArch64CC` out of the selector into AArch64GlobalISelUtils for the sake of code reuse.

This is done in post-legalizer lowering with pseudos to simplify selection. The imported patterns end up handling selection for us this way.


https://reviews.llvm.org/D101782

Files:
  llvm/lib/Target/AArch64/AArch64Combine.td
  llvm/lib/Target/AArch64/AArch64InstrGISel.td
  llvm/lib/Target/AArch64/GISel/AArch64GlobalISelUtils.cpp
  llvm/lib/Target/AArch64/GISel/AArch64GlobalISelUtils.h
  llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
  llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
  llvm/test/CodeGen/AArch64/GlobalISel/lower-neon-vector-fcmp.mir
  llvm/test/CodeGen/AArch64/GlobalISel/select-neon-vector-fcmp.mir
  llvm/test/CodeGen/AArch64/neon-compare-instructions.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D101782.342510.patch
Type: text/x-patch
Size: 157984 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210503/ed646142/attachment-0001.bin>


More information about the llvm-commits mailing list