1 # NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 # RUN: llc -mattr=+sve -mtriple=aarch64-none-linux-gnu -start-before=prologepilog %s -o - | FileCheck %s
5 define aarch64_sve_vector_pcs void @access_large_stack() nounwind { entry: unreachable }
6 ; CHECK-LABEL: access_large_stack:
7 ; CHECK: // %bb.0: // %entry
8 ; CHECK-NEXT: stp x29, x30, [sp, #-16]! // 16-byte Folded Spill
9 ; CHECK-NEXT: mov x29, sp
10 ; CHECK-NEXT: addvl sp, sp, #-32
11 ; CHECK-NEXT: addvl sp, sp, #-28
12 ; CHECK-NEXT: sub sp, sp, #2064
13 ; CHECK-NEXT: ldr x8, [sp, #2048]
14 ; CHECK-NEXT: addvl sp, sp, #31
15 ; CHECK-NEXT: addvl sp, sp, #29
16 ; CHECK-NEXT: add sp, sp, #2064
17 ; CHECK-NEXT: ldp x29, x30, [sp], #16 // 16-byte Folded Reload
20 name: access_large_stack
23 isFrameAddressTaken: true
25 - { id: 0, stack-id: default, size: 16, alignment: 16 }
26 - { id: 1, stack-id: default, size: 2048, alignment: 16 }
27 - { id: 2, stack-id: scalable-vector, size: 960, alignment: 16 }
30 $x8 = LDRXui %stack.0, 0