Matt Arsenault | 2ed2193 | 2017-02-27 20:21:31 +0000 | [diff] [blame] | 1 | # RUN: llc -march=amdgcn -run-pass peephole-opt -verify-machineinstrs %s -o - | FileCheck -check-prefix=GCN %s |
Matt Arsenault | 2ed2193 | 2017-02-27 20:21:31 +0000 | [diff] [blame] | 2 | ... |
Matt Arsenault | 2ed2193 | 2017-02-27 20:21:31 +0000 | [diff] [blame] | 3 | # GCN-LABEL: name: no_fold_imm_madak_mac_clamp_f32 |
Puyan Lotfi | 43e94b1 | 2018-01-31 22:04:26 +0000 | [diff] [blame] | 4 | # GCN: %23:vgpr_32 = V_MOV_B32_e32 1090519040, implicit $exec |
| 5 | # GCN-NEXT: %24:vgpr_32 = V_MAC_F32_e64 0, killed %19, 0, killed %21, 0, %23, 1, 0, implicit $exec |
Matt Arsenault | 2ed2193 | 2017-02-27 20:21:31 +0000 | [diff] [blame] | 6 | |
| 7 | name: no_fold_imm_madak_mac_clamp_f32 |
| 8 | tracksRegLiveness: true |
| 9 | registers: |
| 10 | - { id: 0, class: sgpr_64 } |
| 11 | - { id: 1, class: sreg_32_xm0 } |
| 12 | - { id: 2, class: sgpr_32 } |
| 13 | - { id: 3, class: vgpr_32 } |
| 14 | - { id: 4, class: sreg_64_xexec } |
| 15 | - { id: 5, class: sreg_64_xexec } |
| 16 | - { id: 6, class: sreg_64_xexec } |
| 17 | - { id: 7, class: sreg_32 } |
| 18 | - { id: 8, class: sreg_32 } |
| 19 | - { id: 9, class: sreg_32_xm0 } |
| 20 | - { id: 10, class: sreg_64 } |
| 21 | - { id: 11, class: sreg_32_xm0 } |
| 22 | - { id: 12, class: sreg_32_xm0 } |
| 23 | - { id: 13, class: sgpr_64 } |
| 24 | - { id: 14, class: sgpr_128 } |
| 25 | - { id: 15, class: sreg_32_xm0 } |
| 26 | - { id: 16, class: sreg_64 } |
| 27 | - { id: 17, class: sgpr_128 } |
| 28 | - { id: 18, class: sgpr_128 } |
| 29 | - { id: 19, class: vgpr_32 } |
| 30 | - { id: 20, class: vreg_64 } |
| 31 | - { id: 21, class: vgpr_32 } |
| 32 | - { id: 22, class: vreg_64 } |
| 33 | - { id: 23, class: vgpr_32 } |
| 34 | - { id: 24, class: vgpr_32 } |
| 35 | - { id: 25, class: vgpr_32 } |
| 36 | - { id: 26, class: vreg_64 } |
| 37 | - { id: 27, class: vgpr_32 } |
| 38 | - { id: 28, class: vreg_64 } |
| 39 | - { id: 29, class: vreg_64 } |
| 40 | liveins: |
Puyan Lotfi | 43e94b1 | 2018-01-31 22:04:26 +0000 | [diff] [blame] | 41 | - { reg: '$sgpr0_sgpr1', virtual-reg: '%0' } |
| 42 | - { reg: '$vgpr0', virtual-reg: '%3' } |
Matt Arsenault | 2ed2193 | 2017-02-27 20:21:31 +0000 | [diff] [blame] | 43 | body: | |
Matt Arsenault | 60b91e0 | 2017-07-06 20:56:57 +0000 | [diff] [blame] | 44 | bb.0: |
Puyan Lotfi | 43e94b1 | 2018-01-31 22:04:26 +0000 | [diff] [blame] | 45 | liveins: $sgpr0_sgpr1, $vgpr0 |
Matt Arsenault | 2ed2193 | 2017-02-27 20:21:31 +0000 | [diff] [blame] | 46 | |
Puyan Lotfi | 43e94b1 | 2018-01-31 22:04:26 +0000 | [diff] [blame] | 47 | %3 = COPY $vgpr0 |
| 48 | %0 = COPY $sgpr0_sgpr1 |
Matt Arsenault | 60b91e0 | 2017-07-06 20:56:57 +0000 | [diff] [blame] | 49 | %4 = S_LOAD_DWORDX2_IMM %0, 9, 0 |
| 50 | %5 = S_LOAD_DWORDX2_IMM %0, 11, 0 |
| 51 | %6 = S_LOAD_DWORDX2_IMM %0, 13, 0 |
Puyan Lotfi | 43e94b1 | 2018-01-31 22:04:26 +0000 | [diff] [blame] | 52 | %27 = V_ASHRREV_I32_e32 31, %3, implicit $exec |
Matt Arsenault | 2ed2193 | 2017-02-27 20:21:31 +0000 | [diff] [blame] | 53 | %28 = REG_SEQUENCE %3, 1, %27, 2 |
| 54 | %11 = S_MOV_B32 61440 |
| 55 | %12 = S_MOV_B32 0 |
| 56 | %13 = REG_SEQUENCE killed %12, 1, killed %11, 2 |
| 57 | %14 = REG_SEQUENCE killed %5, 17, %13, 18 |
| 58 | %15 = S_MOV_B32 2 |
Puyan Lotfi | 43e94b1 | 2018-01-31 22:04:26 +0000 | [diff] [blame] | 59 | %29 = V_LSHL_B64 killed %28, killed %15, implicit $exec |
Matt Arsenault | 2ed2193 | 2017-02-27 20:21:31 +0000 | [diff] [blame] | 60 | %17 = REG_SEQUENCE killed %6, 17, %13, 18 |
| 61 | %18 = REG_SEQUENCE killed %4, 17, %13, 18 |
| 62 | %20 = COPY %29 |
Puyan Lotfi | 43e94b1 | 2018-01-31 22:04:26 +0000 | [diff] [blame] | 63 | %19 = BUFFER_LOAD_DWORD_ADDR64 %20, killed %14, 0, 0, 0, 0, 0, implicit $exec |
Matt Arsenault | 2ed2193 | 2017-02-27 20:21:31 +0000 | [diff] [blame] | 64 | %22 = COPY %29 |
Puyan Lotfi | 43e94b1 | 2018-01-31 22:04:26 +0000 | [diff] [blame] | 65 | %21 = BUFFER_LOAD_DWORD_ADDR64 %22, killed %17, 0, 0, 0, 0, 0, implicit $exec |
| 66 | %23 = V_MOV_B32_e32 1090519040, implicit $exec |
| 67 | %24 = V_MAC_F32_e64 0, killed %19, 0, killed %21, 0, %23, 1, 0, implicit $exec |
Matt Arsenault | 2ed2193 | 2017-02-27 20:21:31 +0000 | [diff] [blame] | 68 | %26 = COPY %29 |
Puyan Lotfi | 43e94b1 | 2018-01-31 22:04:26 +0000 | [diff] [blame] | 69 | BUFFER_STORE_DWORD_ADDR64 killed %24, %26, killed %18, 0, 0, 0, 0, 0, implicit $exec |
Matt Arsenault | 2ed2193 | 2017-02-27 20:21:31 +0000 | [diff] [blame] | 70 | S_ENDPGM |
| 71 | |
| 72 | ... |
| 73 | --- |
| 74 | # GCN-LABEL: name: no_fold_imm_madak_mac_omod_f32 |
Puyan Lotfi | 43e94b1 | 2018-01-31 22:04:26 +0000 | [diff] [blame] | 75 | # GCN: %23:vgpr_32 = V_MOV_B32_e32 1090519040, implicit $exec |
| 76 | # GCN: %24:vgpr_32 = V_MAC_F32_e64 0, killed %19, 0, killed %21, 0, %23, 0, 2, implicit $exec |
Matt Arsenault | 2ed2193 | 2017-02-27 20:21:31 +0000 | [diff] [blame] | 77 | |
| 78 | name: no_fold_imm_madak_mac_omod_f32 |
| 79 | tracksRegLiveness: true |
| 80 | registers: |
| 81 | - { id: 0, class: sgpr_64 } |
| 82 | - { id: 1, class: sreg_32_xm0 } |
| 83 | - { id: 2, class: sgpr_32 } |
| 84 | - { id: 3, class: vgpr_32 } |
| 85 | - { id: 4, class: sreg_64_xexec } |
| 86 | - { id: 5, class: sreg_64_xexec } |
| 87 | - { id: 6, class: sreg_64_xexec } |
| 88 | - { id: 7, class: sreg_32 } |
| 89 | - { id: 8, class: sreg_32 } |
| 90 | - { id: 9, class: sreg_32_xm0 } |
| 91 | - { id: 10, class: sreg_64 } |
| 92 | - { id: 11, class: sreg_32_xm0 } |
| 93 | - { id: 12, class: sreg_32_xm0 } |
| 94 | - { id: 13, class: sgpr_64 } |
| 95 | - { id: 14, class: sgpr_128 } |
| 96 | - { id: 15, class: sreg_32_xm0 } |
| 97 | - { id: 16, class: sreg_64 } |
| 98 | - { id: 17, class: sgpr_128 } |
| 99 | - { id: 18, class: sgpr_128 } |
| 100 | - { id: 19, class: vgpr_32 } |
| 101 | - { id: 20, class: vreg_64 } |
| 102 | - { id: 21, class: vgpr_32 } |
| 103 | - { id: 22, class: vreg_64 } |
| 104 | - { id: 23, class: vgpr_32 } |
| 105 | - { id: 24, class: vgpr_32 } |
| 106 | - { id: 25, class: vgpr_32 } |
| 107 | - { id: 26, class: vreg_64 } |
| 108 | - { id: 27, class: vgpr_32 } |
| 109 | - { id: 28, class: vreg_64 } |
| 110 | - { id: 29, class: vreg_64 } |
| 111 | liveins: |
Puyan Lotfi | 43e94b1 | 2018-01-31 22:04:26 +0000 | [diff] [blame] | 112 | - { reg: '$sgpr0_sgpr1', virtual-reg: '%0' } |
| 113 | - { reg: '$vgpr0', virtual-reg: '%3' } |
Matt Arsenault | 2ed2193 | 2017-02-27 20:21:31 +0000 | [diff] [blame] | 114 | body: | |
Matt Arsenault | 60b91e0 | 2017-07-06 20:56:57 +0000 | [diff] [blame] | 115 | bb.0: |
Puyan Lotfi | 43e94b1 | 2018-01-31 22:04:26 +0000 | [diff] [blame] | 116 | liveins: $sgpr0_sgpr1, $vgpr0 |
Matt Arsenault | 2ed2193 | 2017-02-27 20:21:31 +0000 | [diff] [blame] | 117 | |
Puyan Lotfi | 43e94b1 | 2018-01-31 22:04:26 +0000 | [diff] [blame] | 118 | %3 = COPY $vgpr0 |
| 119 | %0 = COPY $sgpr0_sgpr1 |
Matt Arsenault | 60b91e0 | 2017-07-06 20:56:57 +0000 | [diff] [blame] | 120 | %4 = S_LOAD_DWORDX2_IMM %0, 9, 0 |
| 121 | %5 = S_LOAD_DWORDX2_IMM %0, 11, 0 |
| 122 | %6 = S_LOAD_DWORDX2_IMM %0, 13, 0 |
Puyan Lotfi | 43e94b1 | 2018-01-31 22:04:26 +0000 | [diff] [blame] | 123 | %27 = V_ASHRREV_I32_e32 31, %3, implicit $exec |
Matt Arsenault | 2ed2193 | 2017-02-27 20:21:31 +0000 | [diff] [blame] | 124 | %28 = REG_SEQUENCE %3, 1, %27, 2 |
| 125 | %11 = S_MOV_B32 61440 |
| 126 | %12 = S_MOV_B32 0 |
| 127 | %13 = REG_SEQUENCE killed %12, 1, killed %11, 2 |
| 128 | %14 = REG_SEQUENCE killed %5, 17, %13, 18 |
| 129 | %15 = S_MOV_B32 2 |
Puyan Lotfi | 43e94b1 | 2018-01-31 22:04:26 +0000 | [diff] [blame] | 130 | %29 = V_LSHL_B64 killed %28, killed %15, implicit $exec |
Matt Arsenault | 2ed2193 | 2017-02-27 20:21:31 +0000 | [diff] [blame] | 131 | %17 = REG_SEQUENCE killed %6, 17, %13, 18 |
| 132 | %18 = REG_SEQUENCE killed %4, 17, %13, 18 |
| 133 | %20 = COPY %29 |
Puyan Lotfi | 43e94b1 | 2018-01-31 22:04:26 +0000 | [diff] [blame] | 134 | %19 = BUFFER_LOAD_DWORD_ADDR64 %20, killed %14, 0, 0, 0, 0, 0, implicit $exec |
Matt Arsenault | 2ed2193 | 2017-02-27 20:21:31 +0000 | [diff] [blame] | 135 | %22 = COPY %29 |
Puyan Lotfi | 43e94b1 | 2018-01-31 22:04:26 +0000 | [diff] [blame] | 136 | %21 = BUFFER_LOAD_DWORD_ADDR64 %22, killed %17, 0, 0, 0, 0, 0, implicit $exec |
| 137 | %23 = V_MOV_B32_e32 1090519040, implicit $exec |
| 138 | %24 = V_MAC_F32_e64 0, killed %19, 0, killed %21, 0, %23, 0, 2, implicit $exec |
Matt Arsenault | 2ed2193 | 2017-02-27 20:21:31 +0000 | [diff] [blame] | 139 | %26 = COPY %29 |
Puyan Lotfi | 43e94b1 | 2018-01-31 22:04:26 +0000 | [diff] [blame] | 140 | BUFFER_STORE_DWORD_ADDR64 killed %24, %26, killed %18, 0, 0, 0, 0, 0, implicit $exec |
Matt Arsenault | 2ed2193 | 2017-02-27 20:21:31 +0000 | [diff] [blame] | 141 | S_ENDPGM |
| 142 | |
| 143 | ... |
| 144 | --- |
| 145 | # GCN: name: no_fold_imm_madak_mad_clamp_f32 |
Puyan Lotfi | 43e94b1 | 2018-01-31 22:04:26 +0000 | [diff] [blame] | 146 | # GCN: %23:vgpr_32 = V_MOV_B32_e32 1090519040, implicit $exec |
| 147 | # GCN: %24:vgpr_32 = V_MAD_F32 0, killed %19, 0, killed %21, 0, %23, 1, 0, implicit $exec |
Matt Arsenault | 2ed2193 | 2017-02-27 20:21:31 +0000 | [diff] [blame] | 148 | |
| 149 | name: no_fold_imm_madak_mad_clamp_f32 |
| 150 | tracksRegLiveness: true |
| 151 | registers: |
| 152 | - { id: 0, class: sgpr_64 } |
| 153 | - { id: 1, class: sreg_32_xm0 } |
| 154 | - { id: 2, class: sgpr_32 } |
| 155 | - { id: 3, class: vgpr_32 } |
| 156 | - { id: 4, class: sreg_64_xexec } |
| 157 | - { id: 5, class: sreg_64_xexec } |
| 158 | - { id: 6, class: sreg_64_xexec } |
| 159 | - { id: 7, class: sreg_32 } |
| 160 | - { id: 8, class: sreg_32 } |
| 161 | - { id: 9, class: sreg_32_xm0 } |
| 162 | - { id: 10, class: sreg_64 } |
| 163 | - { id: 11, class: sreg_32_xm0 } |
| 164 | - { id: 12, class: sreg_32_xm0 } |
| 165 | - { id: 13, class: sgpr_64 } |
| 166 | - { id: 14, class: sgpr_128 } |
| 167 | - { id: 15, class: sreg_32_xm0 } |
| 168 | - { id: 16, class: sreg_64 } |
| 169 | - { id: 17, class: sgpr_128 } |
| 170 | - { id: 18, class: sgpr_128 } |
| 171 | - { id: 19, class: vgpr_32 } |
| 172 | - { id: 20, class: vreg_64 } |
| 173 | - { id: 21, class: vgpr_32 } |
| 174 | - { id: 22, class: vreg_64 } |
| 175 | - { id: 23, class: vgpr_32 } |
| 176 | - { id: 24, class: vgpr_32 } |
| 177 | - { id: 25, class: vgpr_32 } |
| 178 | - { id: 26, class: vreg_64 } |
| 179 | - { id: 27, class: vgpr_32 } |
| 180 | - { id: 28, class: vreg_64 } |
| 181 | - { id: 29, class: vreg_64 } |
| 182 | liveins: |
Puyan Lotfi | 43e94b1 | 2018-01-31 22:04:26 +0000 | [diff] [blame] | 183 | - { reg: '$sgpr0_sgpr1', virtual-reg: '%0' } |
| 184 | - { reg: '$vgpr0', virtual-reg: '%3' } |
Matt Arsenault | 2ed2193 | 2017-02-27 20:21:31 +0000 | [diff] [blame] | 185 | body: | |
Matt Arsenault | 60b91e0 | 2017-07-06 20:56:57 +0000 | [diff] [blame] | 186 | bb.0: |
Puyan Lotfi | 43e94b1 | 2018-01-31 22:04:26 +0000 | [diff] [blame] | 187 | liveins: $sgpr0_sgpr1, $vgpr0 |
Matt Arsenault | 2ed2193 | 2017-02-27 20:21:31 +0000 | [diff] [blame] | 188 | |
Puyan Lotfi | 43e94b1 | 2018-01-31 22:04:26 +0000 | [diff] [blame] | 189 | %3 = COPY $vgpr0 |
| 190 | %0 = COPY $sgpr0_sgpr1 |
Matt Arsenault | 60b91e0 | 2017-07-06 20:56:57 +0000 | [diff] [blame] | 191 | %4 = S_LOAD_DWORDX2_IMM %0, 9, 0 |
| 192 | %5 = S_LOAD_DWORDX2_IMM %0, 11, 0 |
| 193 | %6 = S_LOAD_DWORDX2_IMM %0, 13, 0 |
Puyan Lotfi | 43e94b1 | 2018-01-31 22:04:26 +0000 | [diff] [blame] | 194 | %27 = V_ASHRREV_I32_e32 31, %3, implicit $exec |
Matt Arsenault | 2ed2193 | 2017-02-27 20:21:31 +0000 | [diff] [blame] | 195 | %28 = REG_SEQUENCE %3, 1, %27, 2 |
| 196 | %11 = S_MOV_B32 61440 |
| 197 | %12 = S_MOV_B32 0 |
| 198 | %13 = REG_SEQUENCE killed %12, 1, killed %11, 2 |
| 199 | %14 = REG_SEQUENCE killed %5, 17, %13, 18 |
| 200 | %15 = S_MOV_B32 2 |
Puyan Lotfi | 43e94b1 | 2018-01-31 22:04:26 +0000 | [diff] [blame] | 201 | %29 = V_LSHL_B64 killed %28, killed %15, implicit $exec |
Matt Arsenault | 2ed2193 | 2017-02-27 20:21:31 +0000 | [diff] [blame] | 202 | %17 = REG_SEQUENCE killed %6, 17, %13, 18 |
| 203 | %18 = REG_SEQUENCE killed %4, 17, %13, 18 |
| 204 | %20 = COPY %29 |
Puyan Lotfi | 43e94b1 | 2018-01-31 22:04:26 +0000 | [diff] [blame] | 205 | %19 = BUFFER_LOAD_DWORD_ADDR64 %20, killed %14, 0, 0, 0, 0, 0, implicit $exec |
Matt Arsenault | 2ed2193 | 2017-02-27 20:21:31 +0000 | [diff] [blame] | 206 | %22 = COPY %29 |
Puyan Lotfi | 43e94b1 | 2018-01-31 22:04:26 +0000 | [diff] [blame] | 207 | %21 = BUFFER_LOAD_DWORD_ADDR64 %22, killed %17, 0, 0, 0, 0, 0, implicit $exec |
| 208 | %23 = V_MOV_B32_e32 1090519040, implicit $exec |
| 209 | %24 = V_MAD_F32 0, killed %19, 0, killed %21, 0, %23, 1, 0, implicit $exec |
Matt Arsenault | 2ed2193 | 2017-02-27 20:21:31 +0000 | [diff] [blame] | 210 | %26 = COPY %29 |
Puyan Lotfi | 43e94b1 | 2018-01-31 22:04:26 +0000 | [diff] [blame] | 211 | BUFFER_STORE_DWORD_ADDR64 killed %24, %26, killed %18, 0, 0, 0, 0, 0, implicit $exec |
Matt Arsenault | 2ed2193 | 2017-02-27 20:21:31 +0000 | [diff] [blame] | 212 | S_ENDPGM |
| 213 | |
| 214 | ... |
| 215 | --- |
| 216 | # GCN: name: no_fold_imm_madak_mad_omod_f32 |
Puyan Lotfi | 43e94b1 | 2018-01-31 22:04:26 +0000 | [diff] [blame] | 217 | # GCN: %23:vgpr_32 = V_MOV_B32_e32 1090519040, implicit $exec |
| 218 | # GCN: %24:vgpr_32 = V_MAD_F32 0, killed %19, 0, killed %21, 0, %23, 0, 1, implicit $exec |
Matt Arsenault | 2ed2193 | 2017-02-27 20:21:31 +0000 | [diff] [blame] | 219 | |
| 220 | name: no_fold_imm_madak_mad_omod_f32 |
| 221 | tracksRegLiveness: true |
| 222 | registers: |
| 223 | - { id: 0, class: sgpr_64 } |
| 224 | - { id: 1, class: sreg_32_xm0 } |
| 225 | - { id: 2, class: sgpr_32 } |
| 226 | - { id: 3, class: vgpr_32 } |
| 227 | - { id: 4, class: sreg_64_xexec } |
| 228 | - { id: 5, class: sreg_64_xexec } |
| 229 | - { id: 6, class: sreg_64_xexec } |
| 230 | - { id: 7, class: sreg_32 } |
| 231 | - { id: 8, class: sreg_32 } |
| 232 | - { id: 9, class: sreg_32_xm0 } |
| 233 | - { id: 10, class: sreg_64 } |
| 234 | - { id: 11, class: sreg_32_xm0 } |
| 235 | - { id: 12, class: sreg_32_xm0 } |
| 236 | - { id: 13, class: sgpr_64 } |
| 237 | - { id: 14, class: sgpr_128 } |
| 238 | - { id: 15, class: sreg_32_xm0 } |
| 239 | - { id: 16, class: sreg_64 } |
| 240 | - { id: 17, class: sgpr_128 } |
| 241 | - { id: 18, class: sgpr_128 } |
| 242 | - { id: 19, class: vgpr_32 } |
| 243 | - { id: 20, class: vreg_64 } |
| 244 | - { id: 21, class: vgpr_32 } |
| 245 | - { id: 22, class: vreg_64 } |
| 246 | - { id: 23, class: vgpr_32 } |
| 247 | - { id: 24, class: vgpr_32 } |
| 248 | - { id: 25, class: vgpr_32 } |
| 249 | - { id: 26, class: vreg_64 } |
| 250 | - { id: 27, class: vgpr_32 } |
| 251 | - { id: 28, class: vreg_64 } |
| 252 | - { id: 29, class: vreg_64 } |
| 253 | liveins: |
Puyan Lotfi | 43e94b1 | 2018-01-31 22:04:26 +0000 | [diff] [blame] | 254 | - { reg: '$sgpr0_sgpr1', virtual-reg: '%0' } |
| 255 | - { reg: '$vgpr0', virtual-reg: '%3' } |
Matt Arsenault | 2ed2193 | 2017-02-27 20:21:31 +0000 | [diff] [blame] | 256 | body: | |
Matt Arsenault | 60b91e0 | 2017-07-06 20:56:57 +0000 | [diff] [blame] | 257 | bb.0: |
Puyan Lotfi | 43e94b1 | 2018-01-31 22:04:26 +0000 | [diff] [blame] | 258 | liveins: $sgpr0_sgpr1, $vgpr0 |
Matt Arsenault | 2ed2193 | 2017-02-27 20:21:31 +0000 | [diff] [blame] | 259 | |
Puyan Lotfi | 43e94b1 | 2018-01-31 22:04:26 +0000 | [diff] [blame] | 260 | %3 = COPY $vgpr0 |
| 261 | %0 = COPY $sgpr0_sgpr1 |
Matt Arsenault | 60b91e0 | 2017-07-06 20:56:57 +0000 | [diff] [blame] | 262 | %4 = S_LOAD_DWORDX2_IMM %0, 9, 0 |
| 263 | %5 = S_LOAD_DWORDX2_IMM %0, 11, 0 |
| 264 | %6 = S_LOAD_DWORDX2_IMM %0, 13, 0 |
Puyan Lotfi | 43e94b1 | 2018-01-31 22:04:26 +0000 | [diff] [blame] | 265 | %27 = V_ASHRREV_I32_e32 31, %3, implicit $exec |
Matt Arsenault | 2ed2193 | 2017-02-27 20:21:31 +0000 | [diff] [blame] | 266 | %28 = REG_SEQUENCE %3, 1, %27, 2 |
| 267 | %11 = S_MOV_B32 61440 |
| 268 | %12 = S_MOV_B32 0 |
| 269 | %13 = REG_SEQUENCE killed %12, 1, killed %11, 2 |
| 270 | %14 = REG_SEQUENCE killed %5, 17, %13, 18 |
| 271 | %15 = S_MOV_B32 2 |
Puyan Lotfi | 43e94b1 | 2018-01-31 22:04:26 +0000 | [diff] [blame] | 272 | %29 = V_LSHL_B64 killed %28, killed %15, implicit $exec |
Matt Arsenault | 2ed2193 | 2017-02-27 20:21:31 +0000 | [diff] [blame] | 273 | %17 = REG_SEQUENCE killed %6, 17, %13, 18 |
| 274 | %18 = REG_SEQUENCE killed %4, 17, %13, 18 |
| 275 | %20 = COPY %29 |
Puyan Lotfi | 43e94b1 | 2018-01-31 22:04:26 +0000 | [diff] [blame] | 276 | %19 = BUFFER_LOAD_DWORD_ADDR64 %20, killed %14, 0, 0, 0, 0, 0, implicit $exec |
Matt Arsenault | 2ed2193 | 2017-02-27 20:21:31 +0000 | [diff] [blame] | 277 | %22 = COPY %29 |
Puyan Lotfi | 43e94b1 | 2018-01-31 22:04:26 +0000 | [diff] [blame] | 278 | %21 = BUFFER_LOAD_DWORD_ADDR64 %22, killed %17, 0, 0, 0, 0, 0, implicit $exec |
| 279 | %23 = V_MOV_B32_e32 1090519040, implicit $exec |
| 280 | %24 = V_MAD_F32 0, killed %19, 0, killed %21, 0, %23, 0, 1, implicit $exec |
Matt Arsenault | 2ed2193 | 2017-02-27 20:21:31 +0000 | [diff] [blame] | 281 | %26 = COPY %29 |
Puyan Lotfi | 43e94b1 | 2018-01-31 22:04:26 +0000 | [diff] [blame] | 282 | BUFFER_STORE_DWORD_ADDR64 killed %24, %26, killed %18, 0, 0, 0, 0, 0, implicit $exec |
Matt Arsenault | 2ed2193 | 2017-02-27 20:21:31 +0000 | [diff] [blame] | 283 | S_ENDPGM |
| 284 | |
| 285 | ... |