[llvm] [AArch64]Fix invalid use of ld1/st1 in stack alloc (PR #105518)

Sander de Smalen via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 21 06:34:25 PDT 2024


================
@@ -360,7 +355,17 @@ define void @vg_unwind_with_sve_args(<vscale x 2 x i64> %x) #0 {
 ; CHECK-NEXT:    .cfi_escape 0x10, 0x4f, 0x0a, 0x11, 0x60, 0x22, 0x11, 0x40, 0x92, 0x2e, 0x00, 0x1e, 0x22 // $d15 @ cfa - 32 - 64 * VG
 ; CHECK-NEXT:    addvl sp, sp, #-1
 ; CHECK-NEXT:    .cfi_escape 0x0f, 0x0d, 0x8f, 0x00, 0x11, 0x20, 0x22, 0x11, 0x98, 0x01, 0x92, 0x2e, 0x00, 0x1e, 0x22 // sp + 32 + 152 * VG
+; CHECK-NEXT:    mov x9, #256 // =0x100
----------------
sdesmalen-arm wrote:

This doesn't look right. I would have expected these offsets to be scaled by `vscale` (using `addvl`), but instead it's loading directly from address `sp + 256`. 

https://github.com/llvm/llvm-project/pull/105518


More information about the llvm-commits mailing list