HomePhabricator

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

Authored by paquette on May 3 2021, 12:21 PM.

Description

[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