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