1# RUN: llc -march=amdgcn -mcpu=gfx908 -verify-machineinstrs -run-pass post-RA-hazard-rec %s -o - | FileCheck -check-prefix=GCN %s 2 3# GCN-LABEL: name: valu_write_vgpr_mfma_read 4# GCN: V_MOV_B32 5# GCN: V_MOV_B32 6# GCN-NEXT: S_NOP 1 7# GCN-NEXT: V_MFMA 8name: valu_write_vgpr_mfma_read 9body: | 10 bb.0: 11 $vgpr0 = V_MOV_B32_e32 1, implicit $exec 12 $vgpr1 = V_MOV_B32_e32 1, implicit $exec 13 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X1F32 killed $vgpr1, killed $vgpr0, killed $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec 14... 15--- 16 17# GCN-LABEL: name: valu_write_vgpr_accvgpr_write_read 18# GCN: V_MOV_B32 19# GCN-NEXT: S_NOP 1 20# GCN-NEXT: V_ACCVGPR_WRITE_B32 21name: valu_write_vgpr_accvgpr_write_read 22body: | 23 bb.0: 24 $vgpr0 = V_MOV_B32_e32 1, implicit $exec 25 $agpr0 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec 26... 27--- 28 29# GCN-LABEL: name: mfma_write_agpr_mfma_read_same_agpr 30# GCN: V_MFMA 31# GCN-NEXT: V_MFMA 32name: mfma_write_agpr_mfma_read_same_agpr 33body: | 34 bb.0: 35 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X1F32 killed $vgpr1, killed $vgpr0, killed $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec 36 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X1F32 killed $vgpr1, killed $vgpr0, killed $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec 37... 38--- 39 40# GCN-LABEL: name: mfma_write_agpr_mfma_read_overlap 41# GCN: V_MFMA 42# GCN-NEXT: S_NOP 1 43# GCN-NEXT: V_MFMA 44name: mfma_write_agpr_mfma_read_overlap 45body: | 46 bb.0: 47 $agpr1_agpr2_agpr3_agpr4 = V_MFMA_F32_4X4X1F32 killed $vgpr1, killed $vgpr0, killed $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec 48 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X1F32 killed $vgpr1, killed $vgpr0, killed $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec 49... 50--- 51 52# GCN-LABEL: name: mfma_write_agpr_mfma_read_partial 53# GCN: V_MFMA 54# GCN-NEXT: S_NOP 1 55# GCN-NEXT: V_MFMA 56name: mfma_write_agpr_mfma_read_partial 57body: | 58 bb.0: 59 $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15 = V_MFMA_F32_16X16X1F32 killed $vgpr1, killed $vgpr0, killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15, 0, 0, 0, implicit $mode, implicit $exec 60 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X1F32 killed $vgpr1, killed $vgpr0, killed $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec 61... 62--- 63 64# GCN-LABEL: name: mfma_write_agpr_mfma_srca_read_overlap 65# GCN: V_MFMA 66# GCN-NEXT: S_NOP 3 67# GCN-NEXT: V_MFMA 68name: mfma_write_agpr_mfma_srca_read_overlap 69body: | 70 bb.0: 71 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X1F32 killed $vgpr1, killed $vgpr0, killed $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec 72 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X1F32 killed $agpr1, killed $vgpr0, killed $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec 73... 74--- 75 76# GCN-LABEL: name: mfma_write_agpr_mfma_srcb_read_overlap 77# GCN: V_MFMA 78# GCN-NEXT: S_NOP 3 79# GCN-NEXT: V_MFMA 80name: mfma_write_agpr_mfma_srcb_read_overlap 81body: | 82 bb.0: 83 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X1F32 killed $vgpr1, killed $vgpr0, killed $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec 84 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X1F32 killed $vgpr1, killed $agpr0, killed $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec 85... 86--- 87 88# GCN-LABEL: name: mfma_4x4_write_agpr_accvgpr_read 89# GCN: V_MFMA_F32_4X4X1F32 90# GCN-NEXT: S_NOP 3 91# GCN-NEXT: V_ACCVGPR_READ_B32 92name: mfma_4x4_write_agpr_accvgpr_read 93body: | 94 bb.0: 95 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X1F32 killed $vgpr1, killed $vgpr0, killed $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec 96 $vgpr0 = V_ACCVGPR_READ_B32 killed $agpr0, implicit $exec 97... 98--- 99 100# GCN-LABEL: name: mfma_16x16_write_agpr_accvgpr_read 101# GCN: V_MFMA_F32_16X16X1F32 102# GCN-NEXT: S_NOP 7 103# GCN-NEXT: S_NOP 1 104# GCN-NEXT: V_ACCVGPR_READ_B32 105name: mfma_16x16_write_agpr_accvgpr_read 106body: | 107 bb.0: 108 $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15 = V_MFMA_F32_16X16X1F32 killed $vgpr1, killed $vgpr0, killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15, 0, 0, 0, implicit $mode, implicit $exec 109 $vgpr0 = V_ACCVGPR_READ_B32 killed $agpr0, implicit $exec 110... 111--- 112 113# GCN-LABEL: name: mfma_32x32_write_agpr_accvgpr_read 114# GCN: V_MFMA_F32_32X32X2F32 115# GCN-NEXT: S_NOP 7 116# GCN-NEXT: S_NOP 7 117# GCN-NEXT: S_NOP 1 118# GCN-NEXT: V_ACCVGPR_READ_B32 119name: mfma_32x32_write_agpr_accvgpr_read 120body: | 121 bb.0: 122 $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15 = V_MFMA_F32_32X32X2F32 killed $vgpr1, killed $vgpr0, killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15, 0, 0, 0, implicit $mode, implicit $exec 123 $vgpr0 = V_ACCVGPR_READ_B32 killed $agpr0, implicit $exec 124... 125--- 126 127# GCN-LABEL: name: mfma_4x4_write_agpr_accvgpr_write 128# GCN: V_MFMA_F32_4X4X1F32 129# GCN-NEXT: S_NOP 0 130# GCN-NEXT: V_ACCVGPR_WRITE_B32 131name: mfma_4x4_write_agpr_accvgpr_write 132body: | 133 bb.0: 134 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X1F32 killed $vgpr1, killed $vgpr0, killed $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec 135 $agpr0 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec 136... 137--- 138 139# GCN-LABEL: name: mfma_16x16_write_agpr_accvgpr_write 140# GCN: V_MFMA_F32_16X16X1F32 141# GCN-NEXT: S_NOP 6 142# GCN-NEXT: V_ACCVGPR_WRITE_B32 143name: mfma_16x16_write_agpr_accvgpr_write 144body: | 145 bb.0: 146 $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15 = V_MFMA_F32_16X16X1F32 killed $vgpr1, killed $vgpr0, killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15, 0, 0, 0, implicit $mode, implicit $exec 147 $agpr0 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec 148... 149--- 150 151# GCN-LABEL: name: mfma_32x32_write_agpr_accvgpr_write 152# GCN: V_MFMA_F32_32X32X2F32 153# GCN-NEXT: S_NOP 7 154# GCN-NEXT: S_NOP 6 155# GCN-NEXT: V_ACCVGPR_WRITE_B32 156name: mfma_32x32_write_agpr_accvgpr_write 157body: | 158 bb.0: 159 $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15 = V_MFMA_F32_32X32X2F32 killed $vgpr1, killed $vgpr0, killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15, 0, 0, 0, implicit $mode, implicit $exec 160 $agpr0 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec 161... 162--- 163 164# GCN-LABEL: name: mfma_4x4_read_srcc_accvgpr_write 165# GCN: V_MFMA_F32_4X4X1F32 166# GCN-NEXT: V_ACCVGPR_WRITE_B32 167name: mfma_4x4_read_srcc_accvgpr_write 168body: | 169 bb.0: 170 $agpr4_agpr5_agpr6_agpr7 = V_MFMA_F32_4X4X1F32 killed $vgpr1, killed $vgpr0, killed $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec 171 $agpr0 = V_ACCVGPR_WRITE_B32 killed $vgpr2, implicit $exec 172... 173--- 174 175# GCN-LABEL: name: mfma_16x16_read_srcc_accvgpr_write 176# GCN: V_MFMA_F32_16X16X1F32 177# GCN-NEXT: S_NOP 4 178# GCN-NEXT: V_ACCVGPR_WRITE_B32 179name: mfma_16x16_read_srcc_accvgpr_write 180body: | 181 bb.0: 182 $agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31 = V_MFMA_F32_16X16X1F32 killed $vgpr1, killed $vgpr0, killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15, 0, 0, 0, implicit $mode, implicit $exec 183 $agpr0 = V_ACCVGPR_WRITE_B32 killed $vgpr2, implicit $exec 184... 185--- 186 187# GCN-LABEL: name: mfma_32x32_read_srcc_accvgpr_write 188# GCN: V_MFMA_F32_32X32X2F32 189# GCN-NEXT: S_NOP 7 190# GCN-NEXT: S_NOP 4 191# GCN-NEXT: V_ACCVGPR_WRITE_B32 192name: mfma_32x32_read_srcc_accvgpr_write 193body: | 194 bb.0: 195 $agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31 = V_MFMA_F32_32X32X2F32 killed $vgpr1, killed $vgpr0, killed $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15, 0, 0, 0, implicit $mode, implicit $exec 196 $agpr0 = V_ACCVGPR_WRITE_B32 killed $vgpr2, implicit $exec 197... 198--- 199 200# GCN-LABEL: name: accvgpr_read_write_vgpr_valu_read 201# GCN: V_ACCVGPR_READ_B32 202# GCN-NEXT: V_ADD_F32 203name: accvgpr_read_write_vgpr_valu_read 204body: | 205 bb.0: 206 $vgpr0 = V_ACCVGPR_READ_B32 killed $agpr4, implicit $exec 207 $vgpr1 = V_ADD_F32_e32 0, killed $vgpr0, implicit $mode, implicit $exec 208... 209--- 210 211# GCN-LABEL: name: accvgpr_read_write_vgpr_mfma_read 212# GCN: V_ACCVGPR_READ_B32 213# GCN-NEXT: S_NOP 1 214# GCN-NEXT: V_MFMA 215name: accvgpr_read_write_vgpr_mfma_read 216body: | 217 bb.0: 218 $vgpr0 = V_ACCVGPR_READ_B32 killed $agpr4, implicit $exec 219 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X1F32 killed $vgpr0, killed $vgpr0, killed $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec 220... 221--- 222 223# GCN-LABEL: name: accvgpr_read_write_vgpr_accvgpr_write_read 224# GCN: V_ACCVGPR_READ_B32 225# GCN-NEXT: S_NOP 1 226# GCN-NEXT: V_ACCVGPR_WRITE_B32 227name: accvgpr_read_write_vgpr_accvgpr_write_read 228body: | 229 bb.0: 230 $vgpr0 = V_ACCVGPR_READ_B32 killed $agpr1, implicit $exec 231 $agpr0 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec 232... 233--- 234 235# GCN-LABEL: name: accvgpr_write_agpr_mfma_read_srcc 236# GCN: V_ACCVGPR_WRITE_B32 237# GCN-NEXT: S_NOP 0 238# GCN-NEXT: V_MFMA 239name: accvgpr_write_agpr_mfma_read_srcc 240body: | 241 bb.0: 242 $agpr0 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec 243 $agpr4_agpr5_agpr6_agpr7 = V_MFMA_F32_4X4X1F32 killed $vgpr1, killed $vgpr2, killed $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec 244... 245--- 246 247# GCN-LABEL: name: accvgpr_write_agpr_mfma_read_srca 248# GCN: V_ACCVGPR_WRITE_B32 249# GCN-NEXT: S_NOP 2 250# GCN-NEXT: V_MFMA 251name: accvgpr_write_agpr_mfma_read_srca 252body: | 253 bb.0: 254 $agpr8 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec 255 $agpr4_agpr5_agpr6_agpr7 = V_MFMA_F32_4X4X1F32 killed $agpr8, killed $vgpr1, killed $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec 256... 257--- 258 259# GCN-LABEL: name: accvgpr_write_agpr_mfma_read_srcb 260# GCN: V_ACCVGPR_WRITE_B32 261# GCN-NEXT: S_NOP 2 262# GCN-NEXT: V_MFMA 263name: accvgpr_write_agpr_mfma_read_srcb 264body: | 265 bb.0: 266 $agpr8 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec 267 $agpr4_agpr5_agpr6_agpr7 = V_MFMA_F32_4X4X1F32 killed $vgpr1, killed $agpr8, killed $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec 268... 269--- 270 271# GCN-LABEL: name: accvgpr_write_agpr_accvgpr_read 272# GCN: V_ACCVGPR_WRITE_B32 273# GCN-NEXT: S_NOP 2 274# GCN-NEXT: V_ACCVGPR_READ_B32 275name: accvgpr_write_agpr_accvgpr_read 276body: | 277 bb.0: 278 $agpr0 = V_ACCVGPR_WRITE_B32 killed $vgpr0, implicit $exec 279 $vgpr1 = V_ACCVGPR_READ_B32 killed $agpr0, implicit $exec 280... 281--- 282 283# GCN-LABEL: name: vcmpx_write_exec_mfma 284# GCN: V_CMPX_EQ_I32_e32 285# GCN-NEXT: S_NOP 3 286# GCN-NEXT: V_MFMA 287name: vcmpx_write_exec_mfma 288body: | 289 bb.0: 290 implicit $exec, implicit $vcc = V_CMPX_EQ_I32_e32 $vgpr0, $vgpr1, implicit $exec 291 $agpr4_agpr5_agpr6_agpr7 = V_MFMA_F32_4X4X1F32 killed $agpr8, killed $vgpr1, killed $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec 292... 293--- 294 295# GCN-LABEL: name: vcmpx_write_exec_accvgpr_write 296# GCN: V_CMPX_EQ_I32_e32 297# GCN-NEXT: S_NOP 3 298# GCN-NEXT: V_ACCVGPR_WRITE_B32 299name: vcmpx_write_exec_accvgpr_write 300body: | 301 bb.0: 302 implicit $exec, implicit $vcc = V_CMPX_EQ_I32_e32 $vgpr0, $vgpr1, implicit $exec 303 $agpr0 = V_ACCVGPR_WRITE_B32 killed $vgpr2, implicit $exec 304... 305--- 306 307# GCN-LABEL: name: accvgpr_read_write_vgpr_load 308# GCN: V_ACCVGPR_READ_B32 309# GCN-NEXT: S_NOP 1 310# GCN-NEXT: FLAT_LOAD_DWORD 311name: accvgpr_read_write_vgpr_load 312body: | 313 bb.0: 314 $vgpr0 = V_ACCVGPR_READ_B32 killed $agpr0, implicit $exec 315 $vgpr3 = FLAT_LOAD_DWORD $vgpr0_vgpr1, 0, 0, 0, 0, implicit $exec, implicit $flat_scr 316... 317--- 318 319# GCN-LABEL: name: accvgpr_read_write_vgpr_ds_permute 320# GCN: V_ACCVGPR_READ_B32 321# GCN-NEXT: S_NOP 1 322# GCN-NEXT: DS_PERMUTE_B32 323name: accvgpr_read_write_vgpr_ds_permute 324body: | 325 bb.0: 326 $vgpr0 = V_ACCVGPR_READ_B32 killed $agpr0, implicit $exec 327 $vgpr1 = DS_PERMUTE_B32 $vgpr0, $vgpr1, 0, implicit $exec 328... 329--- 330 331# GCN-LABEL: name: accvgpr_read_write_vgpr_flat_load 332# GCN: V_ACCVGPR_READ_B32 333# GCN-NEXT: S_NOP 1 334# GCN-NEXT: FLAT_LOAD_DWORD 335name: accvgpr_read_write_vgpr_flat_load 336body: | 337 bb.0: 338 $vgpr0 = V_ACCVGPR_READ_B32 killed $agpr0, implicit $exec 339 $vgpr4 = FLAT_LOAD_DWORD $vgpr0_vgpr1, 0, 0, 0, 0, implicit $exec, implicit $flat_scr 340... 341--- 342 343# GCN-LABEL: name: accvgpr_read_write_vgpr_buffer_store 344# GCN: V_ACCVGPR_READ_B32 345# GCN-NEXT: S_NOP 1 346# GCN-NEXT: BUFFER_STORE_DWORD_OFFSET 347name: accvgpr_read_write_vgpr_buffer_store 348body: | 349 bb.0: 350 $vgpr0 = V_ACCVGPR_READ_B32 killed $agpr0, implicit $exec 351 BUFFER_STORE_DWORD_OFFSET $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, 0, 0, 0, implicit $exec 352... 353--- 354 355# GCN-LABEL: name: accvgpr_read_write_vgpr_store 356# GCN: V_ACCVGPR_READ_B32 357# GCN-NEXT: S_NOP 1 358# GCN-NEXT: DS_WRITE_B32 359name: accvgpr_read_write_vgpr_store 360body: | 361 bb.0: 362 $vgpr0 = V_ACCVGPR_READ_B32 killed $agpr0, implicit $exec 363 DS_WRITE_B32 $vgpr0, $vgpr1, 0, 0, implicit $m0, implicit $exec 364... 365--- 366 367# GCN-LABEL: name: valu_write_vgpr_accvgpr_read_load_no_dependency 368# GCN: V_MOV_B32 369# GCN-NEXT: V_ACCVGPR_READ_B32 370# GCN-NEXT: FLAT_LOAD_DWORD 371name: valu_write_vgpr_accvgpr_read_load_no_dependency 372body: | 373 bb.0: 374 $vgpr0 = V_MOV_B32_e32 1, implicit $exec 375 $vgpr1 = V_ACCVGPR_READ_B32 killed $agpr0, implicit $exec 376 $vgpr4 = FLAT_LOAD_DWORD $vgpr2_vgpr3, 0, 0, 0, 0, implicit $exec, implicit $flat_scr 377... 378--- 379 380# GCN-LABEL: name: valu_write_vgpr_accvgpr_read_load_1_and_3_depend 381# GCN: V_MOV_B32 382# GCN-NEXT: V_ACCVGPR_READ_B32 383# GCN-NEXT: S_NOP 0 384# GCN-NEXT: FLAT_LOAD_DWORD 385name: valu_write_vgpr_accvgpr_read_load_1_and_3_depend 386body: | 387 bb.0: 388 $vgpr0 = V_MOV_B32_e32 1, implicit $exec 389 $vgpr2 = V_ACCVGPR_READ_B32 killed $agpr0, implicit $exec 390 $vgpr4 = FLAT_LOAD_DWORD $vgpr0_vgpr1, 0, 0, 0, 0, implicit $exec, implicit $flat_scr 391... 392--- 393 394# GCN-LABEL: name: valu_write_vgpr_accvgpr_write_load_1_and_3_depend 395# GCN: V_MOV_B32 396# GCN-NEXT: V_ACCVGPR_WRITE_B32 397# GCN-NEXT: S_NOP 0 398# GCN-NEXT: FLAT_LOAD_DWORD 399name: valu_write_vgpr_accvgpr_write_load_1_and_3_depend 400body: | 401 bb.0: 402 $vgpr0 = V_MOV_B32_e32 1, implicit $exec 403 $agpr0 = V_ACCVGPR_WRITE_B32 killed $vgpr2, implicit $exec 404 $vgpr4 = FLAT_LOAD_DWORD $vgpr0_vgpr1, 0, 0, 0, 0, implicit $exec, implicit $flat_scr 405... 406--- 407 408# GCN-LABEL: name: valu_write_vgpr_accvgpr_read_load_2_and_3_depend 409# GCN: V_MOV_B32 410# GCN-NEXT: V_ACCVGPR_READ_B32 411# GCN-NEXT: S_NOP 1 412# GCN-NEXT: FLAT_LOAD_DWORD 413name: valu_write_vgpr_accvgpr_read_load_2_and_3_depend 414body: | 415 bb.0: 416 $vgpr0 = V_MOV_B32_e32 1, implicit $exec 417 $vgpr2 = V_ACCVGPR_READ_B32 killed $agpr0, implicit $exec 418 $vgpr4 = FLAT_LOAD_DWORD $vgpr2_vgpr3, 0, 0, 0, 0, implicit $exec, implicit $flat_scr 419... 420--- 421