[llvm] [SelectionDAG] Use unaligned store to move AVX registers onto stack for `extractelement` (PR #78422)
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Thu Jan 25 07:37:00 PST 2024
================
@@ -437,8 +442,10 @@ define <2 x i64> @extract_fixed_v2i64_nxv2i64(<vscale x 2 x i64> %vec) nounwind
; CHECK-NEXT: str x29, [sp, #-16]! // 8-byte Folded Spill
; CHECK-NEXT: addvl sp, sp, #-1
; CHECK-NEXT: ptrue p0.d
-; CHECK-NEXT: st1d { z0.d }, p0, [sp]
-; CHECK-NEXT: ldr q0, [sp, #16]
+; CHECK-NEXT: mov z2.d, z0.d
+; CHECK-NEXT: ldr q1, [sp, #16]
+; CHECK-NEXT: mov v0.16b, v1.16b
+; CHECK-NEXT: st1d { z2.d }, p0, [sp]
----------------
RKSimon wrote:
@davemgreen Can you confirm that the codegen diff is just down to now having unaligned loads?
https://github.com/llvm/llvm-project/pull/78422
More information about the llvm-commits
mailing list