[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:10:51 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:
Yes, this is true that it is a duplicated record for the DAG. But the records have the mapped GI equivalent along with a renderer. Attempting to use this renderer is wrong as it calculates fbits, whereas we already have the immediate already as fbits so using the existing vec_xform would be wrong.
This will become clearer when GIsel for this part is complete. Overall, the GI behaviour will be different so they should be split.
https://github.com/llvm/llvm-project/pull/210275
More information about the llvm-commits
mailing list