xref: /llvm-project/llvm/test/CodeGen/AArch64/sve-aliasing.mir (revision 4d8012259846274c6122b3befdff32d4c3010f7c)
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2# RUN: llc -o - %s -mtriple=aarch64 -run-pass=machine-scheduler -verify-machineinstrs | FileCheck %s
3
4---
5name:            scalable_v16i1
6tracksRegLiveness: true
7registers:
8  - { id: 0, class: gpr64common, preferred-register: '' }
9  - { id: 1, class: ppr, preferred-register: '' }
10  - { id: 2, class: ppr, preferred-register: '' }
11liveins:
12  - { reg: '$x0', virtual-reg: '%0' }
13  - { reg: '$p0', virtual-reg: '%1' }
14body:             |
15  bb.0:
16    liveins: $x0, $p0
17
18    ; CHECK-LABEL: name: scalable_v16i1
19    ; CHECK: liveins: $x0, $p0
20    ; CHECK-NEXT: {{  $}}
21    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr64common = COPY $x0
22    ; CHECK-NEXT: [[LDR_PXI:%[0-9]+]]:ppr = LDR_PXI [[COPY]], 1 :: (load unknown-size, align 16)
23    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:ppr = COPY $p0
24    ; CHECK-NEXT: $p0 = COPY [[LDR_PXI]]
25    ; CHECK-NEXT: STR_PXI [[COPY1]], [[COPY]], 0 :: (store unknown-size, align 16)
26    ; CHECK-NEXT: RET_ReallyLR implicit $p0
27    %1:ppr = COPY $p0
28    %0:gpr64common = COPY $x0
29    STR_PXI %1, %0, 0 :: (store unknown-size, align 16)
30    %2:ppr = LDR_PXI %0, 1 :: (load unknown-size, align 16)
31    $p0 = COPY %2
32    RET_ReallyLR implicit $p0
33
34...
35---
36name:            scalable_neg_v16i1
37tracksRegLiveness: true
38registers:
39  - { id: 0, class: gpr64common, preferred-register: '' }
40  - { id: 1, class: ppr, preferred-register: '' }
41  - { id: 2, class: ppr, preferred-register: '' }
42liveins:
43  - { reg: '$x0', virtual-reg: '%0' }
44  - { reg: '$p0', virtual-reg: '%1' }
45body:             |
46  bb.0:
47    liveins: $x0, $p0
48
49    ; CHECK-LABEL: name: scalable_neg_v16i1
50    ; CHECK: liveins: $x0, $p0
51    ; CHECK-NEXT: {{  $}}
52    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr64common = COPY $x0
53    ; CHECK-NEXT: [[LDR_PXI:%[0-9]+]]:ppr = LDR_PXI [[COPY]], -1 :: (load unknown-size, align 16)
54    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:ppr = COPY $p0
55    ; CHECK-NEXT: $p0 = COPY [[LDR_PXI]]
56    ; CHECK-NEXT: STR_PXI [[COPY1]], [[COPY]], 0 :: (store unknown-size, align 16)
57    ; CHECK-NEXT: RET_ReallyLR implicit $p0
58    %1:ppr = COPY $p0
59    %0:gpr64common = COPY $x0
60    STR_PXI %1, %0, 0 :: (store unknown-size, align 16)
61    %2:ppr = LDR_PXI %0, -1 :: (load unknown-size, align 16)
62    $p0 = COPY %2
63    RET_ReallyLR implicit $p0
64
65...
66