xref: /llvm-project/llvm/test/CodeGen/AArch64/framelayout-sve-fixed-width-access.mir (revision dedf2c6bb5193652f6ad7d9ff9e676624c2485b7)
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
3
4--- |
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:    sub sp, sp, #2064
11  ; CHECK-NEXT:    addvl sp, sp, #-32
12  ; CHECK-NEXT:    addvl sp, sp, #-28
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
18  ; CHECK-NEXT:    ret
19...
20name: access_large_stack
21frameInfo:
22  maxAlignment:  16
23  isFrameAddressTaken: true
24stack:
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 }
28body:             |
29  bb.0.entry:
30    $x8 = LDRXui %stack.0, 0
31    RET_ReallyLR
32---
33