[llvm] [AArch64][SelectionDAG] Avoid cross-bank copy for NEON vcvtfp2fx result (PR #210275)
Kieran B via llvm-commits
llvm-commits at lists.llvm.org
Thu Jul 23 03:13:41 PDT 2026
================
@@ -9121,6 +9121,49 @@ defm FCVTZS : SIMDFPScalarRShift<0, 0b11111, "fcvtzs">;
defm FCVTZU : SIMDFPScalarRShift<1, 0b11111, "fcvtzu">;
defm SCVTF : SIMDFPScalarRShift<0, 0b11100, "scvtf">;
defm UCVTF : SIMDFPScalarRShift<1, 0b11100, "ucvtf">;
+
+// Transformation for SIMD shift imm to fixed point imm for FPR-to-GPR result
+def fixedpoint_scalar_xform : SDNodeXForm<timm, [{
----------------
kieroxide wrote:
It does not cause problems currently as GIsel never matches this pattern due the the register banks remaining in FPR. When GIsel patch is completed, we will need an identity renderer for vecshift -> fixedpoint. Which will have to be linked with a separate SDNodeXform
https://github.com/llvm/llvm-project/pull/210275
More information about the llvm-commits
mailing list