1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=riscv64 -mattr=+v -o - %s \
3 # RUN: -stop-after=prologepilog | FileCheck %s
6 define void @foo() !dbg !0 {
8 %va = alloca <vscale x 2 x i32>, align 4, !dbg !1
14 !0 = distinct !DISubprogram(name: "foo", line: 3, scopeLine: 3)
15 !1 = !DILocation(line: 4, column: 14, scope: !0)
16 !2 = !DILocation(line: 5, column: 3, scope: !0)
21 tracksRegLiveness: true
23 - { id: 0, stack-id: scalable-vector, offset: 0, size: 8, alignment: 8 }
25 ; CHECK-LABEL: name: foo
27 ; CHECK-NEXT: successors: %bb.1(0x80000000)
29 ; CHECK-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 0
30 ; CHECK-NEXT: $x10 = frame-setup PseudoReadVLENB
31 ; CHECK-NEXT: $x10 = frame-setup SLLI killed $x10, 1
32 ; CHECK-NEXT: $x2 = frame-setup SUB $x2, killed $x10
33 ; CHECK-NEXT: frame-setup CFI_INSTRUCTION escape 0x0f, 0x0a, 0x72, 0x00, 0x11, 0x02, 0x92, 0xa2, 0x38, 0x00, 0x1e, 0x22
36 ; CHECK-NEXT: $x10 = frame-destroy PseudoReadVLENB
37 ; CHECK-NEXT: $x10 = frame-destroy SLLI killed $x10, 1
38 ; CHECK-NEXT: $x2 = frame-destroy ADD $x2, killed $x10
39 ; CHECK-NEXT: PseudoRET