[all-commits] [llvm/llvm-project] 79be9c: [AArch64][GlobalISel] Add post-legalizer lowering ...

Jessica Paquette via All-commits all-commits at lists.llvm.org
Mon May 10 15:43:02 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 79be9c59c6acd79fe4ac3a65eee569b3b65fc20f
      https://github.com/llvm/llvm-project/commit/79be9c59c6acd79fe4ac3a65eee569b3b65fc20f
  Author: Jessica Paquette <jpaquette at apple.com>
  Date:   2021-05-10 (Mon, 10 May 2021)

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

  Log Message:
  -----------
  [AArch64][GlobalISel] Add post-legalizer lowering for NEON vector fcmps

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.

Differential Revision: https://reviews.llvm.org/D101782




More information about the All-commits mailing list