|
| 1 | +# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 6 |
1 | 2 | # RUN: llc -mtriple=amdgcn -run-pass register-coalescer -o - %s | FileCheck %s
|
2 | 3 |
|
3 |
| -# Check that coalescer does not create wider register tuple than in source |
4 |
| - |
5 |
| -# CHECK: - { id: 2, class: vreg_64, preferred-register: '', flags: [ ] } |
6 |
| -# CHECK: - { id: 3, class: vreg_64, preferred-register: '', flags: [ ] } |
7 |
| -# CHECK: - { id: 4, class: vreg_64, preferred-register: '', flags: [ ] } |
8 |
| -# CHECK: - { id: 5, class: vreg_96, preferred-register: '', flags: [ ] } |
9 |
| -# CHECK: - { id: 6, class: vreg_96, preferred-register: '', flags: [ ] } |
10 |
| -# CHECK: - { id: 7, class: vreg_128, preferred-register: '', flags: [ ] } |
11 |
| -# CHECK: - { id: 8, class: vreg_128, preferred-register: '', flags: [ ] } |
| 4 | +# Check that coalescer does not create wider register tuple than in |
| 5 | +# source. |
12 | 6 | # No more registers shall be defined
|
13 |
| -# CHECK-NEXT: liveins: |
14 |
| -# CHECK: FLAT_STORE_DWORDX2 $vgpr0_vgpr1, %4, |
15 |
| -# CHECK: FLAT_STORE_DWORDX3 $vgpr0_vgpr1, %6, |
16 |
| - |
17 | 7 | ---
|
18 | 8 | name: main
|
19 | 9 | alignment: 1
|
@@ -52,6 +42,23 @@ body: |
|
52 | 42 | bb.0.entry:
|
53 | 43 | liveins: $sgpr0, $vgpr0_vgpr1
|
54 | 44 |
|
| 45 | + ; CHECK-LABEL: name: main |
| 46 | + ; CHECK: liveins: $sgpr0, $vgpr0_vgpr1 |
| 47 | + ; CHECK-NEXT: {{ $}} |
| 48 | + ; CHECK-NEXT: [[DEF:%[0-9]+]]:vreg_64 = IMPLICIT_DEF |
| 49 | + ; CHECK-NEXT: undef [[COPY:%[0-9]+]].sub0:vreg_64 = COPY $sgpr0 |
| 50 | + ; CHECK-NEXT: [[COPY:%[0-9]+]].sub1:vreg_64 = COPY [[DEF]].sub0 |
| 51 | + ; CHECK-NEXT: undef [[COPY1:%[0-9]+]].sub0:vreg_64 = COPY [[COPY]].sub1 |
| 52 | + ; CHECK-NEXT: [[COPY1:%[0-9]+]].sub1:vreg_64 = COPY [[COPY]].sub0 |
| 53 | + ; CHECK-NEXT: FLAT_STORE_DWORDX2 $vgpr0_vgpr1, [[COPY1]], 0, 0, implicit $exec, implicit $flat_scr |
| 54 | + ; CHECK-NEXT: [[DEF1:%[0-9]+]]:vreg_96 = IMPLICIT_DEF |
| 55 | + ; CHECK-NEXT: undef [[COPY2:%[0-9]+]].sub0_sub1:vreg_96 = COPY [[DEF1]] |
| 56 | + ; CHECK-NEXT: [[COPY2:%[0-9]+]].sub2:vreg_96 = COPY [[DEF]].sub0 |
| 57 | + ; CHECK-NEXT: FLAT_STORE_DWORDX3 $vgpr0_vgpr1, [[COPY2]], 0, 0, implicit $exec, implicit $flat_scr |
| 58 | + ; CHECK-NEXT: [[DEF2:%[0-9]+]]:vreg_128 = IMPLICIT_DEF |
| 59 | + ; CHECK-NEXT: undef [[COPY3:%[0-9]+]].sub0_sub1_sub2:vreg_128 = COPY [[DEF2]] |
| 60 | + ; CHECK-NEXT: [[COPY3:%[0-9]+]].sub3:vreg_128 = COPY [[DEF]].sub0 |
| 61 | + ; CHECK-NEXT: FLAT_STORE_DWORDX4 $vgpr0_vgpr1, [[COPY3]], 0, 0, implicit $exec, implicit $flat_scr |
55 | 62 | %3 = IMPLICIT_DEF
|
56 | 63 | undef %4.sub0 = COPY $sgpr0
|
57 | 64 | %4.sub1 = COPY %3.sub0
|
|
0 commit comments