Krzysztof Parzyszek | 3bf4aec | 2016-09-02 19:48:55 +0000 | [diff] [blame] | 1 | # RUN: llc -march=amdgcn -run-pass simple-register-coalescing -o - %s | FileCheck %s |
| 2 | # Check that %11 and %20 have been coalesced. |
| 3 | # CHECK: IMAGE_SAMPLE_C_D_O_V1_V16 %[[REG:[0-9]+]] |
| 4 | # CHECK: IMAGE_SAMPLE_C_D_O_V1_V16 %[[REG]] |
| 5 | |
| 6 | --- |
| 7 | name: main |
| 8 | alignment: 0 |
| 9 | tracksRegLiveness: true |
| 10 | registers: |
| 11 | - { id: 0, class: sreg_64 } |
| 12 | - { id: 1, class: vgpr_32 } |
| 13 | - { id: 2, class: vgpr_32 } |
| 14 | - { id: 3, class: sreg_256 } |
| 15 | - { id: 4, class: sreg_128 } |
| 16 | - { id: 5, class: sreg_256 } |
| 17 | - { id: 6, class: sreg_128 } |
| 18 | - { id: 7, class: sreg_512 } |
| 19 | - { id: 9, class: vreg_512 } |
| 20 | - { id: 11, class: vreg_512 } |
| 21 | - { id: 18, class: vgpr_32 } |
| 22 | - { id: 20, class: vreg_512 } |
| 23 | - { id: 27, class: vgpr_32 } |
| 24 | liveins: |
Puyan Lotfi | 43e94b1 | 2018-01-31 22:04:26 +0000 | [diff] [blame] | 25 | - { reg: '$sgpr2_sgpr3', virtual-reg: '%0' } |
| 26 | - { reg: '$vgpr2', virtual-reg: '%1' } |
| 27 | - { reg: '$vgpr3', virtual-reg: '%2' } |
Krzysztof Parzyszek | 3bf4aec | 2016-09-02 19:48:55 +0000 | [diff] [blame] | 28 | frameInfo: |
| 29 | isFrameAddressTaken: false |
| 30 | isReturnAddressTaken: false |
| 31 | hasStackMap: false |
| 32 | hasPatchPoint: false |
| 33 | stackSize: 0 |
| 34 | offsetAdjustment: 0 |
| 35 | maxAlignment: 0 |
| 36 | adjustsStack: false |
| 37 | hasCalls: false |
| 38 | maxCallFrameSize: 0 |
| 39 | hasOpaqueSPAdjustment: false |
| 40 | hasVAStart: false |
| 41 | hasMustTailInVarArgFunc: false |
| 42 | body: | |
| 43 | bb.0: |
Puyan Lotfi | 43e94b1 | 2018-01-31 22:04:26 +0000 | [diff] [blame] | 44 | liveins: $sgpr2_sgpr3, $vgpr2, $vgpr3 |
Krzysztof Parzyszek | 3bf4aec | 2016-09-02 19:48:55 +0000 | [diff] [blame] | 45 | |
Puyan Lotfi | 43e94b1 | 2018-01-31 22:04:26 +0000 | [diff] [blame] | 46 | %0 = COPY $sgpr2_sgpr3 |
| 47 | %1 = COPY $vgpr2 |
| 48 | %2 = COPY $vgpr3 |
Matt Arsenault | 7b64755 | 2016-10-28 21:55:15 +0000 | [diff] [blame] | 49 | %3 = S_LOAD_DWORDX8_IMM %0, 0, 0 |
| 50 | %4 = S_LOAD_DWORDX4_IMM %0, 12, 0 |
| 51 | %5 = S_LOAD_DWORDX8_IMM %0, 16, 0 |
| 52 | %6 = S_LOAD_DWORDX4_IMM %0, 28, 0 |
Krzysztof Parzyszek | 3bf4aec | 2016-09-02 19:48:55 +0000 | [diff] [blame] | 53 | undef %7.sub0 = S_MOV_B32 212739 |
| 54 | %20 = COPY %7 |
| 55 | %11 = COPY %20 |
| 56 | %11.sub1 = COPY %1 |
| 57 | %11.sub2 = COPY %1 |
| 58 | %11.sub3 = COPY %1 |
| 59 | %11.sub4 = COPY %1 |
| 60 | %11.sub5 = COPY %1 |
| 61 | %11.sub6 = COPY %1 |
| 62 | %11.sub7 = COPY %1 |
| 63 | %11.sub8 = COPY %1 |
Nicolai Haehnle | f267431 | 2018-06-21 13:36:01 +0000 | [diff] [blame] | 64 | dead %18 = IMAGE_SAMPLE_C_D_O_V1_V16 %11, %3, %4, 1, 0, 0, 0, 0, 0, 0, -1, 0, implicit $exec |
Krzysztof Parzyszek | 3bf4aec | 2016-09-02 19:48:55 +0000 | [diff] [blame] | 65 | %20.sub1 = COPY %2 |
| 66 | %20.sub2 = COPY %2 |
| 67 | %20.sub3 = COPY %2 |
| 68 | %20.sub4 = COPY %2 |
| 69 | %20.sub5 = COPY %2 |
| 70 | %20.sub6 = COPY %2 |
| 71 | %20.sub7 = COPY %2 |
| 72 | %20.sub8 = COPY %2 |
Nicolai Haehnle | f267431 | 2018-06-21 13:36:01 +0000 | [diff] [blame] | 73 | dead %27 = IMAGE_SAMPLE_C_D_O_V1_V16 %20, %5, %6, 1, 0, 0, 0, 0, 0, 0, -1, 0, implicit $exec |
Krzysztof Parzyszek | 3bf4aec | 2016-09-02 19:48:55 +0000 | [diff] [blame] | 74 | |
| 75 | ... |