| # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py | 
 | # RUN: llc -mtriple=amdgcn -mcpu=gfx1100 -verify-machineinstrs -run-pass=postmisched %s -o - | FileCheck -check-prefix=SCHED %s | 
 | # RUN: llc -mtriple=amdgcn -mcpu=gfx1100 -verify-machineinstrs -run-pass=postmisched,gcn-create-vopd %s -o - | FileCheck -check-prefixes=PAIR,PAIR-GFX11 %s | 
 | # RUN: llc -mtriple=amdgcn -mcpu=gfx1200 -verify-machineinstrs -run-pass=postmisched %s -o - | FileCheck -check-prefix=SCHED %s | 
 | # RUN: llc -mtriple=amdgcn -mcpu=gfx1200 -verify-machineinstrs -run-pass=postmisched,gcn-create-vopd %s -o - | FileCheck -check-prefixes=PAIR,PAIR-GFX12 %s | 
 |  | 
 | --- | | 
 |   @lds = external addrspace(3) global [8 x i8] | 
 |   define void @vopd_schedule() { ret void } | 
 |   define void @vopd_fmamk() { ret void } | 
 |   define void @vopd_fmamk_fail() { ret void } | 
 |   define void @vopd_cndmask() { ret void } | 
 |   define void @vopd_mov() { ret void } | 
 |   define void @vopd_mov_mov() { ret void } | 
 |   define void @vopd_constants_fail() { ret void } | 
 |   define void @vopd_constants_inlinable() { ret void } | 
 |   define void @vopd_constants_same() { ret void } | 
 |   define void @vopd_mov_fmaak_constants_same() { ret void } | 
 |   define void @vopd_debug() { ret void } | 
 |   define void @vopd_schedule_unconstrained() { ret void } | 
 |   define void @vopd_schedule_unconstrained_2() { ret void } | 
 |   define void @vopd_mov_fixup() { ret void } | 
 |   define void @vopd_mov_fixup_fail() { ret void } | 
 |   define void @vopd_no_combine_dependent_subreg() { ret void } | 
 |   define void @vopd_mov_mov_same_src_bank() { ret void } | 
 | ... | 
 |  | 
 | --- | 
 | name:            vopd_schedule | 
 | tracksRegLiveness: true | 
 | body:             | | 
 |   bb.0: | 
 |  | 
 |     ; SCHED-LABEL: name: vopd_schedule | 
 |     ; SCHED: $vgpr0 = IMPLICIT_DEF | 
 |     ; SCHED-NEXT: $vgpr1 = IMPLICIT_DEF | 
 |     ; SCHED-NEXT: $vgpr2 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     ; SCHED-NEXT: $vgpr3 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     ; SCHED-NEXT: $vgpr6 = V_MUL_F32_e32 killed $vgpr0, $vgpr0, implicit $mode, implicit $exec | 
 |     ; SCHED-NEXT: $vgpr4 = V_SUB_F32_e32 killed $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     ; PAIR-GFX11-LABEL: name: vopd_schedule | 
 |     ; PAIR-GFX11: $vgpr0 = IMPLICIT_DEF | 
 |     ; PAIR-GFX11-NEXT: $vgpr1 = IMPLICIT_DEF | 
 |     ; PAIR-GFX11-NEXT: $vgpr2 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     ; 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 $exec | 
 |     ; PAIR-GFX11-NEXT: $vgpr4 = V_SUB_F32_e32 killed $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     ; PAIR-GFX12-LABEL: name: vopd_schedule | 
 |     ; PAIR-GFX12: $vgpr0 = IMPLICIT_DEF | 
 |     ; PAIR-GFX12-NEXT: $vgpr1 = IMPLICIT_DEF | 
 |     ; PAIR-GFX12-NEXT: $vgpr2 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     ; 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 $exec | 
 |     ; PAIR-GFX12-NEXT: $vgpr4 = V_SUB_F32_e32 killed $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     $vgpr0 = IMPLICIT_DEF | 
 |     $vgpr1 = IMPLICIT_DEF | 
 |     $vgpr2 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     ; can fuse vgpr3 and vgpr6 writing insts only due to reg constraints | 
 |     $vgpr3 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     $vgpr4 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     $vgpr6 = V_MUL_F32_e32 $vgpr0, $vgpr0, implicit $mode, implicit $exec | 
 |  | 
 | ... | 
 |  | 
 | --- | 
 | name:            vopd_fmamk | 
 | tracksRegLiveness: true | 
 | body:             | | 
 |   bb.0: | 
 |  | 
 |     ; SCHED-LABEL: name: vopd_fmamk | 
 |     ; SCHED: $vgpr2 = IMPLICIT_DEF | 
 |     ; SCHED-NEXT: $vgpr0 = IMPLICIT_DEF | 
 |     ; SCHED-NEXT: $vgpr1 = IMPLICIT_DEF | 
 |     ; SCHED-NEXT: $vgpr3 = IMPLICIT_DEF | 
 |     ; SCHED-NEXT: $vgpr5 = V_FMAMK_F32 killed $vgpr0, 10, killed $vgpr3, implicit $mode, implicit $exec | 
 |     ; SCHED-NEXT: $vgpr2 = V_FMAC_F32_e32 killed $vgpr1, $vgpr1, killed $vgpr2, implicit $mode, implicit $exec | 
 |     ; PAIR-GFX11-LABEL: name: vopd_fmamk | 
 |     ; PAIR-GFX11: $vgpr2 = IMPLICIT_DEF | 
 |     ; PAIR-GFX11-NEXT: $vgpr0 = IMPLICIT_DEF | 
 |     ; PAIR-GFX11-NEXT: $vgpr1 = IMPLICIT_DEF | 
 |     ; PAIR-GFX11-NEXT: $vgpr3 = IMPLICIT_DEF | 
 |     ; 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 $exec | 
 |     ; PAIR-GFX12-LABEL: name: vopd_fmamk | 
 |     ; PAIR-GFX12: $vgpr2 = IMPLICIT_DEF | 
 |     ; PAIR-GFX12-NEXT: $vgpr0 = IMPLICIT_DEF | 
 |     ; PAIR-GFX12-NEXT: $vgpr1 = IMPLICIT_DEF | 
 |     ; PAIR-GFX12-NEXT: $vgpr3 = IMPLICIT_DEF | 
 |     ; 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 $exec | 
 |     $vgpr0 = IMPLICIT_DEF | 
 |     $vgpr1 = IMPLICIT_DEF | 
 |     $vgpr2 = IMPLICIT_DEF | 
 |     $vgpr3 = IMPLICIT_DEF | 
 |     ; should pair | 
 |     $vgpr2 = V_FMAC_F32_e32 $vgpr1, $vgpr1, $vgpr2, implicit $mode, implicit $exec | 
 |     $vgpr5 = V_FMAMK_F32 $vgpr0, 10, $vgpr3, implicit $mode, implicit $exec | 
 |  | 
 | ... | 
 |  | 
 | --- | 
 | name:            vopd_fmamk_fail | 
 | tracksRegLiveness: true | 
 | body:             | | 
 |   bb.0: | 
 |  | 
 |     ; SCHED-LABEL: name: vopd_fmamk_fail | 
 |     ; SCHED: $vgpr1 = IMPLICIT_DEF | 
 |     ; SCHED-NEXT: $vgpr2 = V_XOR_B32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     ; SCHED-NEXT: $vgpr0 = IMPLICIT_DEF | 
 |     ; SCHED-NEXT: $vgpr4 = IMPLICIT_DEF | 
 |     ; SCHED-NEXT: $vgpr5 = V_FMAMK_F32 killed $vgpr0, 10, killed $vgpr4, implicit $mode, implicit $exec | 
 |     ; SCHED-NEXT: $vgpr2 = V_FMAC_F32_e32 killed $vgpr1, $vgpr1, killed $vgpr2, implicit $mode, implicit $exec | 
 |     ; PAIR-LABEL: name: vopd_fmamk_fail | 
 |     ; PAIR: $vgpr1 = IMPLICIT_DEF | 
 |     ; PAIR-NEXT: $vgpr2 = V_XOR_B32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     ; PAIR-NEXT: $vgpr0 = IMPLICIT_DEF | 
 |     ; PAIR-NEXT: $vgpr4 = IMPLICIT_DEF | 
 |     ; PAIR-NEXT: $vgpr5 = V_FMAMK_F32 killed $vgpr0, 10, killed $vgpr4, implicit $mode, implicit $exec | 
 |     ; PAIR-NEXT: $vgpr2 = V_FMAC_F32_e32 killed $vgpr1, $vgpr1, killed $vgpr2, implicit $mode, implicit $exec | 
 |     $vgpr0 = IMPLICIT_DEF | 
 |     $vgpr1 = IMPLICIT_DEF | 
 |     $vgpr2 = V_XOR_B32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     $vgpr4 = IMPLICIT_DEF | 
 |     ; should not pair | 
 |     $vgpr2 = V_FMAC_F32_e32 $vgpr1, $vgpr1, $vgpr2, implicit $mode, implicit $exec | 
 |     $vgpr5 = V_FMAMK_F32 $vgpr0, 10, $vgpr4, implicit $mode, implicit $exec | 
 |  | 
 | ... | 
 |  | 
 | --- | 
 | name:            vopd_cndmask | 
 | tracksRegLiveness: true | 
 | body:             | | 
 |   bb.0: | 
 |     ; SCHED-LABEL: name: vopd_cndmask | 
 |     ; SCHED: $vgpr2 = IMPLICIT_DEF | 
 |     ; SCHED-NEXT: $vgpr0 = IMPLICIT_DEF | 
 |     ; SCHED-NEXT: $vgpr1 = IMPLICIT_DEF | 
 |     ; SCHED-NEXT: $vgpr3 = IMPLICIT_DEF | 
 |     ; SCHED-NEXT: $sgpr20 = IMPLICIT_DEF | 
 |     ; SCHED-NEXT: $vgpr4 = V_FMAMK_F32 $sgpr20, 12345, $vgpr3, implicit $mode, implicit $exec | 
 |     ; SCHED-NEXT: $vgpr2 = V_FMAC_F32_e32 $sgpr20, killed $vgpr1, killed $vgpr2, implicit $mode, implicit $exec | 
 |     ; SCHED-NEXT: $vgpr5 = V_CNDMASK_B32_e32 $vgpr0, $vgpr3, implicit $mode, implicit $exec, implicit $vcc | 
 |     ; SCHED-NEXT: $vgpr7 = V_CNDMASK_B32_e32 killed $vgpr0, $vgpr3, implicit $mode, implicit $exec, implicit $vcc | 
 |     ; SCHED-NEXT: $vgpr6 = V_ADD_F32_e32 $sgpr20, $vgpr3, implicit $mode, implicit $exec | 
 |     ; SCHED-NEXT: $vgpr9 = V_CNDMASK_B32_e32 killed $sgpr20, killed $vgpr3, implicit $mode, implicit $exec, implicit $vcc | 
 |     ; PAIR-GFX11-LABEL: name: vopd_cndmask | 
 |     ; PAIR-GFX11: $vgpr2 = IMPLICIT_DEF | 
 |     ; PAIR-GFX11-NEXT: $vgpr0 = IMPLICIT_DEF | 
 |     ; PAIR-GFX11-NEXT: $vgpr1 = IMPLICIT_DEF | 
 |     ; PAIR-GFX11-NEXT: $vgpr3 = IMPLICIT_DEF | 
 |     ; PAIR-GFX11-NEXT: $sgpr20 = IMPLICIT_DEF | 
 |     ; PAIR-GFX11-NEXT: $vgpr4 = V_FMAMK_F32 $sgpr20, 12345, $vgpr3, implicit $mode, implicit $exec | 
 |     ; 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, implicit $mode, implicit $exec, implicit $mode, implicit $exec, implicit $vcc | 
 |     ; PAIR-GFX11-NEXT: $vgpr7 = V_CNDMASK_B32_e32 killed $vgpr0, $vgpr3, implicit $mode, implicit $exec, implicit $vcc | 
 |     ; PAIR-GFX11-NEXT: $vgpr6 = V_ADD_F32_e32 $sgpr20, $vgpr3, implicit $mode, implicit $exec | 
 |     ; PAIR-GFX11-NEXT: $vgpr9 = V_CNDMASK_B32_e32 killed $sgpr20, killed $vgpr3, implicit $mode, implicit $exec, implicit $vcc | 
 |     ; PAIR-GFX12-LABEL: name: vopd_cndmask | 
 |     ; PAIR-GFX12: $vgpr2 = IMPLICIT_DEF | 
 |     ; PAIR-GFX12-NEXT: $vgpr0 = IMPLICIT_DEF | 
 |     ; PAIR-GFX12-NEXT: $vgpr1 = IMPLICIT_DEF | 
 |     ; PAIR-GFX12-NEXT: $vgpr3 = IMPLICIT_DEF | 
 |     ; PAIR-GFX12-NEXT: $sgpr20 = IMPLICIT_DEF | 
 |     ; PAIR-GFX12-NEXT: $vgpr4 = V_FMAMK_F32 $sgpr20, 12345, $vgpr3, implicit $mode, implicit $exec | 
 |     ; 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, implicit $mode, implicit $exec, implicit $mode, implicit $exec, implicit $vcc | 
 |     ; PAIR-GFX12-NEXT: $vgpr7 = V_CNDMASK_B32_e32 killed $vgpr0, $vgpr3, implicit $mode, implicit $exec, implicit $vcc | 
 |     ; PAIR-GFX12-NEXT: $vgpr6 = V_ADD_F32_e32 $sgpr20, $vgpr3, implicit $mode, implicit $exec | 
 |     ; PAIR-GFX12-NEXT: $vgpr9 = V_CNDMASK_B32_e32 killed $sgpr20, killed $vgpr3, implicit $mode, implicit $exec, implicit $vcc | 
 |     $vgpr0 = IMPLICIT_DEF | 
 |     $vgpr1 = IMPLICIT_DEF | 
 |     $vgpr2 = IMPLICIT_DEF | 
 |     $vgpr3 = IMPLICIT_DEF | 
 |     $sgpr20 = IMPLICIT_DEF | 
 |     ; should pair | 
 |     $vgpr2 = V_FMAC_F32_e32 $sgpr20, $vgpr1, $vgpr2, implicit $mode, implicit $exec | 
 |     $vgpr5 = V_CNDMASK_B32_e32 $vgpr0, $vgpr3, implicit $mode, implicit $exec, implicit $vcc | 
 |     ; should not pair, uses 3 scalars (implicit vcc) | 
 |     $vgpr4 = V_FMAMK_F32 $sgpr20, 12345, $vgpr3, implicit $mode, implicit $exec | 
 |     $vgpr7 = V_CNDMASK_B32_e32 $vgpr0, $vgpr3, implicit $mode, implicit $exec, implicit $vcc | 
 |     ; should not pair, uses 3 scalars (implicit vcc) | 
 |     $vgpr6 = V_ADD_F32_e32 $sgpr20, $vgpr3, implicit $mode, implicit $exec | 
 |     $vgpr9 = V_CNDMASK_B32_e32 $sgpr20, $vgpr3, implicit $mode, implicit $exec, implicit $vcc | 
 |  | 
 | ... | 
 |  | 
 | --- | 
 | name:            vopd_mov | 
 | tracksRegLiveness: true | 
 | body:             | | 
 |   bb.0: | 
 |  | 
 |     ; SCHED-LABEL: name: vopd_mov | 
 |     ; SCHED: $vgpr0 = IMPLICIT_DEF | 
 |     ; SCHED-NEXT: $vgpr1 = IMPLICIT_DEF | 
 |     ; SCHED-NEXT: $vgpr2 = V_MOV_B32_e32 killed $vgpr0, implicit $exec | 
 |     ; SCHED-NEXT: $vgpr3 = V_ADD_F32_e32 killed $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     ; PAIR-GFX11-LABEL: name: vopd_mov | 
 |     ; PAIR-GFX11: $vgpr0 = IMPLICIT_DEF | 
 |     ; PAIR-GFX11-NEXT: $vgpr1 = IMPLICIT_DEF | 
 |     ; 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 $exec | 
 |     ; PAIR-GFX12-LABEL: name: vopd_mov | 
 |     ; PAIR-GFX12: $vgpr0 = IMPLICIT_DEF | 
 |     ; PAIR-GFX12-NEXT: $vgpr1 = IMPLICIT_DEF | 
 |     ; 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 $exec | 
 |     $vgpr0 = IMPLICIT_DEF | 
 |     $vgpr1 = IMPLICIT_DEF | 
 |     $vgpr2 = V_MOV_B32_e32 $vgpr0, implicit $exec | 
 |     $vgpr3 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |  | 
 | ... | 
 |  | 
 | --- | 
 | name:            vopd_mov_mov | 
 | tracksRegLiveness: true | 
 | body:             | | 
 |   bb.0: | 
 |  | 
 |     ; SCHED-LABEL: name: vopd_mov_mov | 
 |     ; SCHED: $sgpr0 = IMPLICIT_DEF | 
 |     ; SCHED-NEXT: $sgpr7 = IMPLICIT_DEF | 
 |     ; SCHED-NEXT: $vgpr2 = V_MOV_B32_e32 killed $sgpr0, implicit $exec | 
 |     ; SCHED-NEXT: $vgpr3 = V_MOV_B32_e32 killed $sgpr7, implicit $exec | 
 |     ; PAIR-GFX11-LABEL: name: vopd_mov_mov | 
 |     ; PAIR-GFX11: $sgpr0 = IMPLICIT_DEF | 
 |     ; PAIR-GFX11-NEXT: $sgpr7 = IMPLICIT_DEF | 
 |     ; PAIR-GFX11-NEXT: $vgpr2, $vgpr3 = V_DUAL_MOV_B32_e32_X_MOV_B32_e32_gfx11 killed $sgpr0, killed $sgpr7, implicit $exec, implicit $exec, implicit $exec | 
 |     ; PAIR-GFX12-LABEL: name: vopd_mov_mov | 
 |     ; PAIR-GFX12: $sgpr0 = IMPLICIT_DEF | 
 |     ; PAIR-GFX12-NEXT: $sgpr7 = IMPLICIT_DEF | 
 |     ; PAIR-GFX12-NEXT: $vgpr2, $vgpr3 = V_DUAL_MOV_B32_e32_X_MOV_B32_e32_gfx12 killed $sgpr0, killed $sgpr7, implicit $exec, implicit $exec, implicit $exec | 
 |     $sgpr0 = IMPLICIT_DEF | 
 |     $sgpr7 = IMPLICIT_DEF | 
 |     $vgpr2 = V_MOV_B32_e32 $sgpr0, implicit $exec | 
 |     $vgpr3 = V_MOV_B32_e32 $sgpr7, implicit $exec | 
 |  | 
 | ... | 
 |  | 
 |  | 
 | --- | 
 | name:            vopd_constants_fail | 
 | tracksRegLiveness: true | 
 | body:             | | 
 |   bb.0: | 
 |  | 
 |     ; SCHED-LABEL: name: vopd_constants_fail | 
 |     ; SCHED: $vgpr2 = IMPLICIT_DEF | 
 |     ; SCHED-NEXT: $vgpr0 = IMPLICIT_DEF | 
 |     ; SCHED-NEXT: $vgpr1 = IMPLICIT_DEF | 
 |     ; SCHED-NEXT: $vgpr3 = IMPLICIT_DEF | 
 |     ; SCHED-NEXT: $vgpr5 = V_FMAMK_F32 killed $vgpr0, 100, killed $vgpr3, implicit $mode, implicit $exec | 
 |     ; SCHED-NEXT: $vgpr2 = V_FMAC_F32_e32 99, killed $vgpr1, killed $vgpr2, implicit $mode, implicit $exec | 
 |     ; PAIR-LABEL: name: vopd_constants_fail | 
 |     ; PAIR: $vgpr2 = IMPLICIT_DEF | 
 |     ; PAIR-NEXT: $vgpr0 = IMPLICIT_DEF | 
 |     ; PAIR-NEXT: $vgpr1 = IMPLICIT_DEF | 
 |     ; PAIR-NEXT: $vgpr3 = IMPLICIT_DEF | 
 |     ; PAIR-NEXT: $vgpr5 = V_FMAMK_F32 killed $vgpr0, 100, killed $vgpr3, implicit $mode, implicit $exec | 
 |     ; PAIR-NEXT: $vgpr2 = V_FMAC_F32_e32 99, killed $vgpr1, killed $vgpr2, implicit $mode, implicit $exec | 
 |     $vgpr0 = IMPLICIT_DEF | 
 |     $vgpr1 = IMPLICIT_DEF | 
 |     $vgpr2 = IMPLICIT_DEF | 
 |     $vgpr3 = IMPLICIT_DEF | 
 |     ; should not pair with two different literals | 
 |     $vgpr2 = V_FMAC_F32_e32 99, $vgpr1, $vgpr2, implicit $mode, implicit $exec | 
 |     $vgpr5 = V_FMAMK_F32 $vgpr0, 100, $vgpr3, implicit $mode, implicit $exec | 
 |  | 
 | ... | 
 |  | 
 | --- | 
 | name:            vopd_constants_inlinable | 
 | tracksRegLiveness: true | 
 | body:             | | 
 |   bb.0: | 
 |     ; SCHED-LABEL: name: vopd_constants_inlinable | 
 |     ; SCHED: $vgpr2 = IMPLICIT_DEF | 
 |     ; SCHED-NEXT: $vgpr0 = IMPLICIT_DEF | 
 |     ; SCHED-NEXT: $vgpr1 = IMPLICIT_DEF | 
 |     ; SCHED-NEXT: $vgpr3 = IMPLICIT_DEF | 
 |     ; SCHED-NEXT: $vgpr5 = V_FMAMK_F32 killed $vgpr0, 100, killed $vgpr3, implicit $mode, implicit $exec | 
 |     ; SCHED-NEXT: $vgpr2 = V_FMAC_F32_e32 4, killed $vgpr1, killed $vgpr2, implicit $mode, implicit $exec | 
 |     ; PAIR-GFX11-LABEL: name: vopd_constants_inlinable | 
 |     ; PAIR-GFX11: $vgpr2 = IMPLICIT_DEF | 
 |     ; PAIR-GFX11-NEXT: $vgpr0 = IMPLICIT_DEF | 
 |     ; PAIR-GFX11-NEXT: $vgpr1 = IMPLICIT_DEF | 
 |     ; PAIR-GFX11-NEXT: $vgpr3 = IMPLICIT_DEF | 
 |     ; 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 $exec | 
 |     ; PAIR-GFX12-LABEL: name: vopd_constants_inlinable | 
 |     ; PAIR-GFX12: $vgpr2 = IMPLICIT_DEF | 
 |     ; PAIR-GFX12-NEXT: $vgpr0 = IMPLICIT_DEF | 
 |     ; PAIR-GFX12-NEXT: $vgpr1 = IMPLICIT_DEF | 
 |     ; PAIR-GFX12-NEXT: $vgpr3 = IMPLICIT_DEF | 
 |     ; 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 $exec | 
 |     $vgpr0 = IMPLICIT_DEF | 
 |     $vgpr1 = IMPLICIT_DEF | 
 |     $vgpr2 = IMPLICIT_DEF | 
 |     $vgpr3 = IMPLICIT_DEF | 
 |     ; can pair since 4 is inlinable | 
 |     $vgpr2 = V_FMAC_F32_e32 4, $vgpr1, $vgpr2, implicit $mode, implicit $exec | 
 |     $vgpr5 = V_FMAMK_F32 $vgpr0, 100, $vgpr3, implicit $mode, implicit $exec | 
 |  | 
 | ... | 
 |  | 
 |  | 
 | --- | 
 | name:            vopd_constants_same | 
 | tracksRegLiveness: true | 
 | body:             | | 
 |   bb.0: | 
 |  | 
 |     ; SCHED-LABEL: name: vopd_constants_same | 
 |     ; SCHED: $vgpr2 = IMPLICIT_DEF | 
 |     ; SCHED-NEXT: $vgpr0 = IMPLICIT_DEF | 
 |     ; SCHED-NEXT: $vgpr1 = IMPLICIT_DEF | 
 |     ; SCHED-NEXT: $vgpr3 = IMPLICIT_DEF | 
 |     ; SCHED-NEXT: $vgpr5 = V_FMAMK_F32 killed $vgpr0, 100, killed $vgpr3, implicit $mode, implicit $exec | 
 |     ; SCHED-NEXT: $vgpr2 = V_FMAC_F32_e32 100, killed $vgpr1, killed $vgpr2, implicit $mode, implicit $exec | 
 |     ; PAIR-GFX11-LABEL: name: vopd_constants_same | 
 |     ; PAIR-GFX11: $vgpr2 = IMPLICIT_DEF | 
 |     ; PAIR-GFX11-NEXT: $vgpr0 = IMPLICIT_DEF | 
 |     ; PAIR-GFX11-NEXT: $vgpr1 = IMPLICIT_DEF | 
 |     ; PAIR-GFX11-NEXT: $vgpr3 = IMPLICIT_DEF | 
 |     ; 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 $exec | 
 |     ; PAIR-GFX12-LABEL: name: vopd_constants_same | 
 |     ; PAIR-GFX12: $vgpr2 = IMPLICIT_DEF | 
 |     ; PAIR-GFX12-NEXT: $vgpr0 = IMPLICIT_DEF | 
 |     ; PAIR-GFX12-NEXT: $vgpr1 = IMPLICIT_DEF | 
 |     ; PAIR-GFX12-NEXT: $vgpr3 = IMPLICIT_DEF | 
 |     ; 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 $exec | 
 |     $vgpr0 = IMPLICIT_DEF | 
 |     $vgpr1 = IMPLICIT_DEF | 
 |     $vgpr2 = IMPLICIT_DEF | 
 |     $vgpr3 = IMPLICIT_DEF | 
 |     ; should be able to pair using 1 deduplicated literal | 
 |     $vgpr2 = V_FMAC_F32_e32 100, $vgpr1, $vgpr2, implicit $mode, implicit $exec | 
 |     $vgpr5 = V_FMAMK_F32 $vgpr0, 100, $vgpr3, implicit $mode, implicit $exec | 
 |  | 
 | ... | 
 |  | 
 | --- | 
 | name:            vopd_mov_fmaak_constants_same | 
 | tracksRegLiveness: true | 
 | body:             | | 
 |   bb.0: | 
 |  | 
 |     ; SCHED-LABEL: name: vopd_mov_fmaak_constants_same | 
 |     ; SCHED: $vgpr0 = IMPLICIT_DEF | 
 |     ; SCHED-NEXT: $sgpr0 = IMPLICIT_DEF | 
 |     ; SCHED-NEXT: $vgpr1 = V_MOV_B32_e32 981467136, implicit $exec | 
 |     ; SCHED-NEXT: $vgpr2 = V_FMAAK_F32 killed $sgpr0, killed $vgpr0, 981467136, implicit $mode, implicit $exec | 
 |     ; PAIR-GFX11-LABEL: name: vopd_mov_fmaak_constants_same | 
 |     ; PAIR-GFX11: $vgpr0 = IMPLICIT_DEF | 
 |     ; PAIR-GFX11-NEXT: $sgpr0 = IMPLICIT_DEF | 
 |     ; 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 $exec | 
 |     ; PAIR-GFX12-LABEL: name: vopd_mov_fmaak_constants_same | 
 |     ; PAIR-GFX12: $vgpr0 = IMPLICIT_DEF | 
 |     ; PAIR-GFX12-NEXT: $sgpr0 = IMPLICIT_DEF | 
 |     ; 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 $exec | 
 |     $vgpr0 = IMPLICIT_DEF | 
 |     $sgpr0 = IMPLICIT_DEF | 
 |     ; should be able to pair using 1 deduplicated literal | 
 |     $vgpr1 = V_MOV_B32_e32 981467136, implicit $exec | 
 |     $vgpr2 = V_FMAAK_F32 $sgpr0, $vgpr0, 981467136, implicit $mode, implicit $exec | 
 |  | 
 | ... | 
 |  | 
 | --- | 
 | name:            vopd_debug | 
 | tracksRegLiveness: true | 
 | body:             | | 
 |   bb.0: | 
 |  | 
 |     ; SCHED-LABEL: name: vopd_debug | 
 |     ; SCHED: $vgpr0 = IMPLICIT_DEF | 
 |     ; SCHED-NEXT: $vgpr1 = IMPLICIT_DEF | 
 |     ; SCHED-NEXT: $vgpr3 = V_SUB_F32_e32 killed $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     ; SCHED-NEXT: DBG_VALUE $vgpr0, 0, 0 | 
 |     ; SCHED-NEXT: $vgpr6 = V_MUL_F32_e32 killed $vgpr0, $vgpr0, implicit $mode, implicit $exec | 
 |     ; PAIR-GFX11-LABEL: name: vopd_debug | 
 |     ; PAIR-GFX11: $vgpr0 = IMPLICIT_DEF | 
 |     ; PAIR-GFX11-NEXT: $vgpr1 = IMPLICIT_DEF | 
 |     ; 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 $exec | 
 |     ; PAIR-GFX11-NEXT: DBG_VALUE $vgpr0, 0, 0 | 
 |     ; PAIR-GFX12-LABEL: name: vopd_debug | 
 |     ; PAIR-GFX12: $vgpr0 = IMPLICIT_DEF | 
 |     ; PAIR-GFX12-NEXT: $vgpr1 = IMPLICIT_DEF | 
 |     ; 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 $exec | 
 |     ; PAIR-GFX12-NEXT: DBG_VALUE $vgpr0, 0, 0 | 
 |     $vgpr0 = IMPLICIT_DEF | 
 |     $vgpr1 = IMPLICIT_DEF | 
 |     ; TODO Debug values disable VOPD creation | 
 |     $vgpr3 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     DBG_VALUE $vgpr0, 0, 0 | 
 |     $vgpr6 = V_MUL_F32_e32 $vgpr0, $vgpr0, implicit $mode, implicit $exec | 
 |  | 
 | ... | 
 |  | 
 | --- | 
 | name:            vopd_schedule_unconstrained | 
 | tracksRegLiveness: true | 
 | body:             | | 
 |   bb.0: | 
 |  | 
 |     ; SCHED-LABEL: name: vopd_schedule_unconstrained | 
 |     ; SCHED: $vgpr2 = IMPLICIT_DEF | 
 |     ; SCHED-NEXT: $vgpr3 = IMPLICIT_DEF | 
 |     ; SCHED-NEXT: $vgpr0 = IMPLICIT_DEF | 
 |     ; SCHED-NEXT: $vgpr1 = IMPLICIT_DEF | 
 |     ; SCHED-NEXT: $vgpr4 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     ; SCHED-NEXT: $vgpr3 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     ; SCHED-NEXT: $vgpr6 = V_MUL_F32_e32 $vgpr0, $vgpr0, implicit $mode, implicit $exec | 
 |     ; SCHED-NEXT: $vgpr2 = V_FMAC_F32_e32 10, $vgpr1, killed $vgpr2, implicit $mode, implicit $exec | 
 |     ; SCHED-NEXT: $vgpr2 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     ; SCHED-NEXT: $vgpr12 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     ; SCHED-NEXT: $vgpr19 = V_CNDMASK_B32_e32 $vgpr0, $vgpr3, implicit $mode, implicit $exec, implicit $vcc | 
 |     ; SCHED-NEXT: $vgpr11 = V_CNDMASK_B32_e32 $vgpr0, killed $vgpr3, implicit $mode, implicit $exec, implicit $vcc | 
 |     ; SCHED-NEXT: $vgpr17 = V_MUL_F32_e32 killed $vgpr0, $vgpr0, implicit $mode, implicit $exec | 
 |     ; SCHED-NEXT: $vgpr10 = V_CNDMASK_B32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec, implicit $vcc | 
 |     ; SCHED-NEXT: $vgpr15 = V_CNDMASK_B32_e32 $vgpr1, killed $vgpr2, implicit $mode, implicit $exec, implicit $vcc | 
 |     ; SCHED-NEXT: $vgpr16 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     ; SCHED-NEXT: $vgpr14 = V_SUB_F32_e32 killed $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     ; PAIR-GFX11-LABEL: name: vopd_schedule_unconstrained | 
 |     ; PAIR-GFX11: $vgpr2 = IMPLICIT_DEF | 
 |     ; PAIR-GFX11-NEXT: $vgpr3 = IMPLICIT_DEF | 
 |     ; PAIR-GFX11-NEXT: $vgpr0 = IMPLICIT_DEF | 
 |     ; PAIR-GFX11-NEXT: $vgpr1 = IMPLICIT_DEF | 
 |     ; PAIR-GFX11-NEXT: $vgpr4 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     ; 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 $exec | 
 |     ; PAIR-GFX11-NEXT: $vgpr2 = V_FMAC_F32_e32 10, $vgpr1, killed $vgpr2, implicit $mode, implicit $exec | 
 |     ; PAIR-GFX11-NEXT: $vgpr2 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     ; PAIR-GFX11-NEXT: $vgpr12, $vgpr19 = V_DUAL_ADD_F32_e32_X_CNDMASK_B32_e32_gfx11 $vgpr1, $vgpr1, $vgpr0, $vgpr3, implicit $mode, implicit $exec, implicit $vcc, implicit $mode, implicit $exec, implicit $mode, implicit $exec, implicit $vcc | 
 |     ; PAIR-GFX11-NEXT: $vgpr11 = V_CNDMASK_B32_e32 $vgpr0, killed $vgpr3, implicit $mode, implicit $exec, implicit $vcc | 
 |     ; 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, implicit $mode, implicit $exec, implicit $mode, implicit $exec, implicit $vcc | 
 |     ; PAIR-GFX11-NEXT: $vgpr15 = V_CNDMASK_B32_e32 $vgpr1, killed $vgpr2, implicit $mode, implicit $exec, implicit $vcc | 
 |     ; PAIR-GFX11-NEXT: $vgpr16 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     ; PAIR-GFX11-NEXT: $vgpr14 = V_SUB_F32_e32 killed $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     ; PAIR-GFX12-LABEL: name: vopd_schedule_unconstrained | 
 |     ; PAIR-GFX12: $vgpr2 = IMPLICIT_DEF | 
 |     ; PAIR-GFX12-NEXT: $vgpr3 = IMPLICIT_DEF | 
 |     ; PAIR-GFX12-NEXT: $vgpr0 = IMPLICIT_DEF | 
 |     ; PAIR-GFX12-NEXT: $vgpr1 = IMPLICIT_DEF | 
 |     ; PAIR-GFX12-NEXT: $vgpr4 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     ; 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 $exec | 
 |     ; PAIR-GFX12-NEXT: $vgpr2 = V_FMAC_F32_e32 10, $vgpr1, killed $vgpr2, implicit $mode, implicit $exec | 
 |     ; PAIR-GFX12-NEXT: $vgpr2 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     ; PAIR-GFX12-NEXT: $vgpr12, $vgpr19 = V_DUAL_ADD_F32_e32_X_CNDMASK_B32_e32_gfx12 $vgpr1, $vgpr1, $vgpr0, $vgpr3, implicit $mode, implicit $exec, implicit $vcc, implicit $mode, implicit $exec, implicit $mode, implicit $exec, implicit $vcc | 
 |     ; PAIR-GFX12-NEXT: $vgpr11 = V_CNDMASK_B32_e32 $vgpr0, killed $vgpr3, implicit $mode, implicit $exec, implicit $vcc | 
 |     ; 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, implicit $mode, implicit $exec, implicit $mode, implicit $exec, implicit $vcc | 
 |     ; PAIR-GFX12-NEXT: $vgpr15 = V_CNDMASK_B32_e32 $vgpr1, killed $vgpr2, implicit $mode, implicit $exec, implicit $vcc | 
 |     ; PAIR-GFX12-NEXT: $vgpr16 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     ; PAIR-GFX12-NEXT: $vgpr14 = V_SUB_F32_e32 killed $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     $vgpr0 = IMPLICIT_DEF | 
 |     $vgpr1 = IMPLICIT_DEF | 
 |     $vgpr2 = IMPLICIT_DEF | 
 |     $vgpr3 = IMPLICIT_DEF | 
 |     $vgpr2 = V_FMAC_F32_e32 10, $vgpr1, $vgpr2, implicit $mode, implicit $exec | 
 |     $vgpr2 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     $vgpr3 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     $vgpr10 = V_CNDMASK_B32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec, implicit $vcc | 
 |     $vgpr4 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     $vgpr6 = V_MUL_F32_e32 $vgpr0, $vgpr0, implicit $mode, implicit $exec | 
 |     ; $vgpr9 = V_FMAMK_F32 $vgpr0, 10, $vgpr2, implicit $mode, implicit $exec | 
 |     $vgpr11 = V_CNDMASK_B32_e32 $vgpr0, $vgpr3, implicit $mode, implicit $exec, implicit $vcc | 
 |     $vgpr19 = V_CNDMASK_B32_e32 $vgpr0, $vgpr3, implicit $mode, implicit $exec, implicit $vcc | 
 |     $vgpr12 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     $vgpr17 = V_MUL_F32_e32 $vgpr0, $vgpr0, implicit $mode, implicit $exec | 
 |     ; $vgpr18 = V_FMAMK_F32 $vgpr0, 10, $vgpr3, implicit $mode, implicit $exec | 
 |     ; $vgpr11 = V_FMAC_F32_e32 10, $vgpr1, $vgpr11, implicit $mode, implicit $exec | 
 |     $vgpr15 = V_CNDMASK_B32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec, implicit $vcc | 
 |     $vgpr16 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     $vgpr14 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |  | 
 | ... | 
 |  | 
 | --- | 
 | name:            vopd_schedule_unconstrained_2 | 
 | tracksRegLiveness: true | 
 | body:             | | 
 |   bb.0: | 
 |  | 
 |     ; SCHED-LABEL: name: vopd_schedule_unconstrained_2 | 
 |     ; SCHED: $vgpr2 = IMPLICIT_DEF | 
 |     ; SCHED-NEXT: $vgpr3 = IMPLICIT_DEF | 
 |     ; SCHED-NEXT: $vgpr0 = IMPLICIT_DEF | 
 |     ; SCHED-NEXT: $vgpr1 = IMPLICIT_DEF | 
 |     ; SCHED-NEXT: $vgpr20 = IMPLICIT_DEF | 
 |     ; SCHED-NEXT: $vgpr16 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     ; SCHED-NEXT: $vgpr35 = V_MUL_F32_e32 $vgpr0, $vgpr0, implicit $mode, implicit $exec | 
 |     ; SCHED-NEXT: $vgpr3 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     ; SCHED-NEXT: $vgpr6 = V_MUL_F32_e32 $vgpr0, $vgpr0, implicit $mode, implicit $exec | 
 |     ; SCHED-NEXT: $vgpr2 = V_FMAC_F32_e32 10, $vgpr1, killed $vgpr2, implicit $mode, implicit $exec | 
 |     ; SCHED-NEXT: $vgpr2 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     ; SCHED-NEXT: $vgpr4 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     ; SCHED-NEXT: $vgpr29 = V_CNDMASK_B32_e32 $vgpr0, $vgpr3, implicit $mode, implicit $exec, implicit $vcc | 
 |     ; SCHED-NEXT: $vgpr19 = V_CNDMASK_B32_e32 $vgpr0, $vgpr3, implicit $mode, implicit $exec, implicit $vcc | 
 |     ; SCHED-NEXT: $vgpr20 = V_FMAC_F32_e32 10, $vgpr1, killed $vgpr20, implicit $mode, implicit $exec | 
 |     ; SCHED-NEXT: $vgpr15 = V_CNDMASK_B32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec, implicit $vcc | 
 |     ; SCHED-NEXT: $vgpr10 = V_CNDMASK_B32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec, implicit $vcc | 
 |     ; SCHED-NEXT: $vgpr17 = V_MUL_F32_e32 $vgpr0, $vgpr0, implicit $mode, implicit $exec | 
 |     ; SCHED-NEXT: $vgpr11 = V_CNDMASK_B32_e32 $vgpr0, $vgpr3, implicit $mode, implicit $exec, implicit $vcc | 
 |     ; SCHED-NEXT: $vgpr12 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     ; SCHED-NEXT: $vgpr37 = V_CNDMASK_B32_e32 $vgpr0, killed $vgpr3, implicit $mode, implicit $exec, implicit $vcc | 
 |     ; SCHED-NEXT: $vgpr14 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     ; SCHED-NEXT: $vgpr20 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     ; SCHED-NEXT: $vgpr21 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     ; SCHED-NEXT: $vgpr24 = V_MUL_F32_e32 killed $vgpr0, $vgpr0, implicit $mode, implicit $exec | 
 |     ; SCHED-NEXT: $vgpr28 = V_CNDMASK_B32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec, implicit $vcc | 
 |     ; SCHED-NEXT: $vgpr22 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     ; SCHED-NEXT: $vgpr31 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     ; SCHED-NEXT: $vgpr33 = V_CNDMASK_B32_e32 $vgpr1, killed $vgpr2, implicit $mode, implicit $exec, implicit $vcc | 
 |     ; SCHED-NEXT: $vgpr34 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     ; SCHED-NEXT: $vgpr32 = V_SUB_F32_e32 killed $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     ; PAIR-GFX11-LABEL: name: vopd_schedule_unconstrained_2 | 
 |     ; PAIR-GFX11: $vgpr2 = IMPLICIT_DEF | 
 |     ; PAIR-GFX11-NEXT: $vgpr3 = IMPLICIT_DEF | 
 |     ; PAIR-GFX11-NEXT: $vgpr0 = IMPLICIT_DEF | 
 |     ; PAIR-GFX11-NEXT: $vgpr1 = IMPLICIT_DEF | 
 |     ; PAIR-GFX11-NEXT: $vgpr20 = IMPLICIT_DEF | 
 |     ; 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 $exec | 
 |     ; 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 $exec | 
 |     ; PAIR-GFX11-NEXT: $vgpr2 = V_FMAC_F32_e32 10, $vgpr1, killed $vgpr2, implicit $mode, implicit $exec | 
 |     ; PAIR-GFX11-NEXT: $vgpr2 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     ; 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, implicit $mode, implicit $exec, implicit $mode, implicit $exec, implicit $vcc | 
 |     ; PAIR-GFX11-NEXT: $vgpr19, $vgpr20 = V_DUAL_CNDMASK_B32_e32_X_FMAC_F32_e32_gfx11 $vgpr0, $vgpr3, 10, $vgpr1, killed $vgpr20, implicit $vcc, implicit $exec, implicit $mode, implicit $mode, implicit $exec, implicit $vcc, implicit $mode, implicit $exec | 
 |     ; PAIR-GFX11-NEXT: $vgpr15 = V_CNDMASK_B32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec, implicit $vcc | 
 |     ; PAIR-GFX11-NEXT: $vgpr10, $vgpr17 = V_DUAL_CNDMASK_B32_e32_X_MUL_F32_e32_gfx11 $vgpr1, $vgpr2, $vgpr0, $vgpr0, implicit $vcc, implicit $exec, implicit $mode, implicit $mode, implicit $exec, implicit $vcc, implicit $mode, implicit $exec | 
 |     ; PAIR-GFX11-NEXT: $vgpr11, $vgpr12 = V_DUAL_CNDMASK_B32_e32_X_ADD_F32_e32_gfx11 $vgpr0, $vgpr3, $vgpr1, $vgpr1, implicit $vcc, implicit $exec, implicit $mode, implicit $mode, implicit $exec, implicit $vcc, implicit $mode, implicit $exec | 
 |     ; PAIR-GFX11-NEXT: $vgpr37, $vgpr14 = V_DUAL_CNDMASK_B32_e32_X_SUB_F32_e32_gfx11 $vgpr0, killed $vgpr3, $vgpr1, $vgpr1, implicit $vcc, implicit $exec, implicit $mode, implicit $mode, implicit $exec, implicit $vcc, implicit $mode, implicit $exec | 
 |     ; PAIR-GFX11-NEXT: $vgpr20 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     ; 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 $exec | 
 |     ; PAIR-GFX11-NEXT: $vgpr28 = V_CNDMASK_B32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec, implicit $vcc | 
 |     ; PAIR-GFX11-NEXT: $vgpr22 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     ; PAIR-GFX11-NEXT: $vgpr31 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     ; PAIR-GFX11-NEXT: $vgpr33 = V_CNDMASK_B32_e32 $vgpr1, killed $vgpr2, implicit $mode, implicit $exec, implicit $vcc | 
 |     ; PAIR-GFX11-NEXT: $vgpr34 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     ; PAIR-GFX11-NEXT: $vgpr32 = V_SUB_F32_e32 killed $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     ; PAIR-GFX12-LABEL: name: vopd_schedule_unconstrained_2 | 
 |     ; PAIR-GFX12: $vgpr2 = IMPLICIT_DEF | 
 |     ; PAIR-GFX12-NEXT: $vgpr3 = IMPLICIT_DEF | 
 |     ; PAIR-GFX12-NEXT: $vgpr0 = IMPLICIT_DEF | 
 |     ; PAIR-GFX12-NEXT: $vgpr1 = IMPLICIT_DEF | 
 |     ; PAIR-GFX12-NEXT: $vgpr20 = IMPLICIT_DEF | 
 |     ; 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 $exec | 
 |     ; 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 $exec | 
 |     ; PAIR-GFX12-NEXT: $vgpr2 = V_FMAC_F32_e32 10, $vgpr1, killed $vgpr2, implicit $mode, implicit $exec | 
 |     ; PAIR-GFX12-NEXT: $vgpr2 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     ; 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, implicit $mode, implicit $exec, implicit $mode, implicit $exec, implicit $vcc | 
 |     ; PAIR-GFX12-NEXT: $vgpr19, $vgpr20 = V_DUAL_CNDMASK_B32_e32_X_FMAC_F32_e32_gfx12 $vgpr0, $vgpr3, 10, $vgpr1, killed $vgpr20, implicit $vcc, implicit $exec, implicit $mode, implicit $mode, implicit $exec, implicit $vcc, implicit $mode, implicit $exec | 
 |     ; PAIR-GFX12-NEXT: $vgpr15 = V_CNDMASK_B32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec, implicit $vcc | 
 |     ; PAIR-GFX12-NEXT: $vgpr10, $vgpr17 = V_DUAL_CNDMASK_B32_e32_X_MUL_F32_e32_gfx12 $vgpr1, $vgpr2, $vgpr0, $vgpr0, implicit $vcc, implicit $exec, implicit $mode, implicit $mode, implicit $exec, implicit $vcc, implicit $mode, implicit $exec | 
 |     ; PAIR-GFX12-NEXT: $vgpr11, $vgpr12 = V_DUAL_CNDMASK_B32_e32_X_ADD_F32_e32_gfx12 $vgpr0, $vgpr3, $vgpr1, $vgpr1, implicit $vcc, implicit $exec, implicit $mode, implicit $mode, implicit $exec, implicit $vcc, implicit $mode, implicit $exec | 
 |     ; PAIR-GFX12-NEXT: $vgpr37, $vgpr14 = V_DUAL_CNDMASK_B32_e32_X_SUB_F32_e32_gfx12 $vgpr0, killed $vgpr3, $vgpr1, $vgpr1, implicit $vcc, implicit $exec, implicit $mode, implicit $mode, implicit $exec, implicit $vcc, implicit $mode, implicit $exec | 
 |     ; PAIR-GFX12-NEXT: $vgpr20 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     ; 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 $exec | 
 |     ; PAIR-GFX12-NEXT: $vgpr28 = V_CNDMASK_B32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec, implicit $vcc | 
 |     ; PAIR-GFX12-NEXT: $vgpr22 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     ; PAIR-GFX12-NEXT: $vgpr31 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     ; PAIR-GFX12-NEXT: $vgpr33 = V_CNDMASK_B32_e32 $vgpr1, killed $vgpr2, implicit $mode, implicit $exec, implicit $vcc | 
 |     ; PAIR-GFX12-NEXT: $vgpr34 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     ; PAIR-GFX12-NEXT: $vgpr32 = V_SUB_F32_e32 killed $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     $vgpr0 = IMPLICIT_DEF | 
 |     $vgpr1 = IMPLICIT_DEF | 
 |     $vgpr2 = IMPLICIT_DEF | 
 |     $vgpr3 = IMPLICIT_DEF | 
 |     $vgpr2 = V_FMAC_F32_e32 10, $vgpr1, $vgpr2, implicit $mode, implicit $exec | 
 |     $vgpr2 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     $vgpr3 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     $vgpr10 = V_CNDMASK_B32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec, implicit $vcc | 
 |     $vgpr4 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     $vgpr6 = V_MUL_F32_e32 $vgpr0, $vgpr0, implicit $mode, implicit $exec | 
 |     ; $vgpr9 = V_FMAMK_F32 $vgpr0, 10, $vgpr2, implicit $mode, implicit $exec | 
 |     $vgpr11 = V_CNDMASK_B32_e32 $vgpr0, $vgpr3, implicit $mode, implicit $exec, implicit $vcc | 
 |     $vgpr19 = V_CNDMASK_B32_e32 $vgpr0, $vgpr3, implicit $mode, implicit $exec, implicit $vcc | 
 |     $vgpr12 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     $vgpr17 = V_MUL_F32_e32 $vgpr0, $vgpr0, implicit $mode, implicit $exec | 
 |     ; $vgpr18 = V_FMAMK_F32 $vgpr0, 10, $vgpr3, implicit $mode, implicit $exec | 
 |     ; $vgpr11 = V_FMAC_F32_e32 10, $vgpr1, $vgpr11, implicit $mode, implicit $exec | 
 |     $vgpr15 = V_CNDMASK_B32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec, implicit $vcc | 
 |     $vgpr16 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     $vgpr14 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     $vgpr20 = IMPLICIT_DEF | 
 |     $vgpr20 = V_FMAC_F32_e32 10, $vgpr1, $vgpr20, implicit $mode, implicit $exec | 
 |     $vgpr20 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     $vgpr21 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     $vgpr28 = V_CNDMASK_B32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec, implicit $vcc | 
 |     $vgpr22 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     $vgpr24 = V_MUL_F32_e32 $vgpr0, $vgpr0, implicit $mode, implicit $exec | 
 |     ; $vgpr9 = V_FMAMK_F32 $vgpr0, 10, $vgpr2, implicit $mode, implicit $exec | 
 |     $vgpr29 = V_CNDMASK_B32_e32 $vgpr0, $vgpr3, implicit $mode, implicit $exec, implicit $vcc | 
 |     $vgpr37 = V_CNDMASK_B32_e32 $vgpr0, $vgpr3, implicit $mode, implicit $exec, implicit $vcc | 
 |     $vgpr31 = V_ADD_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     $vgpr35 = V_MUL_F32_e32 $vgpr0, $vgpr0, implicit $mode, implicit $exec | 
 |     ; $vgpr18 = V_FMAMK_F32 $vgpr0, 10, $vgpr3, implicit $mode, implicit $exec | 
 |     ; $vgpr11 = V_FMAC_F32_e32 10, $vgpr1, $vgpr11, implicit $mode, implicit $exec | 
 |     $vgpr33 = V_CNDMASK_B32_e32 $vgpr1, $vgpr2, implicit $mode, implicit $exec, implicit $vcc | 
 |     $vgpr34 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |     $vgpr32 = V_SUB_F32_e32 $vgpr1, $vgpr1, implicit $mode, implicit $exec | 
 |  | 
 | ... | 
 |  | 
 | --- | 
 | name: vopd_mov_fixup | 
 | tracksRegLiveness: true | 
 | body: | | 
 |   bb.0: | 
 |     ; SCHED-LABEL: name: vopd_mov_fixup | 
 |     ; SCHED: $vgpr0 = IMPLICIT_DEF | 
 |     ; SCHED-NEXT: $vgpr1 = IMPLICIT_DEF | 
 |     ; SCHED-NEXT: $vgpr2 = V_MOV_B32_e32 target-flags(amdgpu-abs32-lo) @lds, implicit $exec | 
 |     ; SCHED-NEXT: $vgpr3 = V_ADD_F32_e32 killed $vgpr0, killed $vgpr1, implicit $mode, implicit $exec | 
 |     ; SCHED-NEXT: $vgpr4 = V_MOV_B32_e32 target-flags(amdgpu-abs32-lo) @lds, implicit $exec | 
 |     ; SCHED-NEXT: $vgpr5 = V_MOV_B32_e32 target-flags(amdgpu-abs32-lo) @lds, implicit $exec | 
 |     ; PAIR-GFX11-LABEL: name: vopd_mov_fixup | 
 |     ; PAIR-GFX11: $vgpr0 = IMPLICIT_DEF | 
 |     ; PAIR-GFX11-NEXT: $vgpr1 = IMPLICIT_DEF | 
 |     ; 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 $exec | 
 |     ; 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 $exec | 
 |     ; PAIR-GFX12-LABEL: name: vopd_mov_fixup | 
 |     ; PAIR-GFX12: $vgpr0 = IMPLICIT_DEF | 
 |     ; PAIR-GFX12-NEXT: $vgpr1 = IMPLICIT_DEF | 
 |     ; 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 $exec | 
 |     ; 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 $exec | 
 |     $vgpr0 = IMPLICIT_DEF | 
 |     $vgpr1 = IMPLICIT_DEF | 
 |     ; should pair | 
 |     $vgpr2 = V_MOV_B32_e32 target-flags(amdgpu-abs32-lo) @lds, implicit $exec | 
 |     $vgpr3 = V_ADD_F32_e32 $vgpr0, $vgpr1, implicit $mode, implicit $exec | 
 |     ; should pair | 
 |     $vgpr4 = V_MOV_B32_e32 target-flags(amdgpu-abs32-lo) @lds, implicit $exec | 
 |     $vgpr5 = V_MOV_B32_e32 target-flags(amdgpu-abs32-lo) @lds, implicit $exec | 
 | ... | 
 |  | 
 | --- | 
 | name: vopd_mov_fixup_fail | 
 | tracksRegLiveness: true | 
 | body: | | 
 |   bb.0: | 
 |     ; SCHED-LABEL: name: vopd_mov_fixup_fail | 
 |     ; SCHED: $vgpr0 = V_MOV_B32_e32 target-flags(amdgpu-abs32-lo) @lds, implicit $exec | 
 |     ; SCHED-NEXT: $vgpr1 = V_MOV_B32_e32 target-flags(amdgpu-abs32-lo) @lds + 4, implicit $exec | 
 |     ; PAIR-LABEL: name: vopd_mov_fixup_fail | 
 |     ; PAIR: $vgpr0 = V_MOV_B32_e32 target-flags(amdgpu-abs32-lo) @lds, implicit $exec | 
 |     ; PAIR-NEXT: $vgpr1 = V_MOV_B32_e32 target-flags(amdgpu-abs32-lo) @lds + 4, implicit $exec | 
 |     $vgpr0 = V_MOV_B32_e32 target-flags(amdgpu-abs32-lo) @lds, implicit $exec | 
 |     $vgpr1 = V_MOV_B32_e32 target-flags(amdgpu-abs32-lo) @lds + 4, implicit $exec | 
 | ... | 
 |  | 
 | --- | 
 | name:            vopd_no_combine_dependent_subreg | 
 | tracksRegLiveness: true | 
 | body:             | | 
 |   bb.0: | 
 |  | 
 |     ; SCHED-LABEL: name: vopd_no_combine_dependent_subreg | 
 |     ; SCHED: $vgpr0 = IMPLICIT_DEF | 
 |     ; SCHED-NEXT: $vgpr2 = V_MOV_B32_e32 0, implicit-def $vgpr2_vgpr3, implicit $exec | 
 |     ; SCHED-NEXT: $vgpr5 = V_ADD_F32_e32 killed $vgpr0, killed $vgpr3, implicit $mode, implicit $exec | 
 |     ; PAIR-LABEL: name: vopd_no_combine_dependent_subreg | 
 |     ; PAIR: $vgpr0 = IMPLICIT_DEF | 
 |     ; PAIR-NEXT: $vgpr2 = V_MOV_B32_e32 0, implicit-def $vgpr2_vgpr3, implicit $exec | 
 |     ; PAIR-NEXT: $vgpr5 = V_ADD_F32_e32 killed $vgpr0, killed $vgpr3, implicit $mode, implicit $exec | 
 |     $vgpr0 = IMPLICIT_DEF | 
 |     $vgpr2 = V_MOV_B32_e32 0, implicit-def $vgpr2_vgpr3, implicit $exec | 
 |     $vgpr5 = V_ADD_F32_e32 $vgpr0, $vgpr3, implicit $mode, implicit $exec | 
 | ... | 
 |  | 
 | --- | 
 | name:            vopd_mov_mov_same_src_bank | 
 | tracksRegLiveness: true | 
 | body:             | | 
 |   bb.0: | 
 |  | 
 |     ; SCHED-LABEL: name: vopd_mov_mov_same_src_bank | 
 |     ; SCHED: $vgpr1 = IMPLICIT_DEF | 
 |     ; SCHED-NEXT: $vgpr5 = IMPLICIT_DEF | 
 |     ; SCHED-NEXT: $vgpr2 = V_MOV_B32_e32 killed $vgpr1, implicit $exec | 
 |     ; SCHED-NEXT: $vgpr3 = V_MOV_B32_e32 killed $vgpr5, implicit $exec | 
 |     ; PAIR-GFX11-LABEL: name: vopd_mov_mov_same_src_bank | 
 |     ; PAIR-GFX11: $vgpr1 = IMPLICIT_DEF | 
 |     ; PAIR-GFX11-NEXT: $vgpr5 = IMPLICIT_DEF | 
 |     ; PAIR-GFX11-NEXT: $vgpr2 = V_MOV_B32_e32 killed $vgpr1, implicit $exec | 
 |     ; PAIR-GFX11-NEXT: $vgpr3 = V_MOV_B32_e32 killed $vgpr5, implicit $exec | 
 |     ; PAIR-GFX12-LABEL: name: vopd_mov_mov_same_src_bank | 
 |     ; PAIR-GFX12: $vgpr1 = IMPLICIT_DEF | 
 |     ; PAIR-GFX12-NEXT: $vgpr5 = IMPLICIT_DEF | 
 |     ; PAIR-GFX12-NEXT: $vgpr2, $vgpr3 = V_DUAL_MOV_B32_e32_X_MOV_B32_e32_gfx12 killed $vgpr1, killed $vgpr5, implicit $exec, implicit $exec, implicit $exec | 
 |     $vgpr1 = IMPLICIT_DEF | 
 |     $vgpr5 = IMPLICIT_DEF | 
 |     $vgpr2 = V_MOV_B32_e32 $vgpr1, implicit $exec | 
 |     $vgpr3 = V_MOV_B32_e32 $vgpr5, implicit $exec | 
 | ... |