791 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn -mcpu=gfx1100 -verify-machineinstrs -run-pass=postmisched %s -o - | FileCheck -check-prefix=SCHED %s3# RUN: llc -mtriple=amdgcn -mcpu=gfx1100 -verify-machineinstrs -run-pass=postmisched,gcn-create-vopd %s -o - | FileCheck -check-prefixes=PAIR,PAIR-GFX11 %s4# RUN: llc -mtriple=amdgcn -mcpu=gfx1200 -verify-machineinstrs -run-pass=postmisched %s -o - | FileCheck -check-prefix=SCHED %s5# RUN: llc -mtriple=amdgcn -mcpu=gfx1200 -verify-machineinstrs -run-pass=postmisched,gcn-create-vopd %s -o - | FileCheck -check-prefixes=PAIR,PAIR-GFX12 %s6 7# RUN: llc -mtriple=amdgcn -mcpu=gfx1200 -passes=postmisched,gcn-create-vopd %s -o - | FileCheck -check-prefixes=PAIR,PAIR-GFX12 %s8 9--- |10 @lds = external addrspace(3) global [8 x i8]11 define void @vopd_schedule() { ret void }12 define void @vopd_fmamk() { ret void }13 define void @vopd_fmamk_fail() { ret void }14 define void @vopd_cndmask() { ret void }15 define void @vopd_mov() { ret void }16 define void @vopd_mov_mov() { ret void }17 define void @vopd_constants_fail() { ret void }18 define void @vopd_constants_inlinable() { ret void }19 define void @vopd_constants_same() { ret void }20 define void @vopd_mov_fmaak_constants_same() { ret void }21 define void @vopd_debug() { ret void }22 define void @vopd_schedule_unconstrained() { ret void }23 define void @vopd_schedule_unconstrained_2() { ret void }24 define void @vopd_mov_fixup() { ret void }25 define void @vopd_mov_fixup_fail() { ret void }26 define void @vopd_no_combine_dependent_subreg() { ret void }27 define void @vopd_mov_mov_same_src_bank() { ret void }28 define void @vopd_combine_opy_overwrites_opx() { ret void }29 define void @vopd_no_combine_opx_overwrites_opy() { ret void }30...31 32---33name: vopd_schedule34tracksRegLiveness: true35body: |36 bb.0:37 38 ; SCHED-LABEL: name: vopd_schedule39 ; SCHED: $vgpr0 = IMPLICIT_DEF40 ; SCHED-NEXT: $vgpr1 = IMPLICIT_DEF41 ; SCHED-NEXT: $vgpr2 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec42 ; SCHED-NEXT: $vgpr3 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec43 ; SCHED-NEXT: $vgpr6 = V_MUL_F32_e32 killed $vgpr0, $vgpr0, implicit $mode, implicit $exec44 ; SCHED-NEXT: $vgpr4 = V_SUB_F32_e32 killed $vgpr1, $vgpr1, implicit $mode, implicit $exec45 ;46 ; PAIR-GFX11-LABEL: name: vopd_schedule47 ; PAIR-GFX11: $vgpr0 = IMPLICIT_DEF48 ; PAIR-GFX11-NEXT: $vgpr1 = IMPLICIT_DEF49 ; PAIR-GFX11-NEXT: $vgpr2 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec50 ; PAIR-GFX11-NEXT: $vgpr3, $vgpr6 = V_DUAL_SUB_F32_e32_X_MUL_F32_e32_gfx11 $vgpr1, $vgpr1, killed $vgpr0, $vgpr0, implicit $mode, implicit $exec, implicit $mode, implicit $exec, implicit $mode, implicit $exec51 ; PAIR-GFX11-NEXT: $vgpr4 = V_SUB_F32_e32 killed $vgpr1, $vgpr1, implicit $mode, implicit $exec52 ;53 ; PAIR-GFX12-LABEL: name: vopd_schedule54 ; PAIR-GFX12: $vgpr0 = IMPLICIT_DEF55 ; PAIR-GFX12-NEXT: $vgpr1 = IMPLICIT_DEF56 ; PAIR-GFX12-NEXT: $vgpr2 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec57 ; PAIR-GFX12-NEXT: $vgpr3, $vgpr6 = V_DUAL_SUB_F32_e32_X_MUL_F32_e32_gfx12 $vgpr1, $vgpr1, killed $vgpr0, $vgpr0, implicit $mode, implicit $exec, implicit $mode, implicit $exec, implicit $mode, implicit $exec58 ; PAIR-GFX12-NEXT: $vgpr4 = V_SUB_F32_e32 killed $vgpr1, $vgpr1, implicit $mode, implicit $exec59 $vgpr0 = IMPLICIT_DEF60 $vgpr1 = IMPLICIT_DEF61 $vgpr2 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec62 ; can fuse vgpr3 and vgpr6 writing insts only due to reg constraints63 $vgpr3 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec64 $vgpr4 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec65 $vgpr6 = V_MUL_F32_e32 $vgpr0, $vgpr0, implicit $mode, implicit $exec66 67...68 69---70name: vopd_fmamk71tracksRegLiveness: true72body: |73 bb.0:74 75 ; SCHED-LABEL: name: vopd_fmamk76 ; SCHED: $vgpr2 = IMPLICIT_DEF77 ; SCHED-NEXT: $vgpr0 = IMPLICIT_DEF78 ; SCHED-NEXT: $vgpr1 = IMPLICIT_DEF79 ; SCHED-NEXT: $vgpr3 = IMPLICIT_DEF80 ; SCHED-NEXT: $vgpr5 = V_FMAMK_F32 killed $vgpr0, 10, killed $vgpr3, implicit $mode, implicit $exec81 ; SCHED-NEXT: $vgpr2 = V_FMAC_F32_e32 killed $vgpr1, $vgpr1, killed $vgpr2, implicit $mode, implicit $exec82 ;83 ; PAIR-GFX11-LABEL: name: vopd_fmamk84 ; PAIR-GFX11: $vgpr2 = IMPLICIT_DEF85 ; PAIR-GFX11-NEXT: $vgpr0 = IMPLICIT_DEF86 ; PAIR-GFX11-NEXT: $vgpr1 = IMPLICIT_DEF87 ; PAIR-GFX11-NEXT: $vgpr3 = IMPLICIT_DEF88 ; PAIR-GFX11-NEXT: $vgpr5, $vgpr2 = V_DUAL_FMAMK_F32_X_FMAC_F32_e32_gfx11 killed $vgpr0, 10, killed $vgpr3, killed $vgpr1, $vgpr1, killed $vgpr2, implicit $mode, implicit $exec, implicit $mode, implicit $exec, implicit $mode, implicit $exec89 ;90 ; PAIR-GFX12-LABEL: name: vopd_fmamk91 ; PAIR-GFX12: $vgpr2 = IMPLICIT_DEF92 ; PAIR-GFX12-NEXT: $vgpr0 = IMPLICIT_DEF93 ; PAIR-GFX12-NEXT: $vgpr1 = IMPLICIT_DEF94 ; PAIR-GFX12-NEXT: $vgpr3 = IMPLICIT_DEF95 ; PAIR-GFX12-NEXT: $vgpr5, $vgpr2 = V_DUAL_FMAMK_F32_X_FMAC_F32_e32_gfx12 killed $vgpr0, 10, killed $vgpr3, killed $vgpr1, $vgpr1, killed $vgpr2, implicit $mode, implicit $exec, implicit $mode, implicit $exec, implicit $mode, implicit $exec96 $vgpr0 = IMPLICIT_DEF97 $vgpr1 = IMPLICIT_DEF98 $vgpr2 = IMPLICIT_DEF99 $vgpr3 = IMPLICIT_DEF100 ; should pair101 $vgpr2 = V_FMAC_F32_e32 $vgpr1, $vgpr1, $vgpr2, implicit $mode, implicit $exec102 $vgpr5 = V_FMAMK_F32 $vgpr0, 10, $vgpr3, implicit $mode, implicit $exec103 104...105 106---107name: vopd_fmamk_fail108tracksRegLiveness: true109body: |110 bb.0:111 112 ; SCHED-LABEL: name: vopd_fmamk_fail113 ; SCHED: $vgpr1 = IMPLICIT_DEF114 ; SCHED-NEXT: $vgpr2 = V_XOR_B32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec115 ; SCHED-NEXT: $vgpr0 = IMPLICIT_DEF116 ; SCHED-NEXT: $vgpr4 = IMPLICIT_DEF117 ; SCHED-NEXT: $vgpr5 = V_FMAMK_F32 killed $vgpr0, 10, killed $vgpr4, implicit $mode, implicit $exec118 ; SCHED-NEXT: $vgpr2 = V_FMAC_F32_e32 killed $vgpr1, $vgpr1, killed $vgpr2, implicit $mode, implicit $exec119 ;120 ; PAIR-LABEL: name: vopd_fmamk_fail121 ; PAIR: $vgpr1 = IMPLICIT_DEF122 ; PAIR-NEXT: $vgpr2 = V_XOR_B32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec123 ; PAIR-NEXT: $vgpr0 = IMPLICIT_DEF124 ; PAIR-NEXT: $vgpr4 = IMPLICIT_DEF125 ; PAIR-NEXT: $vgpr5 = V_FMAMK_F32 killed $vgpr0, 10, killed $vgpr4, implicit $mode, implicit $exec126 ; PAIR-NEXT: $vgpr2 = V_FMAC_F32_e32 killed $vgpr1, $vgpr1, killed $vgpr2, implicit $mode, implicit $exec127 $vgpr0 = IMPLICIT_DEF128 $vgpr1 = IMPLICIT_DEF129 $vgpr2 = V_XOR_B32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec130 $vgpr4 = IMPLICIT_DEF131 ; should not pair132 $vgpr2 = V_FMAC_F32_e32 $vgpr1, $vgpr1, $vgpr2, implicit $mode, implicit $exec133 $vgpr5 = V_FMAMK_F32 $vgpr0, 10, $vgpr4, implicit $mode, implicit $exec134 135...136 137---138name: vopd_cndmask139tracksRegLiveness: true140body: |141 bb.0:142 liveins: $vcc_lo143 ; SCHED-LABEL: name: vopd_cndmask144 ; SCHED: liveins: $vcc_lo145 ; SCHED-NEXT: {{ $}}146 ; SCHED-NEXT: $vgpr2 = IMPLICIT_DEF147 ; SCHED-NEXT: $vgpr0 = IMPLICIT_DEF148 ; SCHED-NEXT: $vgpr1 = IMPLICIT_DEF149 ; SCHED-NEXT: $vgpr3 = IMPLICIT_DEF150 ; SCHED-NEXT: $sgpr20 = IMPLICIT_DEF151 ; SCHED-NEXT: $vgpr4 = V_FMAMK_F32 $sgpr20, 12345, $vgpr3, implicit $mode, implicit $exec152 ; SCHED-NEXT: $vgpr2 = V_FMAC_F32_e32 $sgpr20, killed $vgpr1, killed $vgpr2, implicit $mode, implicit $exec153 ; SCHED-NEXT: $vgpr5 = V_CNDMASK_B32_e32 $vgpr0, $vgpr3, implicit $mode, implicit $exec, implicit $vcc_lo154 ; SCHED-NEXT: $vgpr7 = V_CNDMASK_B32_e32 killed $vgpr0, $vgpr3, implicit $mode, implicit $exec, implicit $vcc_lo155 ; SCHED-NEXT: $vgpr6 = V_ADD_F32_e32 $sgpr20, $vgpr3, implicit $mode, implicit $exec156 ; SCHED-NEXT: $vgpr9 = V_CNDMASK_B32_e32 killed $sgpr20, killed $vgpr3, implicit $mode, implicit $exec, implicit killed $vcc_lo157 ;158 ; PAIR-GFX11-LABEL: name: vopd_cndmask159 ; PAIR-GFX11: liveins: $vcc_lo160 ; PAIR-GFX11-NEXT: {{ $}}161 ; PAIR-GFX11-NEXT: $vgpr2 = IMPLICIT_DEF162 ; PAIR-GFX11-NEXT: $vgpr0 = IMPLICIT_DEF163 ; PAIR-GFX11-NEXT: $vgpr1 = IMPLICIT_DEF164 ; PAIR-GFX11-NEXT: $vgpr3 = IMPLICIT_DEF165 ; PAIR-GFX11-NEXT: $sgpr20 = IMPLICIT_DEF166 ; PAIR-GFX11-NEXT: $vgpr4 = V_FMAMK_F32 $sgpr20, 12345, $vgpr3, implicit $mode, implicit $exec167 ; PAIR-GFX11-NEXT: $vgpr2, $vgpr5 = V_DUAL_FMAC_F32_e32_X_CNDMASK_B32_e32_gfx11 $sgpr20, killed $vgpr1, killed $vgpr2, $vgpr0, $vgpr3, implicit $mode, implicit $exec, implicit $vcc_lo, implicit $mode, implicit $exec, implicit $mode, implicit $exec, implicit $vcc_lo168 ; PAIR-GFX11-NEXT: $vgpr7 = V_CNDMASK_B32_e32 killed $vgpr0, $vgpr3, implicit $mode, implicit $exec, implicit $vcc_lo169 ; PAIR-GFX11-NEXT: $vgpr6 = V_ADD_F32_e32 $sgpr20, $vgpr3, implicit $mode, implicit $exec170 ; PAIR-GFX11-NEXT: $vgpr9 = V_CNDMASK_B32_e32 killed $sgpr20, killed $vgpr3, implicit $mode, implicit $exec, implicit killed $vcc_lo171 ;172 ; PAIR-GFX12-LABEL: name: vopd_cndmask173 ; PAIR-GFX12: liveins: $vcc_lo174 ; PAIR-GFX12-NEXT: {{ $}}175 ; PAIR-GFX12-NEXT: $vgpr2 = IMPLICIT_DEF176 ; PAIR-GFX12-NEXT: $vgpr0 = IMPLICIT_DEF177 ; PAIR-GFX12-NEXT: $vgpr1 = IMPLICIT_DEF178 ; PAIR-GFX12-NEXT: $vgpr3 = IMPLICIT_DEF179 ; PAIR-GFX12-NEXT: $sgpr20 = IMPLICIT_DEF180 ; PAIR-GFX12-NEXT: $vgpr4 = V_FMAMK_F32 $sgpr20, 12345, $vgpr3, implicit $mode, implicit $exec181 ; PAIR-GFX12-NEXT: $vgpr2, $vgpr5 = V_DUAL_FMAC_F32_e32_X_CNDMASK_B32_e32_gfx12 $sgpr20, killed $vgpr1, killed $vgpr2, $vgpr0, $vgpr3, implicit $mode, implicit $exec, implicit $vcc_lo, implicit $mode, implicit $exec, implicit $mode, implicit $exec, implicit $vcc_lo182 ; PAIR-GFX12-NEXT: $vgpr7 = V_CNDMASK_B32_e32 killed $vgpr0, $vgpr3, implicit $mode, implicit $exec, implicit $vcc_lo183 ; PAIR-GFX12-NEXT: $vgpr6 = V_ADD_F32_e32 $sgpr20, $vgpr3, implicit $mode, implicit $exec184 ; PAIR-GFX12-NEXT: $vgpr9 = V_CNDMASK_B32_e32 killed $sgpr20, killed $vgpr3, implicit $mode, implicit $exec, implicit killed $vcc_lo185 $vgpr0 = IMPLICIT_DEF186 $vgpr1 = IMPLICIT_DEF187 $vgpr2 = IMPLICIT_DEF188 $vgpr3 = IMPLICIT_DEF189 $sgpr20 = IMPLICIT_DEF190 ; should pair191 $vgpr2 = V_FMAC_F32_e32 $sgpr20, $vgpr1, $vgpr2, implicit $mode, implicit $exec192 $vgpr5 = V_CNDMASK_B32_e32 $vgpr0, $vgpr3, implicit $mode, implicit $exec, implicit $vcc193 ; should not pair, uses 3 scalars (implicit vcc)194 $vgpr4 = V_FMAMK_F32 $sgpr20, 12345, $vgpr3, implicit $mode, implicit $exec195 $vgpr7 = V_CNDMASK_B32_e32 $vgpr0, $vgpr3, implicit $mode, implicit $exec, implicit $vcc196 ; should not pair, uses 3 scalars (implicit vcc)197 $vgpr6 = V_ADD_F32_e32 $sgpr20, $vgpr3, implicit $mode, implicit $exec198 $vgpr9 = V_CNDMASK_B32_e32 $sgpr20, $vgpr3, implicit $mode, implicit $exec, implicit $vcc199 200...201 202---203name: vopd_mov204tracksRegLiveness: true205body: |206 bb.0:207 208 ; SCHED-LABEL: name: vopd_mov209 ; SCHED: $vgpr0 = IMPLICIT_DEF210 ; SCHED-NEXT: $vgpr1 = IMPLICIT_DEF211 ; SCHED-NEXT: $vgpr2 = V_MOV_B32_e32 killed $vgpr0, implicit $exec212 ; SCHED-NEXT: $vgpr3 = V_ADD_F32_e32 killed $vgpr1, $vgpr1, implicit $mode, implicit $exec213 ;214 ; PAIR-GFX11-LABEL: name: vopd_mov215 ; PAIR-GFX11: $vgpr0 = IMPLICIT_DEF216 ; PAIR-GFX11-NEXT: $vgpr1 = IMPLICIT_DEF217 ; PAIR-GFX11-NEXT: $vgpr2, $vgpr3 = V_DUAL_MOV_B32_e32_X_ADD_F32_e32_gfx11 killed $vgpr0, killed $vgpr1, $vgpr1, implicit $exec, implicit $mode, implicit $exec, implicit $mode, implicit $exec218 ;219 ; PAIR-GFX12-LABEL: name: vopd_mov220 ; PAIR-GFX12: $vgpr0 = IMPLICIT_DEF221 ; PAIR-GFX12-NEXT: $vgpr1 = IMPLICIT_DEF222 ; PAIR-GFX12-NEXT: $vgpr2, $vgpr3 = V_DUAL_MOV_B32_e32_X_ADD_F32_e32_gfx12 killed $vgpr0, killed $vgpr1, $vgpr1, implicit $exec, implicit $mode, implicit $exec, implicit $mode, implicit $exec223 $vgpr0 = IMPLICIT_DEF224 $vgpr1 = IMPLICIT_DEF225 $vgpr2 = V_MOV_B32_e32 $vgpr0, implicit $exec226 $vgpr3 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec227 228...229 230---231name: vopd_mov_mov232tracksRegLiveness: true233body: |234 bb.0:235 236 ; SCHED-LABEL: name: vopd_mov_mov237 ; SCHED: $sgpr0 = IMPLICIT_DEF238 ; SCHED-NEXT: $sgpr7 = IMPLICIT_DEF239 ; SCHED-NEXT: $vgpr2 = V_MOV_B32_e32 killed $sgpr0, implicit $exec240 ; SCHED-NEXT: $vgpr3 = V_MOV_B32_e32 killed $sgpr7, implicit $exec241 ;242 ; PAIR-GFX11-LABEL: name: vopd_mov_mov243 ; PAIR-GFX11: $sgpr0 = IMPLICIT_DEF244 ; PAIR-GFX11-NEXT: $sgpr7 = IMPLICIT_DEF245 ; PAIR-GFX11-NEXT: $vgpr2, $vgpr3 = V_DUAL_MOV_B32_e32_X_MOV_B32_e32_gfx11 killed $sgpr0, killed $sgpr7, implicit $exec, implicit $exec, implicit $exec246 ;247 ; PAIR-GFX12-LABEL: name: vopd_mov_mov248 ; PAIR-GFX12: $sgpr0 = IMPLICIT_DEF249 ; PAIR-GFX12-NEXT: $sgpr7 = IMPLICIT_DEF250 ; PAIR-GFX12-NEXT: $vgpr2, $vgpr3 = V_DUAL_MOV_B32_e32_X_MOV_B32_e32_gfx12 killed $sgpr0, killed $sgpr7, implicit $exec, implicit $exec, implicit $exec251 $sgpr0 = IMPLICIT_DEF252 $sgpr7 = IMPLICIT_DEF253 $vgpr2 = V_MOV_B32_e32 $sgpr0, implicit $exec254 $vgpr3 = V_MOV_B32_e32 $sgpr7, implicit $exec255 256...257 258 259---260name: vopd_constants_fail261tracksRegLiveness: true262body: |263 bb.0:264 265 ; SCHED-LABEL: name: vopd_constants_fail266 ; SCHED: $vgpr2 = IMPLICIT_DEF267 ; SCHED-NEXT: $vgpr0 = IMPLICIT_DEF268 ; SCHED-NEXT: $vgpr1 = IMPLICIT_DEF269 ; SCHED-NEXT: $vgpr3 = IMPLICIT_DEF270 ; SCHED-NEXT: $vgpr5 = V_FMAMK_F32 killed $vgpr0, 100, killed $vgpr3, implicit $mode, implicit $exec271 ; SCHED-NEXT: $vgpr2 = V_FMAC_F32_e32 99, killed $vgpr1, killed $vgpr2, implicit $mode, implicit $exec272 ;273 ; PAIR-LABEL: name: vopd_constants_fail274 ; PAIR: $vgpr2 = IMPLICIT_DEF275 ; PAIR-NEXT: $vgpr0 = IMPLICIT_DEF276 ; PAIR-NEXT: $vgpr1 = IMPLICIT_DEF277 ; PAIR-NEXT: $vgpr3 = IMPLICIT_DEF278 ; PAIR-NEXT: $vgpr5 = V_FMAMK_F32 killed $vgpr0, 100, killed $vgpr3, implicit $mode, implicit $exec279 ; PAIR-NEXT: $vgpr2 = V_FMAC_F32_e32 99, killed $vgpr1, killed $vgpr2, implicit $mode, implicit $exec280 $vgpr0 = IMPLICIT_DEF281 $vgpr1 = IMPLICIT_DEF282 $vgpr2 = IMPLICIT_DEF283 $vgpr3 = IMPLICIT_DEF284 ; should not pair with two different literals285 $vgpr2 = V_FMAC_F32_e32 99, $vgpr1, $vgpr2, implicit $mode, implicit $exec286 $vgpr5 = V_FMAMK_F32 $vgpr0, 100, $vgpr3, implicit $mode, implicit $exec287 288...289 290---291name: vopd_constants_inlinable292tracksRegLiveness: true293body: |294 bb.0:295 ; SCHED-LABEL: name: vopd_constants_inlinable296 ; SCHED: $vgpr2 = IMPLICIT_DEF297 ; SCHED-NEXT: $vgpr0 = IMPLICIT_DEF298 ; SCHED-NEXT: $vgpr1 = IMPLICIT_DEF299 ; SCHED-NEXT: $vgpr3 = IMPLICIT_DEF300 ; SCHED-NEXT: $vgpr5 = V_FMAMK_F32 killed $vgpr0, 100, killed $vgpr3, implicit $mode, implicit $exec301 ; SCHED-NEXT: $vgpr2 = V_FMAC_F32_e32 4, killed $vgpr1, killed $vgpr2, implicit $mode, implicit $exec302 ;303 ; PAIR-GFX11-LABEL: name: vopd_constants_inlinable304 ; PAIR-GFX11: $vgpr2 = IMPLICIT_DEF305 ; PAIR-GFX11-NEXT: $vgpr0 = IMPLICIT_DEF306 ; PAIR-GFX11-NEXT: $vgpr1 = IMPLICIT_DEF307 ; PAIR-GFX11-NEXT: $vgpr3 = IMPLICIT_DEF308 ; PAIR-GFX11-NEXT: $vgpr5, $vgpr2 = V_DUAL_FMAMK_F32_X_FMAC_F32_e32_gfx11 killed $vgpr0, 100, killed $vgpr3, 4, killed $vgpr1, killed $vgpr2, implicit $mode, implicit $exec, implicit $mode, implicit $exec, implicit $mode, implicit $exec309 ;310 ; PAIR-GFX12-LABEL: name: vopd_constants_inlinable311 ; PAIR-GFX12: $vgpr2 = IMPLICIT_DEF312 ; PAIR-GFX12-NEXT: $vgpr0 = IMPLICIT_DEF313 ; PAIR-GFX12-NEXT: $vgpr1 = IMPLICIT_DEF314 ; PAIR-GFX12-NEXT: $vgpr3 = IMPLICIT_DEF315 ; PAIR-GFX12-NEXT: $vgpr5, $vgpr2 = V_DUAL_FMAMK_F32_X_FMAC_F32_e32_gfx12 killed $vgpr0, 100, killed $vgpr3, 4, killed $vgpr1, killed $vgpr2, implicit $mode, implicit $exec, implicit $mode, implicit $exec, implicit $mode, implicit $exec316 $vgpr0 = IMPLICIT_DEF317 $vgpr1 = IMPLICIT_DEF318 $vgpr2 = IMPLICIT_DEF319 $vgpr3 = IMPLICIT_DEF320 ; can pair since 4 is inlinable321 $vgpr2 = V_FMAC_F32_e32 4, $vgpr1, $vgpr2, implicit $mode, implicit $exec322 $vgpr5 = V_FMAMK_F32 $vgpr0, 100, $vgpr3, implicit $mode, implicit $exec323 324...325 326 327---328name: vopd_constants_same329tracksRegLiveness: true330body: |331 bb.0:332 333 ; SCHED-LABEL: name: vopd_constants_same334 ; SCHED: $vgpr2 = IMPLICIT_DEF335 ; SCHED-NEXT: $vgpr0 = IMPLICIT_DEF336 ; SCHED-NEXT: $vgpr1 = IMPLICIT_DEF337 ; SCHED-NEXT: $vgpr3 = IMPLICIT_DEF338 ; SCHED-NEXT: $vgpr5 = V_FMAMK_F32 killed $vgpr0, 100, killed $vgpr3, implicit $mode, implicit $exec339 ; SCHED-NEXT: $vgpr2 = V_FMAC_F32_e32 100, killed $vgpr1, killed $vgpr2, implicit $mode, implicit $exec340 ;341 ; PAIR-GFX11-LABEL: name: vopd_constants_same342 ; PAIR-GFX11: $vgpr2 = IMPLICIT_DEF343 ; PAIR-GFX11-NEXT: $vgpr0 = IMPLICIT_DEF344 ; PAIR-GFX11-NEXT: $vgpr1 = IMPLICIT_DEF345 ; PAIR-GFX11-NEXT: $vgpr3 = IMPLICIT_DEF346 ; PAIR-GFX11-NEXT: $vgpr5, $vgpr2 = V_DUAL_FMAMK_F32_X_FMAC_F32_e32_gfx11 killed $vgpr0, 100, killed $vgpr3, 100, killed $vgpr1, killed $vgpr2, implicit $mode, implicit $exec, implicit $mode, implicit $exec, implicit $mode, implicit $exec347 ;348 ; PAIR-GFX12-LABEL: name: vopd_constants_same349 ; PAIR-GFX12: $vgpr2 = IMPLICIT_DEF350 ; PAIR-GFX12-NEXT: $vgpr0 = IMPLICIT_DEF351 ; PAIR-GFX12-NEXT: $vgpr1 = IMPLICIT_DEF352 ; PAIR-GFX12-NEXT: $vgpr3 = IMPLICIT_DEF353 ; PAIR-GFX12-NEXT: $vgpr5, $vgpr2 = V_DUAL_FMAMK_F32_X_FMAC_F32_e32_gfx12 killed $vgpr0, 100, killed $vgpr3, 100, killed $vgpr1, killed $vgpr2, implicit $mode, implicit $exec, implicit $mode, implicit $exec, implicit $mode, implicit $exec354 $vgpr0 = IMPLICIT_DEF355 $vgpr1 = IMPLICIT_DEF356 $vgpr2 = IMPLICIT_DEF357 $vgpr3 = IMPLICIT_DEF358 ; should be able to pair using 1 deduplicated literal359 $vgpr2 = V_FMAC_F32_e32 100, $vgpr1, $vgpr2, implicit $mode, implicit $exec360 $vgpr5 = V_FMAMK_F32 $vgpr0, 100, $vgpr3, implicit $mode, implicit $exec361 362...363 364---365name: vopd_mov_fmaak_constants_same366tracksRegLiveness: true367body: |368 bb.0:369 370 ; SCHED-LABEL: name: vopd_mov_fmaak_constants_same371 ; SCHED: $vgpr0 = IMPLICIT_DEF372 ; SCHED-NEXT: $sgpr0 = IMPLICIT_DEF373 ; SCHED-NEXT: $vgpr1 = V_MOV_B32_e32 981467136, implicit $exec374 ; SCHED-NEXT: $vgpr2 = V_FMAAK_F32 killed $sgpr0, killed $vgpr0, 981467136, implicit $mode, implicit $exec375 ;376 ; PAIR-GFX11-LABEL: name: vopd_mov_fmaak_constants_same377 ; PAIR-GFX11: $vgpr0 = IMPLICIT_DEF378 ; PAIR-GFX11-NEXT: $sgpr0 = IMPLICIT_DEF379 ; PAIR-GFX11-NEXT: $vgpr1, $vgpr2 = V_DUAL_MOV_B32_e32_X_FMAAK_F32_gfx11 981467136, killed $sgpr0, killed $vgpr0, 981467136, implicit $exec, implicit $mode, implicit $exec, implicit $mode, implicit $exec380 ;381 ; PAIR-GFX12-LABEL: name: vopd_mov_fmaak_constants_same382 ; PAIR-GFX12: $vgpr0 = IMPLICIT_DEF383 ; PAIR-GFX12-NEXT: $sgpr0 = IMPLICIT_DEF384 ; PAIR-GFX12-NEXT: $vgpr1, $vgpr2 = V_DUAL_MOV_B32_e32_X_FMAAK_F32_gfx12 981467136, killed $sgpr0, killed $vgpr0, 981467136, implicit $exec, implicit $mode, implicit $exec, implicit $mode, implicit $exec385 $vgpr0 = IMPLICIT_DEF386 $sgpr0 = IMPLICIT_DEF387 ; should be able to pair using 1 deduplicated literal388 $vgpr1 = V_MOV_B32_e32 981467136, implicit $exec389 $vgpr2 = V_FMAAK_F32 $sgpr0, $vgpr0, 981467136, implicit $mode, implicit $exec390 391...392 393---394name: vopd_debug395tracksRegLiveness: true396body: |397 bb.0:398 399 ; SCHED-LABEL: name: vopd_debug400 ; SCHED: $vgpr0 = IMPLICIT_DEF401 ; SCHED-NEXT: $vgpr1 = IMPLICIT_DEF402 ; SCHED-NEXT: $vgpr3 = V_SUB_F32_e32 killed $vgpr1, $vgpr1, implicit $mode, implicit $exec403 ; SCHED-NEXT: DBG_VALUE $vgpr0, 0, 0404 ; SCHED-NEXT: $vgpr6 = V_MUL_F32_e32 killed $vgpr0, $vgpr0, implicit $mode, implicit $exec405 ;406 ; PAIR-GFX11-LABEL: name: vopd_debug407 ; PAIR-GFX11: $vgpr0 = IMPLICIT_DEF408 ; PAIR-GFX11-NEXT: $vgpr1 = IMPLICIT_DEF409 ; PAIR-GFX11-NEXT: $vgpr3, $vgpr6 = V_DUAL_SUB_F32_e32_X_MUL_F32_e32_gfx11 killed $vgpr1, $vgpr1, killed $vgpr0, $vgpr0, implicit $mode, implicit $exec, implicit $mode, implicit $exec, implicit $mode, implicit $exec410 ; PAIR-GFX11-NEXT: DBG_VALUE $vgpr0, 0, 0411 ;412 ; PAIR-GFX12-LABEL: name: vopd_debug413 ; PAIR-GFX12: $vgpr0 = IMPLICIT_DEF414 ; PAIR-GFX12-NEXT: $vgpr1 = IMPLICIT_DEF415 ; PAIR-GFX12-NEXT: $vgpr3, $vgpr6 = V_DUAL_SUB_F32_e32_X_MUL_F32_e32_gfx12 killed $vgpr1, $vgpr1, killed $vgpr0, $vgpr0, implicit $mode, implicit $exec, implicit $mode, implicit $exec, implicit $mode, implicit $exec416 ; PAIR-GFX12-NEXT: DBG_VALUE $vgpr0, 0, 0417 $vgpr0 = IMPLICIT_DEF418 $vgpr1 = IMPLICIT_DEF419 ; TODO Debug values disable VOPD creation420 $vgpr3 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec421 DBG_VALUE $vgpr0, 0, 0422 $vgpr6 = V_MUL_F32_e32 $vgpr0, $vgpr0, implicit $mode, implicit $exec423 424...425 426---427name: vopd_schedule_unconstrained428tracksRegLiveness: true429body: |430 bb.0:431 liveins: $vcc_lo432 433 ; SCHED-LABEL: name: vopd_schedule_unconstrained434 ; SCHED: liveins: $vcc_lo435 ; SCHED-NEXT: {{ $}}436 ; SCHED-NEXT: $vgpr2 = IMPLICIT_DEF437 ; SCHED-NEXT: $vgpr3 = IMPLICIT_DEF438 ; SCHED-NEXT: $vgpr0 = IMPLICIT_DEF439 ; SCHED-NEXT: $vgpr1 = IMPLICIT_DEF440 ; SCHED-NEXT: $vgpr4 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec441 ; SCHED-NEXT: $vgpr3 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec442 ; SCHED-NEXT: $vgpr6 = V_MUL_F32_e32 $vgpr0, $vgpr0, implicit $mode, implicit $exec443 ; SCHED-NEXT: $vgpr2 = V_FMAC_F32_e32 10, $vgpr1, killed $vgpr2, implicit $mode, implicit $exec444 ; SCHED-NEXT: $vgpr2 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec445 ; SCHED-NEXT: $vgpr12 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec446 ; SCHED-NEXT: $vgpr11 = V_CNDMASK_B32_e32 $vgpr0, $vgpr3, implicit $mode, implicit $exec, implicit $vcc_lo447 ; SCHED-NEXT: $vgpr19 = V_CNDMASK_B32_e32 $vgpr0, killed $vgpr3, implicit $mode, implicit $exec, implicit $vcc_lo448 ; SCHED-NEXT: $vgpr17 = V_MUL_F32_e32 killed $vgpr0, $vgpr0, implicit $mode, implicit $exec449 ; SCHED-NEXT: $vgpr10 = V_CNDMASK_B32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec, implicit $vcc_lo450 ; SCHED-NEXT: $vgpr15 = V_CNDMASK_B32_e32 $vgpr1, killed $vgpr2, implicit $mode, implicit $exec, implicit killed $vcc_lo451 ; SCHED-NEXT: $vgpr16 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec452 ; SCHED-NEXT: $vgpr14 = V_SUB_F32_e32 killed $vgpr1, $vgpr1, implicit $mode, implicit $exec453 ;454 ; PAIR-GFX11-LABEL: name: vopd_schedule_unconstrained455 ; PAIR-GFX11: liveins: $vcc_lo456 ; PAIR-GFX11-NEXT: {{ $}}457 ; PAIR-GFX11-NEXT: $vgpr2 = IMPLICIT_DEF458 ; PAIR-GFX11-NEXT: $vgpr3 = IMPLICIT_DEF459 ; PAIR-GFX11-NEXT: $vgpr0 = IMPLICIT_DEF460 ; PAIR-GFX11-NEXT: $vgpr1 = IMPLICIT_DEF461 ; PAIR-GFX11-NEXT: $vgpr4 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec462 ; PAIR-GFX11-NEXT: $vgpr3, $vgpr6 = V_DUAL_SUB_F32_e32_X_MUL_F32_e32_gfx11 $vgpr1, $vgpr1, $vgpr0, $vgpr0, implicit $mode, implicit $exec, implicit $mode, implicit $exec, implicit $mode, implicit $exec463 ; PAIR-GFX11-NEXT: $vgpr2 = V_FMAC_F32_e32 10, $vgpr1, killed $vgpr2, implicit $mode, implicit $exec464 ; PAIR-GFX11-NEXT: $vgpr2 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec465 ; PAIR-GFX11-NEXT: $vgpr12, $vgpr11 = V_DUAL_ADD_F32_e32_X_CNDMASK_B32_e32_gfx11 $vgpr1, $vgpr1, $vgpr0, $vgpr3, implicit $mode, implicit $exec, implicit $vcc_lo, implicit $mode, implicit $exec, implicit $mode, implicit $exec, implicit $vcc_lo466 ; PAIR-GFX11-NEXT: $vgpr19 = V_CNDMASK_B32_e32 $vgpr0, killed $vgpr3, implicit $mode, implicit $exec, implicit $vcc_lo467 ; PAIR-GFX11-NEXT: $vgpr17, $vgpr10 = V_DUAL_MUL_F32_e32_X_CNDMASK_B32_e32_gfx11 killed $vgpr0, $vgpr0, $vgpr1, $vgpr2, implicit $mode, implicit $exec, implicit $vcc_lo, implicit $mode, implicit $exec, implicit $mode, implicit $exec, implicit $vcc_lo468 ; PAIR-GFX11-NEXT: $vgpr15 = V_CNDMASK_B32_e32 $vgpr1, killed $vgpr2, implicit $mode, implicit $exec, implicit killed $vcc_lo469 ; PAIR-GFX11-NEXT: $vgpr16 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec470 ; PAIR-GFX11-NEXT: $vgpr14 = V_SUB_F32_e32 killed $vgpr1, $vgpr1, implicit $mode, implicit $exec471 ;472 ; PAIR-GFX12-LABEL: name: vopd_schedule_unconstrained473 ; PAIR-GFX12: liveins: $vcc_lo474 ; PAIR-GFX12-NEXT: {{ $}}475 ; PAIR-GFX12-NEXT: $vgpr2 = IMPLICIT_DEF476 ; PAIR-GFX12-NEXT: $vgpr3 = IMPLICIT_DEF477 ; PAIR-GFX12-NEXT: $vgpr0 = IMPLICIT_DEF478 ; PAIR-GFX12-NEXT: $vgpr1 = IMPLICIT_DEF479 ; PAIR-GFX12-NEXT: $vgpr4 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec480 ; PAIR-GFX12-NEXT: $vgpr3, $vgpr6 = V_DUAL_SUB_F32_e32_X_MUL_F32_e32_gfx12 $vgpr1, $vgpr1, $vgpr0, $vgpr0, implicit $mode, implicit $exec, implicit $mode, implicit $exec, implicit $mode, implicit $exec481 ; PAIR-GFX12-NEXT: $vgpr2 = V_FMAC_F32_e32 10, $vgpr1, killed $vgpr2, implicit $mode, implicit $exec482 ; PAIR-GFX12-NEXT: $vgpr2 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec483 ; PAIR-GFX12-NEXT: $vgpr12, $vgpr11 = V_DUAL_ADD_F32_e32_X_CNDMASK_B32_e32_gfx12 $vgpr1, $vgpr1, $vgpr0, $vgpr3, implicit $mode, implicit $exec, implicit $vcc_lo, implicit $mode, implicit $exec, implicit $mode, implicit $exec, implicit $vcc_lo484 ; PAIR-GFX12-NEXT: $vgpr19 = V_CNDMASK_B32_e32 $vgpr0, killed $vgpr3, implicit $mode, implicit $exec, implicit $vcc_lo485 ; PAIR-GFX12-NEXT: $vgpr17, $vgpr10 = V_DUAL_MUL_F32_e32_X_CNDMASK_B32_e32_gfx12 killed $vgpr0, $vgpr0, $vgpr1, $vgpr2, implicit $mode, implicit $exec, implicit $vcc_lo, implicit $mode, implicit $exec, implicit $mode, implicit $exec, implicit $vcc_lo486 ; PAIR-GFX12-NEXT: $vgpr15 = V_CNDMASK_B32_e32 $vgpr1, killed $vgpr2, implicit $mode, implicit $exec, implicit killed $vcc_lo487 ; PAIR-GFX12-NEXT: $vgpr16 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec488 ; PAIR-GFX12-NEXT: $vgpr14 = V_SUB_F32_e32 killed $vgpr1, $vgpr1, implicit $mode, implicit $exec489 $vgpr0 = IMPLICIT_DEF490 $vgpr1 = IMPLICIT_DEF491 $vgpr2 = IMPLICIT_DEF492 $vgpr3 = IMPLICIT_DEF493 $vgpr2 = V_FMAC_F32_e32 10, $vgpr1, $vgpr2, implicit $mode, implicit $exec494 $vgpr2 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec495 $vgpr3 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec496 $vgpr10 = V_CNDMASK_B32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec, implicit $vcc497 $vgpr4 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec498 $vgpr6 = V_MUL_F32_e32 $vgpr0, $vgpr0, implicit $mode, implicit $exec499 ; $vgpr9 = V_FMAMK_F32 $vgpr0, 10, $vgpr2, implicit $mode, implicit $exec500 $vgpr11 = V_CNDMASK_B32_e32 $vgpr0, $vgpr3, implicit $mode, implicit $exec, implicit $vcc501 $vgpr19 = V_CNDMASK_B32_e32 $vgpr0, $vgpr3, implicit $mode, implicit $exec, implicit $vcc502 $vgpr12 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec503 $vgpr17 = V_MUL_F32_e32 $vgpr0, $vgpr0, implicit $mode, implicit $exec504 ; $vgpr18 = V_FMAMK_F32 $vgpr0, 10, $vgpr3, implicit $mode, implicit $exec505 ; $vgpr11 = V_FMAC_F32_e32 10, $vgpr1, $vgpr11, implicit $mode, implicit $exec506 $vgpr15 = V_CNDMASK_B32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec, implicit $vcc507 $vgpr16 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec508 $vgpr14 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec509 510...511 512---513name: vopd_schedule_unconstrained_2514tracksRegLiveness: true515body: |516 bb.0:517 liveins: $vcc_lo518 519 ; SCHED-LABEL: name: vopd_schedule_unconstrained_2520 ; SCHED: liveins: $vcc_lo521 ; SCHED-NEXT: {{ $}}522 ; SCHED-NEXT: $vgpr2 = IMPLICIT_DEF523 ; SCHED-NEXT: $vgpr3 = IMPLICIT_DEF524 ; SCHED-NEXT: $vgpr0 = IMPLICIT_DEF525 ; SCHED-NEXT: $vgpr1 = IMPLICIT_DEF526 ; SCHED-NEXT: $vgpr20 = IMPLICIT_DEF527 ; SCHED-NEXT: $vgpr16 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec528 ; SCHED-NEXT: $vgpr35 = V_MUL_F32_e32 $vgpr0, $vgpr0, implicit $mode, implicit $exec529 ; SCHED-NEXT: $vgpr3 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec530 ; SCHED-NEXT: $vgpr6 = V_MUL_F32_e32 $vgpr0, $vgpr0, implicit $mode, implicit $exec531 ; SCHED-NEXT: $vgpr2 = V_FMAC_F32_e32 10, $vgpr1, killed $vgpr2, implicit $mode, implicit $exec532 ; SCHED-NEXT: $vgpr2 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec533 ; SCHED-NEXT: $vgpr4 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec534 ; SCHED-NEXT: $vgpr29 = V_CNDMASK_B32_e32 $vgpr0, $vgpr3, implicit $mode, implicit $exec, implicit $vcc_lo535 ; SCHED-NEXT: $vgpr19 = V_CNDMASK_B32_e32 $vgpr0, $vgpr3, implicit $mode, implicit $exec, implicit $vcc_lo536 ; SCHED-NEXT: $vgpr20 = V_FMAC_F32_e32 10, $vgpr1, killed $vgpr20, implicit $mode, implicit $exec537 ; SCHED-NEXT: $vgpr15 = V_CNDMASK_B32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec, implicit $vcc_lo538 ; SCHED-NEXT: $vgpr10 = V_CNDMASK_B32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec, implicit $vcc_lo539 ; SCHED-NEXT: $vgpr17 = V_MUL_F32_e32 $vgpr0, $vgpr0, implicit $mode, implicit $exec540 ; SCHED-NEXT: $vgpr11 = V_CNDMASK_B32_e32 $vgpr0, $vgpr3, implicit $mode, implicit $exec, implicit $vcc_lo541 ; SCHED-NEXT: $vgpr12 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec542 ; SCHED-NEXT: $vgpr37 = V_CNDMASK_B32_e32 $vgpr0, killed $vgpr3, implicit $mode, implicit $exec, implicit $vcc_lo543 ; SCHED-NEXT: $vgpr14 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec544 ; SCHED-NEXT: $vgpr20 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec545 ; SCHED-NEXT: $vgpr21 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec546 ; SCHED-NEXT: $vgpr24 = V_MUL_F32_e32 killed $vgpr0, $vgpr0, implicit $mode, implicit $exec547 ; SCHED-NEXT: $vgpr28 = V_CNDMASK_B32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec, implicit $vcc_lo548 ; SCHED-NEXT: $vgpr22 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec549 ; SCHED-NEXT: $vgpr31 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec550 ; SCHED-NEXT: $vgpr33 = V_CNDMASK_B32_e32 $vgpr1, killed $vgpr2, implicit $mode, implicit $exec, implicit killed $vcc_lo551 ; SCHED-NEXT: $vgpr34 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec552 ; SCHED-NEXT: $vgpr32 = V_SUB_F32_e32 killed $vgpr1, $vgpr1, implicit $mode, implicit $exec553 ;554 ; PAIR-GFX11-LABEL: name: vopd_schedule_unconstrained_2555 ; PAIR-GFX11: liveins: $vcc_lo556 ; PAIR-GFX11-NEXT: {{ $}}557 ; PAIR-GFX11-NEXT: $vgpr2 = IMPLICIT_DEF558 ; PAIR-GFX11-NEXT: $vgpr3 = IMPLICIT_DEF559 ; PAIR-GFX11-NEXT: $vgpr0 = IMPLICIT_DEF560 ; PAIR-GFX11-NEXT: $vgpr1 = IMPLICIT_DEF561 ; PAIR-GFX11-NEXT: $vgpr20 = IMPLICIT_DEF562 ; PAIR-GFX11-NEXT: $vgpr16, $vgpr35 = V_DUAL_SUB_F32_e32_X_MUL_F32_e32_gfx11 $vgpr1, $vgpr1, $vgpr0, $vgpr0, implicit $mode, implicit $exec, implicit $mode, implicit $exec, implicit $mode, implicit $exec563 ; PAIR-GFX11-NEXT: $vgpr3, $vgpr6 = V_DUAL_SUB_F32_e32_X_MUL_F32_e32_gfx11 $vgpr1, $vgpr1, $vgpr0, $vgpr0, implicit $mode, implicit $exec, implicit $mode, implicit $exec, implicit $mode, implicit $exec564 ; PAIR-GFX11-NEXT: $vgpr2 = V_FMAC_F32_e32 10, $vgpr1, killed $vgpr2, implicit $mode, implicit $exec565 ; PAIR-GFX11-NEXT: $vgpr2 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec566 ; PAIR-GFX11-NEXT: $vgpr4, $vgpr29 = V_DUAL_SUB_F32_e32_X_CNDMASK_B32_e32_gfx11 $vgpr1, $vgpr1, $vgpr0, $vgpr3, implicit $mode, implicit $exec, implicit $vcc_lo, implicit $mode, implicit $exec, implicit $mode, implicit $exec, implicit $vcc_lo567 ; PAIR-GFX11-NEXT: $vgpr19, $vgpr20 = V_DUAL_CNDMASK_B32_e32_X_FMAC_F32_e32_gfx11 $vgpr0, $vgpr3, 10, $vgpr1, killed $vgpr20, implicit $vcc_lo, implicit $exec, implicit $mode, implicit $mode, implicit $exec, implicit $vcc_lo, implicit $mode, implicit $exec568 ; PAIR-GFX11-NEXT: $vgpr15 = V_CNDMASK_B32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec, implicit $vcc_lo569 ; PAIR-GFX11-NEXT: $vgpr10, $vgpr17 = V_DUAL_CNDMASK_B32_e32_X_MUL_F32_e32_gfx11 $vgpr1, $vgpr2, $vgpr0, $vgpr0, implicit $vcc_lo, implicit $exec, implicit $mode, implicit $mode, implicit $exec, implicit $vcc_lo, implicit $mode, implicit $exec570 ; PAIR-GFX11-NEXT: $vgpr11, $vgpr12 = V_DUAL_CNDMASK_B32_e32_X_ADD_F32_e32_gfx11 $vgpr0, $vgpr3, $vgpr1, $vgpr1, implicit $vcc_lo, implicit $exec, implicit $mode, implicit $mode, implicit $exec, implicit $vcc_lo, implicit $mode, implicit $exec571 ; PAIR-GFX11-NEXT: $vgpr37, $vgpr14 = V_DUAL_CNDMASK_B32_e32_X_SUB_F32_e32_gfx11 $vgpr0, killed $vgpr3, $vgpr1, $vgpr1, implicit $vcc_lo, implicit $exec, implicit $mode, implicit $mode, implicit $exec, implicit $vcc_lo, implicit $mode, implicit $exec572 ; PAIR-GFX11-NEXT: $vgpr20 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec573 ; PAIR-GFX11-NEXT: $vgpr21, $vgpr24 = V_DUAL_SUB_F32_e32_X_MUL_F32_e32_gfx11 $vgpr1, $vgpr1, killed $vgpr0, $vgpr0, implicit $mode, implicit $exec, implicit $mode, implicit $exec, implicit $mode, implicit $exec574 ; PAIR-GFX11-NEXT: $vgpr28 = V_CNDMASK_B32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec, implicit $vcc_lo575 ; PAIR-GFX11-NEXT: $vgpr22 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec576 ; PAIR-GFX11-NEXT: $vgpr31 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec577 ; PAIR-GFX11-NEXT: $vgpr33 = V_CNDMASK_B32_e32 $vgpr1, killed $vgpr2, implicit $mode, implicit $exec, implicit killed $vcc_lo578 ; PAIR-GFX11-NEXT: $vgpr34 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec579 ; PAIR-GFX11-NEXT: $vgpr32 = V_SUB_F32_e32 killed $vgpr1, $vgpr1, implicit $mode, implicit $exec580 ;581 ; PAIR-GFX12-LABEL: name: vopd_schedule_unconstrained_2582 ; PAIR-GFX12: liveins: $vcc_lo583 ; PAIR-GFX12-NEXT: {{ $}}584 ; PAIR-GFX12-NEXT: $vgpr2 = IMPLICIT_DEF585 ; PAIR-GFX12-NEXT: $vgpr3 = IMPLICIT_DEF586 ; PAIR-GFX12-NEXT: $vgpr0 = IMPLICIT_DEF587 ; PAIR-GFX12-NEXT: $vgpr1 = IMPLICIT_DEF588 ; PAIR-GFX12-NEXT: $vgpr20 = IMPLICIT_DEF589 ; PAIR-GFX12-NEXT: $vgpr16, $vgpr35 = V_DUAL_SUB_F32_e32_X_MUL_F32_e32_gfx12 $vgpr1, $vgpr1, $vgpr0, $vgpr0, implicit $mode, implicit $exec, implicit $mode, implicit $exec, implicit $mode, implicit $exec590 ; PAIR-GFX12-NEXT: $vgpr3, $vgpr6 = V_DUAL_SUB_F32_e32_X_MUL_F32_e32_gfx12 $vgpr1, $vgpr1, $vgpr0, $vgpr0, implicit $mode, implicit $exec, implicit $mode, implicit $exec, implicit $mode, implicit $exec591 ; PAIR-GFX12-NEXT: $vgpr2 = V_FMAC_F32_e32 10, $vgpr1, killed $vgpr2, implicit $mode, implicit $exec592 ; PAIR-GFX12-NEXT: $vgpr2 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec593 ; PAIR-GFX12-NEXT: $vgpr4, $vgpr29 = V_DUAL_SUB_F32_e32_X_CNDMASK_B32_e32_gfx12 $vgpr1, $vgpr1, $vgpr0, $vgpr3, implicit $mode, implicit $exec, implicit $vcc_lo, implicit $mode, implicit $exec, implicit $mode, implicit $exec, implicit $vcc_lo594 ; PAIR-GFX12-NEXT: $vgpr19, $vgpr20 = V_DUAL_CNDMASK_B32_e32_X_FMAC_F32_e32_gfx12 $vgpr0, $vgpr3, 10, $vgpr1, killed $vgpr20, implicit $vcc_lo, implicit $exec, implicit $mode, implicit $mode, implicit $exec, implicit $vcc_lo, implicit $mode, implicit $exec595 ; PAIR-GFX12-NEXT: $vgpr15 = V_CNDMASK_B32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec, implicit $vcc_lo596 ; PAIR-GFX12-NEXT: $vgpr10, $vgpr17 = V_DUAL_CNDMASK_B32_e32_X_MUL_F32_e32_gfx12 $vgpr1, $vgpr2, $vgpr0, $vgpr0, implicit $vcc_lo, implicit $exec, implicit $mode, implicit $mode, implicit $exec, implicit $vcc_lo, implicit $mode, implicit $exec597 ; PAIR-GFX12-NEXT: $vgpr11, $vgpr12 = V_DUAL_CNDMASK_B32_e32_X_ADD_F32_e32_gfx12 $vgpr0, $vgpr3, $vgpr1, $vgpr1, implicit $vcc_lo, implicit $exec, implicit $mode, implicit $mode, implicit $exec, implicit $vcc_lo, implicit $mode, implicit $exec598 ; PAIR-GFX12-NEXT: $vgpr37, $vgpr14 = V_DUAL_CNDMASK_B32_e32_X_SUB_F32_e32_gfx12 $vgpr0, killed $vgpr3, $vgpr1, $vgpr1, implicit $vcc_lo, implicit $exec, implicit $mode, implicit $mode, implicit $exec, implicit $vcc_lo, implicit $mode, implicit $exec599 ; PAIR-GFX12-NEXT: $vgpr20 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec600 ; PAIR-GFX12-NEXT: $vgpr21, $vgpr24 = V_DUAL_SUB_F32_e32_X_MUL_F32_e32_gfx12 $vgpr1, $vgpr1, killed $vgpr0, $vgpr0, implicit $mode, implicit $exec, implicit $mode, implicit $exec, implicit $mode, implicit $exec601 ; PAIR-GFX12-NEXT: $vgpr28 = V_CNDMASK_B32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec, implicit $vcc_lo602 ; PAIR-GFX12-NEXT: $vgpr22 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec603 ; PAIR-GFX12-NEXT: $vgpr31 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec604 ; PAIR-GFX12-NEXT: $vgpr33 = V_CNDMASK_B32_e32 $vgpr1, killed $vgpr2, implicit $mode, implicit $exec, implicit killed $vcc_lo605 ; PAIR-GFX12-NEXT: $vgpr34 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec606 ; PAIR-GFX12-NEXT: $vgpr32 = V_SUB_F32_e32 killed $vgpr1, $vgpr1, implicit $mode, implicit $exec607 $vgpr0 = IMPLICIT_DEF608 $vgpr1 = IMPLICIT_DEF609 $vgpr2 = IMPLICIT_DEF610 $vgpr3 = IMPLICIT_DEF611 $vgpr2 = V_FMAC_F32_e32 10, $vgpr1, $vgpr2, implicit $mode, implicit $exec612 $vgpr2 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec613 $vgpr3 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec614 $vgpr10 = V_CNDMASK_B32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec, implicit $vcc615 $vgpr4 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec616 $vgpr6 = V_MUL_F32_e32 $vgpr0, $vgpr0, implicit $mode, implicit $exec617 ; $vgpr9 = V_FMAMK_F32 $vgpr0, 10, $vgpr2, implicit $mode, implicit $exec618 $vgpr11 = V_CNDMASK_B32_e32 $vgpr0, $vgpr3, implicit $mode, implicit $exec, implicit $vcc619 $vgpr19 = V_CNDMASK_B32_e32 $vgpr0, $vgpr3, implicit $mode, implicit $exec, implicit $vcc620 $vgpr12 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec621 $vgpr17 = V_MUL_F32_e32 $vgpr0, $vgpr0, implicit $mode, implicit $exec622 ; $vgpr18 = V_FMAMK_F32 $vgpr0, 10, $vgpr3, implicit $mode, implicit $exec623 ; $vgpr11 = V_FMAC_F32_e32 10, $vgpr1, $vgpr11, implicit $mode, implicit $exec624 $vgpr15 = V_CNDMASK_B32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec, implicit $vcc625 $vgpr16 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec626 $vgpr14 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec627 $vgpr20 = IMPLICIT_DEF628 $vgpr20 = V_FMAC_F32_e32 10, $vgpr1, $vgpr20, implicit $mode, implicit $exec629 $vgpr20 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec630 $vgpr21 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec631 $vgpr28 = V_CNDMASK_B32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec, implicit $vcc632 $vgpr22 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec633 $vgpr24 = V_MUL_F32_e32 $vgpr0, $vgpr0, implicit $mode, implicit $exec634 ; $vgpr9 = V_FMAMK_F32 $vgpr0, 10, $vgpr2, implicit $mode, implicit $exec635 $vgpr29 = V_CNDMASK_B32_e32 $vgpr0, $vgpr3, implicit $mode, implicit $exec, implicit $vcc636 $vgpr37 = V_CNDMASK_B32_e32 $vgpr0, $vgpr3, implicit $mode, implicit $exec, implicit $vcc637 $vgpr31 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec638 $vgpr35 = V_MUL_F32_e32 $vgpr0, $vgpr0, implicit $mode, implicit $exec639 ; $vgpr18 = V_FMAMK_F32 $vgpr0, 10, $vgpr3, implicit $mode, implicit $exec640 ; $vgpr11 = V_FMAC_F32_e32 10, $vgpr1, $vgpr11, implicit $mode, implicit $exec641 $vgpr33 = V_CNDMASK_B32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec, implicit $vcc642 $vgpr34 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec643 $vgpr32 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec644 645...646 647---648name: vopd_mov_fixup649tracksRegLiveness: true650body: |651 bb.0:652 ; SCHED-LABEL: name: vopd_mov_fixup653 ; SCHED: $vgpr0 = IMPLICIT_DEF654 ; SCHED-NEXT: $vgpr1 = IMPLICIT_DEF655 ; SCHED-NEXT: $vgpr2 = V_MOV_B32_e32 target-flags(amdgpu-abs32-lo) @lds, implicit $exec656 ; SCHED-NEXT: $vgpr3 = V_ADD_F32_e32 killed $vgpr0, killed $vgpr1, implicit $mode, implicit $exec657 ; SCHED-NEXT: $vgpr4 = V_MOV_B32_e32 target-flags(amdgpu-abs32-lo) @lds, implicit $exec658 ; SCHED-NEXT: $vgpr5 = V_MOV_B32_e32 target-flags(amdgpu-abs32-lo) @lds, implicit $exec659 ;660 ; PAIR-GFX11-LABEL: name: vopd_mov_fixup661 ; PAIR-GFX11: $vgpr0 = IMPLICIT_DEF662 ; PAIR-GFX11-NEXT: $vgpr1 = IMPLICIT_DEF663 ; PAIR-GFX11-NEXT: $vgpr2, $vgpr3 = V_DUAL_MOV_B32_e32_X_ADD_F32_e32_gfx11 target-flags(amdgpu-abs32-lo) @lds, killed $vgpr0, killed $vgpr1, implicit $exec, implicit $mode, implicit $exec, implicit $mode, implicit $exec664 ; PAIR-GFX11-NEXT: $vgpr4, $vgpr5 = V_DUAL_MOV_B32_e32_X_MOV_B32_e32_gfx11 target-flags(amdgpu-abs32-lo) @lds, target-flags(amdgpu-abs32-lo) @lds, implicit $exec, implicit $exec, implicit $exec665 ;666 ; PAIR-GFX12-LABEL: name: vopd_mov_fixup667 ; PAIR-GFX12: $vgpr0 = IMPLICIT_DEF668 ; PAIR-GFX12-NEXT: $vgpr1 = IMPLICIT_DEF669 ; PAIR-GFX12-NEXT: $vgpr2, $vgpr3 = V_DUAL_MOV_B32_e32_X_ADD_F32_e32_gfx12 target-flags(amdgpu-abs32-lo) @lds, killed $vgpr0, killed $vgpr1, implicit $exec, implicit $mode, implicit $exec, implicit $mode, implicit $exec670 ; PAIR-GFX12-NEXT: $vgpr4, $vgpr5 = V_DUAL_MOV_B32_e32_X_MOV_B32_e32_gfx12 target-flags(amdgpu-abs32-lo) @lds, target-flags(amdgpu-abs32-lo) @lds, implicit $exec, implicit $exec, implicit $exec671 $vgpr0 = IMPLICIT_DEF672 $vgpr1 = IMPLICIT_DEF673 ; should pair674 $vgpr2 = V_MOV_B32_e32 target-flags(amdgpu-abs32-lo) @lds, implicit $exec675 $vgpr3 = V_ADD_F32_e32 $vgpr0, $vgpr1, implicit $mode, implicit $exec676 ; should pair677 $vgpr4 = V_MOV_B32_e32 target-flags(amdgpu-abs32-lo) @lds, implicit $exec678 $vgpr5 = V_MOV_B32_e32 target-flags(amdgpu-abs32-lo) @lds, implicit $exec679...680 681---682name: vopd_mov_fixup_fail683tracksRegLiveness: true684body: |685 bb.0:686 ; SCHED-LABEL: name: vopd_mov_fixup_fail687 ; SCHED: $vgpr0 = V_MOV_B32_e32 target-flags(amdgpu-abs32-lo) @lds, implicit $exec688 ; SCHED-NEXT: $vgpr1 = V_MOV_B32_e32 target-flags(amdgpu-abs32-lo) @lds + 4, implicit $exec689 ;690 ; PAIR-LABEL: name: vopd_mov_fixup_fail691 ; PAIR: $vgpr0 = V_MOV_B32_e32 target-flags(amdgpu-abs32-lo) @lds, implicit $exec692 ; PAIR-NEXT: $vgpr1 = V_MOV_B32_e32 target-flags(amdgpu-abs32-lo) @lds + 4, implicit $exec693 $vgpr0 = V_MOV_B32_e32 target-flags(amdgpu-abs32-lo) @lds, implicit $exec694 $vgpr1 = V_MOV_B32_e32 target-flags(amdgpu-abs32-lo) @lds + 4, implicit $exec695...696 697---698name: vopd_no_combine_dependent_subreg699tracksRegLiveness: true700body: |701 bb.0:702 703 ; SCHED-LABEL: name: vopd_no_combine_dependent_subreg704 ; SCHED: $vgpr0 = IMPLICIT_DEF705 ; SCHED-NEXT: $vgpr2 = V_MOV_B32_e32 0, implicit-def $vgpr2_vgpr3, implicit $exec706 ; SCHED-NEXT: $vgpr5 = V_ADD_F32_e32 killed $vgpr0, killed $vgpr3, implicit $mode, implicit $exec707 ;708 ; PAIR-LABEL: name: vopd_no_combine_dependent_subreg709 ; PAIR: $vgpr0 = IMPLICIT_DEF710 ; PAIR-NEXT: $vgpr2 = V_MOV_B32_e32 0, implicit-def $vgpr2_vgpr3, implicit $exec711 ; PAIR-NEXT: $vgpr5 = V_ADD_F32_e32 killed $vgpr0, killed $vgpr3, implicit $mode, implicit $exec712 $vgpr0 = IMPLICIT_DEF713 $vgpr2 = V_MOV_B32_e32 0, implicit-def $vgpr2_vgpr3, implicit $exec714 $vgpr5 = V_ADD_F32_e32 $vgpr0, $vgpr3, implicit $mode, implicit $exec715...716 717---718name: vopd_mov_mov_same_src_bank719tracksRegLiveness: true720body: |721 bb.0:722 723 ; SCHED-LABEL: name: vopd_mov_mov_same_src_bank724 ; SCHED: $vgpr1 = IMPLICIT_DEF725 ; SCHED-NEXT: $vgpr5 = IMPLICIT_DEF726 ; SCHED-NEXT: $vgpr2 = V_MOV_B32_e32 killed $vgpr1, implicit $exec727 ; SCHED-NEXT: $vgpr3 = V_MOV_B32_e32 killed $vgpr5, implicit $exec728 ;729 ; PAIR-GFX11-LABEL: name: vopd_mov_mov_same_src_bank730 ; PAIR-GFX11: $vgpr1 = IMPLICIT_DEF731 ; PAIR-GFX11-NEXT: $vgpr5 = IMPLICIT_DEF732 ; PAIR-GFX11-NEXT: $vgpr2 = V_MOV_B32_e32 killed $vgpr1, implicit $exec733 ; PAIR-GFX11-NEXT: $vgpr3 = V_MOV_B32_e32 killed $vgpr5, implicit $exec734 ;735 ; PAIR-GFX12-LABEL: name: vopd_mov_mov_same_src_bank736 ; PAIR-GFX12: $vgpr1 = IMPLICIT_DEF737 ; PAIR-GFX12-NEXT: $vgpr5 = IMPLICIT_DEF738 ; PAIR-GFX12-NEXT: $vgpr2, $vgpr3 = V_DUAL_MOV_B32_e32_X_MOV_B32_e32_gfx12 killed $vgpr1, killed $vgpr5, implicit $exec, implicit $exec, implicit $exec739 $vgpr1 = IMPLICIT_DEF740 $vgpr5 = IMPLICIT_DEF741 $vgpr2 = V_MOV_B32_e32 $vgpr1, implicit $exec742 $vgpr3 = V_MOV_B32_e32 $vgpr5, implicit $exec743...744 745---746# There is no race between mov and add, they are executed at the same time747name: vopd_combine_opy_overwrites_opx748tracksRegLiveness: true749body: |750 bb.0:751 ; SCHED-LABEL: name: vopd_combine_opy_overwrites_opx752 ; SCHED: $vgpr1 = IMPLICIT_DEF753 ; SCHED-NEXT: $vgpr3 = IMPLICIT_DEF754 ; SCHED-NEXT: $vgpr0 = V_MOV_B32_e32 killed $vgpr1, implicit $exec755 ; SCHED-NEXT: $vgpr1 = V_ADD_F32_e32 killed $vgpr3, $vgpr3, implicit $mode, implicit $exec756 ;757 ; PAIR-GFX11-LABEL: name: vopd_combine_opy_overwrites_opx758 ; PAIR-GFX11: $vgpr1 = IMPLICIT_DEF759 ; PAIR-GFX11-NEXT: $vgpr3 = IMPLICIT_DEF760 ; PAIR-GFX11-NEXT: $vgpr0, $vgpr1 = V_DUAL_MOV_B32_e32_X_ADD_F32_e32_gfx11 killed $vgpr1, killed $vgpr3, $vgpr3, implicit $exec, implicit $mode, implicit $exec, implicit $mode, implicit $exec761 ;762 ; PAIR-GFX12-LABEL: name: vopd_combine_opy_overwrites_opx763 ; PAIR-GFX12: $vgpr1 = IMPLICIT_DEF764 ; PAIR-GFX12-NEXT: $vgpr3 = IMPLICIT_DEF765 ; PAIR-GFX12-NEXT: $vgpr0, $vgpr1 = V_DUAL_MOV_B32_e32_X_ADD_F32_e32_gfx12 killed $vgpr1, killed $vgpr3, $vgpr3, implicit $exec, implicit $mode, implicit $exec, implicit $mode, implicit $exec766 $vgpr1 = IMPLICIT_DEF767 $vgpr3 = IMPLICIT_DEF768 $vgpr0 = V_MOV_B32_e32 $vgpr1, implicit $exec769 $vgpr1 = V_ADD_F32_e32 $vgpr3, $vgpr3, implicit $mode, implicit $exec770...771 772---773# OPY cannot cosume value produced by OPX774name: vopd_no_combine_opx_overwrites_opy775tracksRegLiveness: true776body: |777 bb.0:778 ; SCHED-LABEL: name: vopd_no_combine_opx_overwrites_opy779 ; SCHED: $vgpr1 = IMPLICIT_DEF780 ; SCHED-NEXT: $vgpr0 = V_MOV_B32_e32 $vgpr1, implicit $exec781 ; SCHED-NEXT: $vgpr3 = V_ADD_F32_e32 killed $vgpr0, killed $vgpr1, implicit $mode, implicit $exec782 ;783 ; PAIR-LABEL: name: vopd_no_combine_opx_overwrites_opy784 ; PAIR: $vgpr1 = IMPLICIT_DEF785 ; PAIR-NEXT: $vgpr0 = V_MOV_B32_e32 $vgpr1, implicit $exec786 ; PAIR-NEXT: $vgpr3 = V_ADD_F32_e32 killed $vgpr0, killed $vgpr1, implicit $mode, implicit $exec787 $vgpr1 = IMPLICIT_DEF788 $vgpr0 = V_MOV_B32_e32 $vgpr1, implicit $exec789 $vgpr3 = V_ADD_F32_e32 $vgpr0, $vgpr1, implicit $mode, implicit $exec790...791