1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py 2# RUN: llc -march=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize64 -verify-machineinstrs -run-pass post-RA-hazard-rec -o - %s | FileCheck -check-prefix=GCN %s 3 4--- 5name: partial_forwarding_1_hazard 6body: | 7 bb.0: 8 ; GCN-LABEL: name: partial_forwarding_1_hazard 9 ; GCN: $vgpr0 = V_MOV_B32_e32 0, implicit $exec 10 ; GCN-NEXT: $exec = S_MOV_B64 -1 11 ; GCN-NEXT: $vgpr1 = V_MOV_B32_e32 0, implicit $exec 12 ; GCN-NEXT: S_WAITCNT_DEPCTR 4095 13 ; GCN-NEXT: $vgpr2 = V_ADD_F32_e32 $vgpr0, $vgpr1, implicit $mode, implicit $exec 14 ; GCN-NEXT: S_ENDPGM 0 15 $vgpr0 = V_MOV_B32_e32 0, implicit $exec 16 $exec = S_MOV_B64 -1 17 $vgpr1 = V_MOV_B32_e32 0, implicit $exec 18 $vgpr2 = V_ADD_F32_e32 $vgpr0, $vgpr1, implicit $mode, implicit $exec 19 S_ENDPGM 0 20... 21 22--- 23name: partial_forwarding_2_hazard 24body: | 25 bb.0: 26 ; GCN-LABEL: name: partial_forwarding_2_hazard 27 ; GCN: $vgpr0 = V_MOV_B32_e32 0, implicit $exec 28 ; GCN-NEXT: $sgpr0 = S_MOV_B32 0 29 ; GCN-NEXT: $sgpr1 = S_MOV_B32 0 30 ; GCN-NEXT: $sgpr2 = S_MOV_B32 0 31 ; GCN-NEXT: $exec = S_MOV_B64 -1 32 ; GCN-NEXT: $sgpr3 = S_MOV_B32 0 33 ; GCN-NEXT: $sgpr4 = S_MOV_B32 0 34 ; GCN-NEXT: $sgpr5 = S_MOV_B32 0 35 ; GCN-NEXT: $vgpr1 = V_MOV_B32_e32 0, implicit $exec 36 ; GCN-NEXT: $sgpr6 = S_MOV_B32 0 37 ; GCN-NEXT: $sgpr7 = S_MOV_B32 0 38 ; GCN-NEXT: $sgpr8 = S_MOV_B32 0 39 ; GCN-NEXT: $sgpr9 = S_MOV_B32 0 40 ; GCN-NEXT: $sgpr10 = S_MOV_B32 0 41 ; GCN-NEXT: S_WAITCNT_DEPCTR 4095 42 ; GCN-NEXT: $vgpr2 = V_ADD_F32_e32 $vgpr0, $vgpr1, implicit $mode, implicit $exec 43 ; GCN-NEXT: S_ENDPGM 0 44 $vgpr0 = V_MOV_B32_e32 0, implicit $exec 45 $sgpr0 = S_MOV_B32 0 46 $sgpr1 = S_MOV_B32 0 47 $sgpr2 = S_MOV_B32 0 48 $exec = S_MOV_B64 -1 49 $sgpr3 = S_MOV_B32 0 50 $sgpr4 = S_MOV_B32 0 51 $sgpr5 = S_MOV_B32 0 52 $vgpr1 = V_MOV_B32_e32 0, implicit $exec 53 $sgpr6 = S_MOV_B32 0 54 $sgpr7 = S_MOV_B32 0 55 $sgpr8 = S_MOV_B32 0 56 $sgpr9 = S_MOV_B32 0 57 $sgpr10 = S_MOV_B32 0 58 $vgpr2 = V_ADD_F32_e32 $vgpr0, $vgpr1, implicit $mode, implicit $exec 59 S_ENDPGM 0 60... 61 62--- 63name: partial_forwarding_3_hazard 64body: | 65 bb.0: 66 ; GCN-LABEL: name: partial_forwarding_3_hazard 67 ; GCN: $vgpr0 = V_MOV_B32_e32 0, implicit $exec 68 ; GCN-NEXT: $vgpr10 = V_MOV_B32_e32 0, implicit $exec 69 ; GCN-NEXT: $exec = S_MOV_B64 -1 70 ; GCN-NEXT: $vgpr11 = V_MOV_B32_e32 0, implicit $exec 71 ; GCN-NEXT: $vgpr1 = V_MOV_B32_e32 0, implicit $exec 72 ; GCN-NEXT: $vgpr12 = V_MOV_B32_e32 0, implicit $exec 73 ; GCN-NEXT: $vgpr13 = V_MOV_B32_e32 0, implicit $exec 74 ; GCN-NEXT: $vgpr14 = V_MOV_B32_e32 0, implicit $exec 75 ; GCN-NEXT: $vgpr15 = V_MOV_B32_e32 0, implicit $exec 76 ; GCN-NEXT: S_WAITCNT_DEPCTR 4095 77 ; GCN-NEXT: $vgpr2 = V_ADD_F32_e32 $vgpr0, $vgpr1, implicit $mode, implicit $exec 78 ; GCN-NEXT: S_ENDPGM 0 79 $vgpr0 = V_MOV_B32_e32 0, implicit $exec 80 $vgpr10 = V_MOV_B32_e32 0, implicit $exec 81 $exec = S_MOV_B64 -1 82 $vgpr11 = V_MOV_B32_e32 0, implicit $exec 83 $vgpr1 = V_MOV_B32_e32 0, implicit $exec 84 $vgpr12 = V_MOV_B32_e32 0, implicit $exec 85 $vgpr13 = V_MOV_B32_e32 0, implicit $exec 86 $vgpr14 = V_MOV_B32_e32 0, implicit $exec 87 $vgpr15 = V_MOV_B32_e32 0, implicit $exec 88 $vgpr2 = V_ADD_F32_e32 $vgpr0, $vgpr1, implicit $mode, implicit $exec 89 S_ENDPGM 0 90... 91 92--- 93name: partial_forwarding_3_no_hazard_1 94body: | 95 bb.0: 96 ; GCN-LABEL: name: partial_forwarding_3_no_hazard_1 97 ; GCN: $vgpr0 = V_MOV_B32_e32 0, implicit $exec 98 ; GCN-NEXT: $vgpr10 = V_MOV_B32_e32 0, implicit $exec 99 ; GCN-NEXT: $vgpr20 = V_MOV_B32_e32 0, implicit $exec 100 ; GCN-NEXT: $exec = S_MOV_B64 -1 101 ; GCN-NEXT: $vgpr11 = V_MOV_B32_e32 0, implicit $exec 102 ; GCN-NEXT: $vgpr1 = V_MOV_B32_e32 0, implicit $exec 103 ; GCN-NEXT: $vgpr12 = V_MOV_B32_e32 0, implicit $exec 104 ; GCN-NEXT: $vgpr13 = V_MOV_B32_e32 0, implicit $exec 105 ; GCN-NEXT: $vgpr14 = V_MOV_B32_e32 0, implicit $exec 106 ; GCN-NEXT: $vgpr15 = V_MOV_B32_e32 0, implicit $exec 107 ; GCN-NEXT: $vgpr2 = V_ADD_F32_e32 $vgpr0, $vgpr1, implicit $mode, implicit $exec 108 ; GCN-NEXT: S_ENDPGM 0 109 $vgpr0 = V_MOV_B32_e32 0, implicit $exec 110 $vgpr10 = V_MOV_B32_e32 0, implicit $exec 111 $vgpr20 = V_MOV_B32_e32 0, implicit $exec 112 $exec = S_MOV_B64 -1 113 $vgpr11 = V_MOV_B32_e32 0, implicit $exec 114 $vgpr1 = V_MOV_B32_e32 0, implicit $exec 115 $vgpr12 = V_MOV_B32_e32 0, implicit $exec 116 $vgpr13 = V_MOV_B32_e32 0, implicit $exec 117 $vgpr14 = V_MOV_B32_e32 0, implicit $exec 118 $vgpr15 = V_MOV_B32_e32 0, implicit $exec 119 $vgpr2 = V_ADD_F32_e32 $vgpr0, $vgpr1, implicit $mode, implicit $exec 120 S_ENDPGM 0 121... 122 123--- 124name: partial_forwarding_3_no_hazard_2 125body: | 126 bb.0: 127 ; GCN-LABEL: name: partial_forwarding_3_no_hazard_2 128 ; GCN: $vgpr0 = V_MOV_B32_e32 0, implicit $exec 129 ; GCN-NEXT: $vgpr10 = V_MOV_B32_e32 0, implicit $exec 130 ; GCN-NEXT: $exec = S_MOV_B64 -1 131 ; GCN-NEXT: $vgpr11 = V_MOV_B32_e32 0, implicit $exec 132 ; GCN-NEXT: $vgpr20 = V_MOV_B32_e32 0, implicit $exec 133 ; GCN-NEXT: $vgpr1 = V_MOV_B32_e32 0, implicit $exec 134 ; GCN-NEXT: $vgpr12 = V_MOV_B32_e32 0, implicit $exec 135 ; GCN-NEXT: $vgpr13 = V_MOV_B32_e32 0, implicit $exec 136 ; GCN-NEXT: $vgpr14 = V_MOV_B32_e32 0, implicit $exec 137 ; GCN-NEXT: $vgpr15 = V_MOV_B32_e32 0, implicit $exec 138 ; GCN-NEXT: $vgpr2 = V_ADD_F32_e32 $vgpr0, $vgpr1, implicit $mode, implicit $exec 139 ; GCN-NEXT: S_ENDPGM 0 140 $vgpr0 = V_MOV_B32_e32 0, implicit $exec 141 $vgpr10 = V_MOV_B32_e32 0, implicit $exec 142 $exec = S_MOV_B64 -1 143 $vgpr11 = V_MOV_B32_e32 0, implicit $exec 144 $vgpr20 = V_MOV_B32_e32 0, implicit $exec 145 $vgpr1 = V_MOV_B32_e32 0, implicit $exec 146 $vgpr12 = V_MOV_B32_e32 0, implicit $exec 147 $vgpr13 = V_MOV_B32_e32 0, implicit $exec 148 $vgpr14 = V_MOV_B32_e32 0, implicit $exec 149 $vgpr15 = V_MOV_B32_e32 0, implicit $exec 150 $vgpr2 = V_ADD_F32_e32 $vgpr0, $vgpr1, implicit $mode, implicit $exec 151 S_ENDPGM 0 152... 153 154--- 155name: partial_forwarding_3_no_hazard_3 156body: | 157 bb.0: 158 ; GCN-LABEL: name: partial_forwarding_3_no_hazard_3 159 ; GCN: $vgpr0 = V_MOV_B32_e32 0, implicit $exec 160 ; GCN-NEXT: $vgpr10 = V_MOV_B32_e32 0, implicit $exec 161 ; GCN-NEXT: $exec = S_MOV_B64 -1 162 ; GCN-NEXT: $vgpr11 = V_MOV_B32_e32 0, implicit $exec 163 ; GCN-NEXT: $vgpr1 = V_MOV_B32_e32 0, implicit $exec 164 ; GCN-NEXT: $vgpr12 = V_MOV_B32_e32 0, implicit $exec 165 ; GCN-NEXT: $vgpr13 = V_MOV_B32_e32 0, implicit $exec 166 ; GCN-NEXT: $vgpr14 = V_MOV_B32_e32 0, implicit $exec 167 ; GCN-NEXT: $vgpr15 = V_MOV_B32_e32 0, implicit $exec 168 ; GCN-NEXT: $vgpr20 = V_MOV_B32_e32 0, implicit $exec 169 ; GCN-NEXT: $vgpr2 = V_ADD_F32_e32 $vgpr0, $vgpr1, implicit $mode, implicit $exec 170 ; GCN-NEXT: S_ENDPGM 0 171 $vgpr0 = V_MOV_B32_e32 0, implicit $exec 172 $vgpr10 = V_MOV_B32_e32 0, implicit $exec 173 $exec = S_MOV_B64 -1 174 $vgpr11 = V_MOV_B32_e32 0, implicit $exec 175 $vgpr1 = V_MOV_B32_e32 0, implicit $exec 176 $vgpr12 = V_MOV_B32_e32 0, implicit $exec 177 $vgpr13 = V_MOV_B32_e32 0, implicit $exec 178 $vgpr14 = V_MOV_B32_e32 0, implicit $exec 179 $vgpr15 = V_MOV_B32_e32 0, implicit $exec 180 $vgpr20 = V_MOV_B32_e32 0, implicit $exec 181 $vgpr2 = V_ADD_F32_e32 $vgpr0, $vgpr1, implicit $mode, implicit $exec 182 S_ENDPGM 0 183... 184 185--- 186name: partial_forwarding_4_hazard 187body: | 188 bb.0: 189 ; GCN-LABEL: name: partial_forwarding_4_hazard 190 ; GCN: $vgpr0 = V_MOV_B32_e32 0, implicit $exec 191 ; GCN-NEXT: $exec = S_MOV_B64 -1 192 ; GCN-NEXT: $vgpr10 = V_MOV_B32_e32 0, implicit $exec 193 ; GCN-NEXT: $vgpr11 = V_MOV_B32_e32 0, implicit $exec 194 ; GCN-NEXT: $vgpr1 = V_MOV_B32_e32 0, implicit $exec 195 ; GCN-NEXT: $vgpr12 = V_MOV_B32_e32 0, implicit $exec 196 ; GCN-NEXT: $vgpr13 = V_MOV_B32_e32 0, implicit $exec 197 ; GCN-NEXT: $vgpr14 = V_MOV_B32_e32 0, implicit $exec 198 ; GCN-NEXT: $vgpr15 = V_MOV_B32_e32 0, implicit $exec 199 ; GCN-NEXT: S_WAITCNT_DEPCTR 4095 200 ; GCN-NEXT: $vgpr2 = V_ADD_F32_e32 $vgpr0, $vgpr1, implicit $mode, implicit $exec 201 ; GCN-NEXT: S_ENDPGM 0 202 $vgpr0 = V_MOV_B32_e32 0, implicit $exec 203 $exec = S_MOV_B64 -1 204 $vgpr10 = V_MOV_B32_e32 0, implicit $exec 205 $vgpr11 = V_MOV_B32_e32 0, implicit $exec 206 $vgpr1 = V_MOV_B32_e32 0, implicit $exec 207 $vgpr12 = V_MOV_B32_e32 0, implicit $exec 208 $vgpr13 = V_MOV_B32_e32 0, implicit $exec 209 $vgpr14 = V_MOV_B32_e32 0, implicit $exec 210 $vgpr15 = V_MOV_B32_e32 0, implicit $exec 211 $vgpr2 = V_ADD_F32_e32 $vgpr0, $vgpr1, implicit $mode, implicit $exec 212 S_ENDPGM 0 213... 214 215--- 216name: partial_forwarding_4_no_hazard 217body: | 218 bb.0: 219 ; GCN-LABEL: name: partial_forwarding_4_no_hazard 220 ; GCN: $vgpr0 = V_MOV_B32_e32 0, implicit $exec 221 ; GCN-NEXT: $exec = S_MOV_B64 -1 222 ; GCN-NEXT: $vgpr10 = V_MOV_B32_e32 0, implicit $exec 223 ; GCN-NEXT: $vgpr11 = V_MOV_B32_e32 0, implicit $exec 224 ; GCN-NEXT: $vgpr21 = V_MOV_B32_e32 0, implicit $exec 225 ; GCN-NEXT: $vgpr1 = V_MOV_B32_e32 0, implicit $exec 226 ; GCN-NEXT: $vgpr12 = V_MOV_B32_e32 0, implicit $exec 227 ; GCN-NEXT: $vgpr13 = V_MOV_B32_e32 0, implicit $exec 228 ; GCN-NEXT: $vgpr14 = V_MOV_B32_e32 0, implicit $exec 229 ; GCN-NEXT: $vgpr15 = V_MOV_B32_e32 0, implicit $exec 230 ; GCN-NEXT: $vgpr2 = V_ADD_F32_e32 $vgpr0, $vgpr1, implicit $mode, implicit $exec 231 ; GCN-NEXT: S_ENDPGM 0 232 $vgpr0 = V_MOV_B32_e32 0, implicit $exec 233 $exec = S_MOV_B64 -1 234 $vgpr10 = V_MOV_B32_e32 0, implicit $exec 235 $vgpr11 = V_MOV_B32_e32 0, implicit $exec 236 $vgpr21 = V_MOV_B32_e32 0, implicit $exec 237 $vgpr1 = V_MOV_B32_e32 0, implicit $exec 238 $vgpr12 = V_MOV_B32_e32 0, implicit $exec 239 $vgpr13 = V_MOV_B32_e32 0, implicit $exec 240 $vgpr14 = V_MOV_B32_e32 0, implicit $exec 241 $vgpr15 = V_MOV_B32_e32 0, implicit $exec 242 $vgpr2 = V_ADD_F32_e32 $vgpr0, $vgpr1, implicit $mode, implicit $exec 243 S_ENDPGM 0 244... 245 246--- 247name: partial_forwarding_5_hazard 248body: | 249 bb.0: 250 ; GCN-LABEL: name: partial_forwarding_5_hazard 251 ; GCN: $vgpr0 = V_MOV_B32_e32 0, implicit $exec 252 ; GCN-NEXT: $vgpr10 = V_MOV_B32_e32 0, implicit $exec 253 ; GCN-NEXT: $vgpr11 = V_MOV_B32_e32 0, implicit $exec 254 ; GCN-NEXT: $exec = S_MOV_B64 -1 255 ; GCN-NEXT: $vgpr1 = V_MOV_B32_e32 0, implicit $exec 256 ; GCN-NEXT: $vgpr12 = V_MOV_B32_e32 0, implicit $exec 257 ; GCN-NEXT: $vgpr13 = V_MOV_B32_e32 0, implicit $exec 258 ; GCN-NEXT: $vgpr14 = V_MOV_B32_e32 0, implicit $exec 259 ; GCN-NEXT: $vgpr15 = V_MOV_B32_e32 0, implicit $exec 260 ; GCN-NEXT: S_WAITCNT_DEPCTR 4095 261 ; GCN-NEXT: $vgpr2 = V_ADD_F32_e32 $vgpr0, $vgpr1, implicit $mode, implicit $exec 262 ; GCN-NEXT: S_ENDPGM 0 263 $vgpr0 = V_MOV_B32_e32 0, implicit $exec 264 $vgpr10 = V_MOV_B32_e32 0, implicit $exec 265 $vgpr11 = V_MOV_B32_e32 0, implicit $exec 266 $exec = S_MOV_B64 -1 267 $vgpr1 = V_MOV_B32_e32 0, implicit $exec 268 $vgpr12 = V_MOV_B32_e32 0, implicit $exec 269 $vgpr13 = V_MOV_B32_e32 0, implicit $exec 270 $vgpr14 = V_MOV_B32_e32 0, implicit $exec 271 $vgpr15 = V_MOV_B32_e32 0, implicit $exec 272 $vgpr2 = V_ADD_F32_e32 $vgpr0, $vgpr1, implicit $mode, implicit $exec 273 S_ENDPGM 0 274... 275 276--- 277name: partial_forwarding_5_no_hazard 278body: | 279 bb.0: 280 ; GCN-LABEL: name: partial_forwarding_5_no_hazard 281 ; GCN: $vgpr0 = V_MOV_B32_e32 0, implicit $exec 282 ; GCN-NEXT: $vgpr10 = V_MOV_B32_e32 0, implicit $exec 283 ; GCN-NEXT: $vgpr11 = V_MOV_B32_e32 0, implicit $exec 284 ; GCN-NEXT: $vgpr21 = V_MOV_B32_e32 0, implicit $exec 285 ; GCN-NEXT: $exec = S_MOV_B64 -1 286 ; GCN-NEXT: $vgpr1 = V_MOV_B32_e32 0, implicit $exec 287 ; GCN-NEXT: $vgpr12 = V_MOV_B32_e32 0, implicit $exec 288 ; GCN-NEXT: $vgpr13 = V_MOV_B32_e32 0, implicit $exec 289 ; GCN-NEXT: $vgpr14 = V_MOV_B32_e32 0, implicit $exec 290 ; GCN-NEXT: $vgpr15 = V_MOV_B32_e32 0, implicit $exec 291 ; GCN-NEXT: $vgpr2 = V_ADD_F32_e32 $vgpr0, $vgpr1, implicit $mode, implicit $exec 292 ; GCN-NEXT: S_ENDPGM 0 293 $vgpr0 = V_MOV_B32_e32 0, implicit $exec 294 $vgpr10 = V_MOV_B32_e32 0, implicit $exec 295 $vgpr11 = V_MOV_B32_e32 0, implicit $exec 296 $vgpr21 = V_MOV_B32_e32 0, implicit $exec 297 $exec = S_MOV_B64 -1 298 $vgpr1 = V_MOV_B32_e32 0, implicit $exec 299 $vgpr12 = V_MOV_B32_e32 0, implicit $exec 300 $vgpr13 = V_MOV_B32_e32 0, implicit $exec 301 $vgpr14 = V_MOV_B32_e32 0, implicit $exec 302 $vgpr15 = V_MOV_B32_e32 0, implicit $exec 303 $vgpr2 = V_ADD_F32_e32 $vgpr0, $vgpr1, implicit $mode, implicit $exec 304 S_ENDPGM 0 305... 306 307--- 308name: partial_forwarding_branching_1a 309body: | 310 ; GCN-LABEL: name: partial_forwarding_branching_1a 311 ; GCN: bb.0: 312 ; GCN-NEXT: successors: %bb.2(0x80000000) 313 ; GCN-NEXT: {{ $}} 314 ; GCN-NEXT: $vgpr0 = V_MOV_B32_e32 0, implicit $exec 315 ; GCN-NEXT: $exec = S_MOV_B64 -1 316 ; GCN-NEXT: S_BRANCH %bb.2 317 ; GCN-NEXT: {{ $}} 318 ; GCN-NEXT: bb.1: 319 ; GCN-NEXT: successors: %bb.2(0x80000000) 320 ; GCN-NEXT: {{ $}} 321 ; GCN-NEXT: $vgpr0 = V_MOV_B32_e32 0, implicit $exec 322 ; GCN-NEXT: $vgpr30 = V_MOV_B32_e32 0, implicit $exec 323 ; GCN-NEXT: $vgpr31 = V_MOV_B32_e32 0, implicit $exec 324 ; GCN-NEXT: S_BRANCH %bb.2 325 ; GCN-NEXT: {{ $}} 326 ; GCN-NEXT: bb.2: 327 ; GCN-NEXT: $vgpr10 = V_MOV_B32_e32 0, implicit $exec 328 ; GCN-NEXT: $vgpr11 = V_MOV_B32_e32 0, implicit $exec 329 ; GCN-NEXT: $vgpr1 = V_MOV_B32_e32 0, implicit $exec 330 ; GCN-NEXT: $vgpr12 = V_MOV_B32_e32 0, implicit $exec 331 ; GCN-NEXT: $vgpr13 = V_MOV_B32_e32 0, implicit $exec 332 ; GCN-NEXT: $vgpr14 = V_MOV_B32_e32 0, implicit $exec 333 ; GCN-NEXT: $vgpr15 = V_MOV_B32_e32 0, implicit $exec 334 ; GCN-NEXT: S_WAITCNT_DEPCTR 4095 335 ; GCN-NEXT: $vgpr2 = V_ADD_F32_e32 $vgpr0, $vgpr1, implicit $mode, implicit $exec 336 ; GCN-NEXT: S_ENDPGM 0 337 bb.0: 338 $vgpr0 = V_MOV_B32_e32 0, implicit $exec 339 $exec = S_MOV_B64 -1 340 S_BRANCH %bb.2 341 bb.1: 342 $vgpr0 = V_MOV_B32_e32 0, implicit $exec 343 $vgpr30 = V_MOV_B32_e32 0, implicit $exec 344 $vgpr31 = V_MOV_B32_e32 0, implicit $exec 345 S_BRANCH %bb.2 346 bb.2: 347 $vgpr10 = V_MOV_B32_e32 0, implicit $exec 348 $vgpr11 = V_MOV_B32_e32 0, implicit $exec 349 $vgpr1 = V_MOV_B32_e32 0, implicit $exec 350 $vgpr12 = V_MOV_B32_e32 0, implicit $exec 351 $vgpr13 = V_MOV_B32_e32 0, implicit $exec 352 $vgpr14 = V_MOV_B32_e32 0, implicit $exec 353 $vgpr15 = V_MOV_B32_e32 0, implicit $exec 354 $vgpr2 = V_ADD_F32_e32 $vgpr0, $vgpr1, implicit $mode, implicit $exec 355 S_ENDPGM 0 356... 357 358--- 359name: partial_forwarding_branching_1b 360body: | 361 ; GCN-LABEL: name: partial_forwarding_branching_1b 362 ; GCN: bb.0: 363 ; GCN-NEXT: successors: %bb.2(0x80000000) 364 ; GCN-NEXT: {{ $}} 365 ; GCN-NEXT: $vgpr0 = V_MOV_B32_e32 0, implicit $exec 366 ; GCN-NEXT: $vgpr30 = V_MOV_B32_e32 0, implicit $exec 367 ; GCN-NEXT: $vgpr31 = V_MOV_B32_e32 0, implicit $exec 368 ; GCN-NEXT: S_BRANCH %bb.2 369 ; GCN-NEXT: {{ $}} 370 ; GCN-NEXT: bb.1: 371 ; GCN-NEXT: successors: %bb.2(0x80000000) 372 ; GCN-NEXT: {{ $}} 373 ; GCN-NEXT: $vgpr0 = V_MOV_B32_e32 0, implicit $exec 374 ; GCN-NEXT: $exec = S_MOV_B64 -1 375 ; GCN-NEXT: S_BRANCH %bb.2 376 ; GCN-NEXT: {{ $}} 377 ; GCN-NEXT: bb.2: 378 ; GCN-NEXT: $vgpr10 = V_MOV_B32_e32 0, implicit $exec 379 ; GCN-NEXT: $vgpr11 = V_MOV_B32_e32 0, implicit $exec 380 ; GCN-NEXT: $vgpr1 = V_MOV_B32_e32 0, implicit $exec 381 ; GCN-NEXT: $vgpr12 = V_MOV_B32_e32 0, implicit $exec 382 ; GCN-NEXT: $vgpr13 = V_MOV_B32_e32 0, implicit $exec 383 ; GCN-NEXT: $vgpr14 = V_MOV_B32_e32 0, implicit $exec 384 ; GCN-NEXT: $vgpr15 = V_MOV_B32_e32 0, implicit $exec 385 ; GCN-NEXT: S_WAITCNT_DEPCTR 4095 386 ; GCN-NEXT: $vgpr2 = V_ADD_F32_e32 $vgpr0, $vgpr1, implicit $mode, implicit $exec 387 ; GCN-NEXT: S_ENDPGM 0 388 bb.0: 389 $vgpr0 = V_MOV_B32_e32 0, implicit $exec 390 $vgpr30 = V_MOV_B32_e32 0, implicit $exec 391 $vgpr31 = V_MOV_B32_e32 0, implicit $exec 392 S_BRANCH %bb.2 393 bb.1: 394 $vgpr0 = V_MOV_B32_e32 0, implicit $exec 395 $exec = S_MOV_B64 -1 396 S_BRANCH %bb.2 397 bb.2: 398 $vgpr10 = V_MOV_B32_e32 0, implicit $exec 399 $vgpr11 = V_MOV_B32_e32 0, implicit $exec 400 $vgpr1 = V_MOV_B32_e32 0, implicit $exec 401 $vgpr12 = V_MOV_B32_e32 0, implicit $exec 402 $vgpr13 = V_MOV_B32_e32 0, implicit $exec 403 $vgpr14 = V_MOV_B32_e32 0, implicit $exec 404 $vgpr15 = V_MOV_B32_e32 0, implicit $exec 405 $vgpr2 = V_ADD_F32_e32 $vgpr0, $vgpr1, implicit $mode, implicit $exec 406 S_ENDPGM 0 407... 408