1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py 2# RUN: llc -mtriple=amdgcn-mesa-mesa3d -mcpu=tahiti -run-pass=instruction-select -global-isel-abort=2 -pass-remarks-missed='gisel*' -o - %s | FileCheck -check-prefix=GCN %s 3 4--- 5name: test_unmerge_values_v_s32_v_s32_v_s64 6legalized: true 7regBankSelected: true 8tracksRegLiveness: true 9 10body: | 11 bb.0: 12 liveins: $vgpr0_vgpr1 13 14 ; GCN-LABEL: name: test_unmerge_values_v_s32_v_s32_v_s64 15 ; GCN: liveins: $vgpr0_vgpr1 16 ; GCN: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1 17 ; GCN: [[COPY1:%[0-9]+]]:vgpr_32 = COPY [[COPY]].sub0 18 ; GCN: [[COPY2:%[0-9]+]]:vgpr_32 = COPY [[COPY]].sub1 19 ; GCN: S_ENDPGM 0, implicit [[COPY1]], implicit [[COPY2]] 20 %0:vgpr(s64) = COPY $vgpr0_vgpr1 21 %1:vgpr(s32), %2:vgpr(s32) = G_UNMERGE_VALUES %0 22 S_ENDPGM 0, implicit %1, implicit %2 23... 24 25--- 26name: test_unmerge_values_s_s32_s_s32_s_s64 27legalized: true 28regBankSelected: true 29tracksRegLiveness: true 30 31body: | 32 bb.0: 33 liveins: $sgpr0_sgpr1 34 35 ; GCN-LABEL: name: test_unmerge_values_s_s32_s_s32_s_s64 36 ; GCN: liveins: $sgpr0_sgpr1 37 ; GCN: [[COPY:%[0-9]+]]:sreg_64 = COPY $sgpr0_sgpr1 38 ; GCN: [[COPY1:%[0-9]+]]:sreg_32 = COPY [[COPY]].sub0 39 ; GCN: [[COPY2:%[0-9]+]]:sreg_32 = COPY [[COPY]].sub1 40 ; GCN: S_ENDPGM 0, implicit [[COPY1]], implicit [[COPY2]] 41 %0:sgpr(s64) = COPY $sgpr0_sgpr1 42 %1:sgpr(s32), %2:sgpr(s32) = G_UNMERGE_VALUES %0 43 S_ENDPGM 0, implicit %1, implicit %2 44... 45 46--- 47name: test_unmerge_values_v_s32_s_s32_s_s64 48legalized: true 49regBankSelected: true 50tracksRegLiveness: true 51 52body: | 53 bb.0: 54 liveins: $sgpr0_sgpr1 55 56 ; GCN-LABEL: name: test_unmerge_values_v_s32_s_s32_s_s64 57 ; GCN: liveins: $sgpr0_sgpr1 58 ; GCN: [[COPY:%[0-9]+]]:sreg_64 = COPY $sgpr0_sgpr1 59 ; GCN: [[COPY1:%[0-9]+]]:vgpr_32 = COPY [[COPY]].sub0 60 ; GCN: [[COPY2:%[0-9]+]]:sreg_32 = COPY [[COPY]].sub1 61 ; GCN: S_ENDPGM 0, implicit [[COPY1]], implicit [[COPY2]] 62 %0:sgpr(s64) = COPY $sgpr0_sgpr1 63 %1:vgpr(s32), %2:sgpr(s32) = G_UNMERGE_VALUES %0 64 S_ENDPGM 0, implicit %1, implicit %2 65... 66 67--- 68name: test_unmerge_values_s_s32_v_s32_s_s64 69legalized: true 70regBankSelected: true 71tracksRegLiveness: true 72 73body: | 74 bb.0: 75 liveins: $sgpr0_sgpr1 76 77 ; GCN-LABEL: name: test_unmerge_values_s_s32_v_s32_s_s64 78 ; GCN: liveins: $sgpr0_sgpr1 79 ; GCN: [[COPY:%[0-9]+]]:sreg_64 = COPY $sgpr0_sgpr1 80 ; GCN: [[COPY1:%[0-9]+]]:sreg_32 = COPY [[COPY]].sub0 81 ; GCN: [[COPY2:%[0-9]+]]:vgpr_32 = COPY [[COPY]].sub1 82 ; GCN: S_ENDPGM 0, implicit [[COPY1]], implicit [[COPY2]] 83 %0:sgpr(s64) = COPY $sgpr0_sgpr1 84 %1:sgpr(s32), %2:vgpr(s32) = G_UNMERGE_VALUES %0 85 S_ENDPGM 0, implicit %1, implicit %2 86... 87 88--- 89name: test_unmerge_values_s_s32_s_s32_s32_s_s96 90legalized: true 91regBankSelected: true 92tracksRegLiveness: true 93 94body: | 95 bb.0: 96 liveins: $sgpr0_sgpr1_sgpr2 97 98 ; GCN-LABEL: name: test_unmerge_values_s_s32_s_s32_s32_s_s96 99 ; GCN: liveins: $sgpr0_sgpr1_sgpr2 100 ; GCN: [[COPY:%[0-9]+]]:sgpr_96 = COPY $sgpr0_sgpr1_sgpr2 101 ; GCN: [[COPY1:%[0-9]+]]:sreg_32 = COPY [[COPY]].sub0 102 ; GCN: [[COPY2:%[0-9]+]]:sreg_32 = COPY [[COPY]].sub1 103 ; GCN: [[COPY3:%[0-9]+]]:sreg_32 = COPY [[COPY]].sub2 104 ; GCN: S_ENDPGM 0, implicit [[COPY1]], implicit [[COPY2]], implicit [[COPY3]] 105 %0:sgpr(s96) = COPY $sgpr0_sgpr1_sgpr2 106 %1:sgpr(s32), %2:sgpr(s32), %3:sgpr(s32) = G_UNMERGE_VALUES %0 107 S_ENDPGM 0, implicit %1, implicit %2, implicit %3 108... 109 110--- 111name: test_unmerge_values_s_s32_s_s32_s32_s_s32_s_s128 112legalized: true 113regBankSelected: true 114tracksRegLiveness: true 115 116body: | 117 bb.0: 118 liveins: $sgpr0_sgpr1_sgpr2_sgpr3 119 120 ; GCN-LABEL: name: test_unmerge_values_s_s32_s_s32_s32_s_s32_s_s128 121 ; GCN: liveins: $sgpr0_sgpr1_sgpr2_sgpr3 122 ; GCN: [[COPY:%[0-9]+]]:sgpr_128 = COPY $sgpr0_sgpr1_sgpr2_sgpr3 123 ; GCN: [[COPY1:%[0-9]+]]:sreg_32 = COPY [[COPY]].sub0 124 ; GCN: [[COPY2:%[0-9]+]]:sreg_32 = COPY [[COPY]].sub1 125 ; GCN: [[COPY3:%[0-9]+]]:sreg_32 = COPY [[COPY]].sub2 126 ; GCN: [[COPY4:%[0-9]+]]:sreg_32 = COPY [[COPY]].sub3 127 ; GCN: S_ENDPGM 0, implicit [[COPY1]], implicit [[COPY2]], implicit [[COPY3]], implicit [[COPY4]] 128 %0:sgpr(s128) = COPY $sgpr0_sgpr1_sgpr2_sgpr3 129 %1:sgpr(s32), %2:sgpr(s32), %3:sgpr(s32), %4:sgpr(s32) = G_UNMERGE_VALUES %0 130 S_ENDPGM 0, implicit %1, implicit %2, implicit %3, implicit %4 131... 132 133--- 134name: test_unmerge_values_s_s64_s_s64_s_s128 135legalized: true 136regBankSelected: true 137tracksRegLiveness: true 138 139body: | 140 bb.0: 141 liveins: $sgpr0_sgpr1_sgpr2_sgpr3 142 143 ; GCN-LABEL: name: test_unmerge_values_s_s64_s_s64_s_s128 144 ; GCN: liveins: $sgpr0_sgpr1_sgpr2_sgpr3 145 ; GCN: [[COPY:%[0-9]+]]:sgpr_128 = COPY $sgpr0_sgpr1_sgpr2_sgpr3 146 ; GCN: [[COPY1:%[0-9]+]]:sreg_64 = COPY [[COPY]].sub0_sub1 147 ; GCN: [[COPY2:%[0-9]+]]:sreg_64 = COPY [[COPY]].sub2_sub3 148 ; GCN: S_ENDPGM 0, implicit [[COPY1]], implicit [[COPY2]] 149 %0:sgpr(s128) = COPY $sgpr0_sgpr1_sgpr2_sgpr3 150 %1:sgpr(s64), %2:sgpr(s64) = G_UNMERGE_VALUES %0 151 S_ENDPGM 0, implicit %1, implicit %2 152... 153 154--- 155name: test_unmerge_values_s_s64_s_s64_s64_s_s192 156legalized: true 157regBankSelected: true 158tracksRegLiveness: true 159 160body: | 161 bb.0: 162 liveins: $sgpr0_sgpr1_sgpr2_sgpr3 163 164 ; GCN-LABEL: name: test_unmerge_values_s_s64_s_s64_s64_s_s192 165 ; GCN: liveins: $sgpr0_sgpr1_sgpr2_sgpr3 166 ; GCN: [[DEF:%[0-9]+]]:sgpr_192 = IMPLICIT_DEF 167 ; GCN: [[COPY:%[0-9]+]]:sreg_64 = COPY [[DEF]].sub0_sub1 168 ; GCN: [[COPY1:%[0-9]+]]:sreg_64 = COPY [[DEF]].sub2_sub3 169 ; GCN: [[COPY2:%[0-9]+]]:sreg_64 = COPY [[DEF]].sub4_sub5 170 ; GCN: S_ENDPGM 0, implicit [[COPY]], implicit [[COPY1]], implicit [[COPY2]] 171 %0:sgpr(s192) = G_IMPLICIT_DEF 172 %1:sgpr(s64), %2:sgpr(s64), %3:sgpr(s64) = G_UNMERGE_VALUES %0 173 S_ENDPGM 0, implicit %1, implicit %2, implicit %3 174... 175 176--- 177name: test_unmerge_values_rc_set_def_v_s32_v_s32_v_s64 178legalized: true 179regBankSelected: true 180tracksRegLiveness: true 181 182body: | 183 bb.0: 184 liveins: $vgpr0_vgpr1 185 186 ; GCN-LABEL: name: test_unmerge_values_rc_set_def_v_s32_v_s32_v_s64 187 ; GCN: liveins: $vgpr0_vgpr1 188 ; GCN: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1 189 ; GCN: [[COPY1:%[0-9]+]]:vgpr_32 = COPY [[COPY]].sub0 190 ; GCN: [[COPY2:%[0-9]+]]:vgpr_32 = COPY [[COPY]].sub1 191 ; GCN: S_ENDPGM 0, implicit [[COPY1]], implicit [[COPY2]] 192 %0:vgpr(s64) = COPY $vgpr0_vgpr1 193 %1:vgpr_32(s32), %2:vgpr_32(s32) = G_UNMERGE_VALUES %0 194 S_ENDPGM 0, implicit %1, implicit %2 195... 196 197--- 198name: test_unmerge_values_rc_set_use_v_s32_v_s32_v_s64 199legalized: true 200regBankSelected: true 201tracksRegLiveness: true 202 203body: | 204 bb.0: 205 liveins: $vgpr0_vgpr1 206 207 ; GCN-LABEL: name: test_unmerge_values_rc_set_use_v_s32_v_s32_v_s64 208 ; GCN: liveins: $vgpr0_vgpr1 209 ; GCN: [[COPY:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1 210 ; GCN: [[COPY1:%[0-9]+]]:vgpr_32 = COPY [[COPY]].sub0 211 ; GCN: [[COPY2:%[0-9]+]]:vgpr_32 = COPY [[COPY]].sub1 212 ; GCN: S_ENDPGM 0, implicit [[COPY1]], implicit [[COPY2]] 213 %0:vreg_64(s64) = COPY $vgpr0_vgpr1 214 %1:vgpr(s32), %2:vgpr(s32) = G_UNMERGE_VALUES %0 215 S_ENDPGM 0, implicit %1, implicit %2 216... 217 218--- 219name: test_unmerge_values_s_s256_s_s1024 220legalized: true 221regBankSelected: true 222tracksRegLiveness: true 223 224body: | 225 bb.0: 226 liveins: $sgpr0_sgpr1_sgpr2_sgpr3 227 228 ; GCN-LABEL: name: test_unmerge_values_s_s256_s_s1024 229 ; GCN: liveins: $sgpr0_sgpr1_sgpr2_sgpr3 230 ; GCN: [[DEF:%[0-9]+]]:sgpr_1024 = IMPLICIT_DEF 231 ; GCN: [[COPY:%[0-9]+]]:sgpr_256 = COPY [[DEF]].sub0_sub1_sub2_sub3_sub4_sub5_sub6_sub7 232 ; GCN: [[COPY1:%[0-9]+]]:sgpr_256 = COPY [[DEF]].sub8_sub9_sub10_sub11_sub12_sub13_sub14_sub15 233 ; GCN: [[COPY2:%[0-9]+]]:sgpr_256 = COPY [[DEF]].sub16_sub17_sub18_sub19_sub20_sub21_sub22_sub23 234 ; GCN: [[COPY3:%[0-9]+]]:sgpr_256 = COPY [[DEF]].sub24_sub25_sub26_sub27_sub28_sub29_sub30_sub31 235 ; GCN: S_ENDPGM 0, implicit [[COPY]], implicit [[COPY1]], implicit [[COPY2]], implicit [[COPY3]] 236 %0:sgpr(s1024) = G_IMPLICIT_DEF 237 %1:sgpr(s256), %2:sgpr(s256), %3:sgpr(s256), %4:sgpr(s256) = G_UNMERGE_VALUES %0 238 S_ENDPGM 0, implicit %1, implicit %2, implicit %3, implicit %4 239... 240 241--- 242 243name: test_unmerge_values_s_s512_s_s1024 244legalized: true 245regBankSelected: true 246tracksRegLiveness: true 247 248body: | 249 bb.0: 250 liveins: $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5_sgpr6_sgpr7_sgpr8_sgpr9_sgpr10_sgpr11_sgpr12_sgpr13_sgpr14_sgpr15_sgpr16_sgpr17_sgpr18_sgpr19_sgpr20_sgpr21_sgpr22_sgpr23_sgpr24_sgpr25_sgpr26_sgpr27_sgpr28_sgpr29_sgpr30_sgpr31 251 252 ; CHECK-LABEL: name: test_unmerge_s512_s1024 253 ; CHECK: [[COPY:%[0-9]+]]:_(s1024) = COPY $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5_sgpr6_sgpr7_sgpr8_sgpr9_sgpr10_sgpr11_sgpr12_sgpr13_sgpr14_sgpr15_sgpr16_sgpr17_sgpr18_sgpr19_sgpr20_sgpr21_sgpr22_sgpr23_sgpr24_sgpr25_sgpr26_sgpr27_sgpr28_sgpr29_sgpr30_sgpr31 254 ; CHECK: [[UV:%[0-9]+]]:_(s512), [[UV1:%[0-9]+]]:_(s512) = G_UNMERGE_VALUES [[COPY]](s1024) 255 ; CHECK: $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5_sgpr6_sgpr7_sgpr8_sgpr9_sgpr10_sgpr11_sgpr12_sgpr13_sgpr14_sgpr15 = COPY [[UV]](s512) 256 ; CHECK: $sgpr16_sgpr17_sgpr18_sgpr19_sgpr20_sgpr21_sgpr22_sgpr23_sgpr24_sgpr25_sgpr26_sgpr27_sgpr28_sgpr29_sgpr30_sgpr31 = COPY [[UV1]](s512) 257 ; GCN-LABEL: name: test_unmerge_values_s_s512_s_s1024 258 ; GCN: liveins: $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5_sgpr6_sgpr7_sgpr8_sgpr9_sgpr10_sgpr11_sgpr12_sgpr13_sgpr14_sgpr15_sgpr16_sgpr17_sgpr18_sgpr19_sgpr20_sgpr21_sgpr22_sgpr23_sgpr24_sgpr25_sgpr26_sgpr27_sgpr28_sgpr29_sgpr30_sgpr31 259 ; GCN: [[COPY:%[0-9]+]]:sgpr_1024 = COPY $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5_sgpr6_sgpr7_sgpr8_sgpr9_sgpr10_sgpr11_sgpr12_sgpr13_sgpr14_sgpr15_sgpr16_sgpr17_sgpr18_sgpr19_sgpr20_sgpr21_sgpr22_sgpr23_sgpr24_sgpr25_sgpr26_sgpr27_sgpr28_sgpr29_sgpr30_sgpr31 260 ; GCN: [[COPY1:%[0-9]+]]:sgpr_512 = COPY [[COPY]].sub0_sub1_sub2_sub3_sub4_sub5_sub6_sub7_sub8_sub9_sub10_sub11_sub12_sub13_sub14_sub15 261 ; GCN: [[COPY2:%[0-9]+]]:sgpr_512 = COPY [[COPY]].sub16_sub17_sub18_sub19_sub20_sub21_sub22_sub23_sub24_sub25_sub26_sub27_sub28_sub29_sub30_sub31 262 ; GCN: $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5_sgpr6_sgpr7_sgpr8_sgpr9_sgpr10_sgpr11_sgpr12_sgpr13_sgpr14_sgpr15 = COPY [[COPY1]] 263 ; GCN: $sgpr16_sgpr17_sgpr18_sgpr19_sgpr20_sgpr21_sgpr22_sgpr23_sgpr24_sgpr25_sgpr26_sgpr27_sgpr28_sgpr29_sgpr30_sgpr31 = COPY [[COPY2]] 264 %0:sgpr(s1024) = COPY $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5_sgpr6_sgpr7_sgpr8_sgpr9_sgpr10_sgpr11_sgpr12_sgpr13_sgpr14_sgpr15_sgpr16_sgpr17_sgpr18_sgpr19_sgpr20_sgpr21_sgpr22_sgpr23_sgpr24_sgpr25_sgpr26_sgpr27_sgpr28_sgpr29_sgpr30_sgpr31 265 %1:sgpr(s512), %2:sgpr(s512) = G_UNMERGE_VALUES %0 266 $sgpr0_sgpr1_sgpr2_sgpr3_sgpr4_sgpr5_sgpr6_sgpr7_sgpr8_sgpr9_sgpr10_sgpr11_sgpr12_sgpr13_sgpr14_sgpr15 = COPY %1 267 $sgpr16_sgpr17_sgpr18_sgpr19_sgpr20_sgpr21_sgpr22_sgpr23_sgpr24_sgpr25_sgpr26_sgpr27_sgpr28_sgpr29_sgpr30_sgpr31 = COPY %2 268... 269 270--- 271name: test_unmerge_s_v3s32_s_v12s32 272legalized: true 273regBankSelected: true 274tracksRegLiveness: true 275 276body: | 277 bb.0: 278 liveins: $sgpr0_sgpr1_sgpr2, $sgpr3_sgpr4_sgpr5, $sgpr6_sgpr7_sgpr8, $sgpr9_sgpr10_sgpr11 279 280 ; GCN-LABEL: name: test_unmerge_s_v3s32_s_v12s32 281 ; GCN: liveins: $sgpr0_sgpr1_sgpr2, $sgpr3_sgpr4_sgpr5, $sgpr6_sgpr7_sgpr8, $sgpr9_sgpr10_sgpr11 282 ; GCN: [[COPY:%[0-9]+]]:sgpr_96 = COPY $sgpr0_sgpr1_sgpr2 283 ; GCN: [[COPY1:%[0-9]+]]:sgpr_96 = COPY $sgpr3_sgpr4_sgpr5 284 ; GCN: [[COPY2:%[0-9]+]]:sgpr_96 = COPY $sgpr6_sgpr7_sgpr8 285 ; GCN: [[COPY3:%[0-9]+]]:sgpr_96 = COPY $sgpr9_sgpr10_sgpr11 286 ; GCN: [[REG_SEQUENCE:%[0-9]+]]:sgpr_512_with_sub0_sub1_sub2 = REG_SEQUENCE [[COPY]], %subreg.sub0_sub1_sub2, [[COPY1]], %subreg.sub3_sub4_sub5, [[COPY2]], %subreg.sub6_sub7_sub8, [[COPY3]], %subreg.sub9_sub10_sub11 287 ; GCN: [[COPY4:%[0-9]+]]:sgpr_96 = COPY [[REG_SEQUENCE]].sub0_sub1_sub2 288 ; GCN: [[COPY5:%[0-9]+]]:sgpr_96 = COPY [[REG_SEQUENCE]].sub3_sub4_sub5 289 ; GCN: [[COPY6:%[0-9]+]]:sgpr_96 = COPY [[REG_SEQUENCE]].sub6_sub7_sub8 290 ; GCN: [[COPY7:%[0-9]+]]:sgpr_96 = COPY [[REG_SEQUENCE]].sub9_sub10_sub11 291 ; GCN: $sgpr0_sgpr1_sgpr2 = COPY [[COPY4]] 292 ; GCN: $sgpr3_sgpr4_sgpr5 = COPY [[COPY5]] 293 ; GCN: $sgpr6_sgpr7_sgpr8 = COPY [[COPY6]] 294 ; GCN: $sgpr9_sgpr10_sgpr11 = COPY [[COPY7]] 295 %0:sgpr(<3 x s32>) = COPY $sgpr0_sgpr1_sgpr2 296 %1:sgpr(<3 x s32>) = COPY $sgpr3_sgpr4_sgpr5 297 %2:sgpr(<3 x s32>) = COPY $sgpr6_sgpr7_sgpr8 298 %3:sgpr(<3 x s32>) = COPY $sgpr9_sgpr10_sgpr11 299 %4:sgpr(<12 x s32>) = G_CONCAT_VECTORS %0, %1, %2, %3 300 %5:sgpr(<3 x s32>), %6:sgpr(<3 x s32>), %7:sgpr(<3 x s32>), %8:sgpr(<3 x s32>) = G_UNMERGE_VALUES %4 301 $sgpr0_sgpr1_sgpr2 = COPY %5 302 $sgpr3_sgpr4_sgpr5 = COPY %6 303 $sgpr6_sgpr7_sgpr8 = COPY %7 304 $sgpr9_sgpr10_sgpr11 = COPY %8 305 306... 307 308--- 309name: test_unmerge_v_v3s32_v_v12s32 310legalized: true 311regBankSelected: true 312tracksRegLiveness: true 313body: | 314 bb.0: 315 liveins: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5, $vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11 316 317 ; GCN-LABEL: name: test_unmerge_v_v3s32_v_v12s32 318 ; GCN: liveins: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5, $vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11 319 ; GCN: [[COPY:%[0-9]+]]:vreg_192 = COPY $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5 320 ; GCN: [[COPY1:%[0-9]+]]:vreg_192 = COPY $vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11 321 ; GCN: [[REG_SEQUENCE:%[0-9]+]]:vreg_512 = REG_SEQUENCE [[COPY]], %subreg.sub0_sub1_sub2_sub3_sub4_sub5, [[COPY1]], %subreg.sub6_sub7_sub8_sub9_sub10_sub11 322 ; GCN: [[COPY2:%[0-9]+]]:vreg_96 = COPY [[REG_SEQUENCE]].sub0_sub1_sub2 323 ; GCN: [[COPY3:%[0-9]+]]:vreg_96 = COPY [[REG_SEQUENCE]].sub3_sub4_sub5 324 ; GCN: [[COPY4:%[0-9]+]]:vreg_96 = COPY [[REG_SEQUENCE]].sub6_sub7_sub8 325 ; GCN: [[COPY5:%[0-9]+]]:vreg_96 = COPY [[REG_SEQUENCE]].sub9_sub10_sub11 326 ; GCN: $vgpr0_vgpr1_vgpr2 = COPY [[COPY2]] 327 ; GCN: $vgpr3_vgpr4_vgpr5 = COPY [[COPY3]] 328 ; GCN: $vgpr6_vgpr7_vgpr8 = COPY [[COPY4]] 329 ; GCN: $vgpr9_vgpr10_vgpr11 = COPY [[COPY5]] 330 %0:vgpr(<6 x s32>) = COPY $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5 331 %1:vgpr(<6 x s32>) = COPY $vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11 332 %2:vgpr(<12 x s32>) = G_CONCAT_VECTORS %0, %1 333 %3:vgpr(<3 x s32>), %4:vgpr(<3 x s32>), %5:vgpr(<3 x s32>), %6:vgpr(<3 x s32>) = G_UNMERGE_VALUES %2 334 $vgpr0_vgpr1_vgpr2 = COPY %3 335 $vgpr3_vgpr4_vgpr5 = COPY %4 336 $vgpr6_vgpr7_vgpr8 = COPY %5 337 $vgpr9_vgpr10_vgpr11 = COPY %6 338 339... 340