@@ -1645,12 +1645,12 @@ define amdgpu_kernel void @multiple_uses_fneg_select_f64(double %x, double %y, i
1645
1645
; GFX7-NEXT: v_mov_b32_e32 v0, s3
1646
1646
; GFX7-NEXT: v_mov_b32_e32 v1, s1
1647
1647
; GFX7-NEXT: s_cselect_b32 s1, s1, s3
1648
- ; GFX7-NEXT: v_cndmask_b32_e64 v0, - v0, - v1, vcc
1648
+ ; GFX7-NEXT: v_cndmask_b32_e32 v0, v0, v1, vcc
1649
1649
; GFX7-NEXT: s_cselect_b32 s0, s0, s2
1650
1650
; GFX7-NEXT: v_mov_b32_e32 v1, s1
1651
1651
; GFX7-NEXT: v_mov_b32_e32 v2, s4
1652
1652
; GFX7-NEXT: s_mov_b32 flat_scratch_lo, s13
1653
- ; GFX7-NEXT: v_cndmask_b32_e32 v1, v1, v0, vcc
1653
+ ; GFX7-NEXT: v_cndmask_b32_e64 v1, v1, - v0, vcc
1654
1654
; GFX7-NEXT: v_mov_b32_e32 v0, s0
1655
1655
; GFX7-NEXT: v_mov_b32_e32 v3, s5
1656
1656
; GFX7-NEXT: flat_store_dwordx2 v[2:3], v[0:1]
@@ -1669,10 +1669,10 @@ define amdgpu_kernel void @multiple_uses_fneg_select_f64(double %x, double %y, i
1669
1669
; GFX9-NEXT: v_mov_b32_e32 v0, s3
1670
1670
; GFX9-NEXT: v_mov_b32_e32 v1, s1
1671
1671
; GFX9-NEXT: s_cselect_b32 s1, s1, s3
1672
- ; GFX9-NEXT: v_cndmask_b32_e64 v0, - v0, - v1, vcc
1672
+ ; GFX9-NEXT: v_cndmask_b32_e32 v0, v0, v1, vcc
1673
1673
; GFX9-NEXT: s_cselect_b32 s0, s0, s2
1674
1674
; GFX9-NEXT: v_mov_b32_e32 v1, s1
1675
- ; GFX9-NEXT: v_cndmask_b32_e32 v1, v1, v0, vcc
1675
+ ; GFX9-NEXT: v_cndmask_b32_e64 v1, v1, - v0, vcc
1676
1676
; GFX9-NEXT: v_mov_b32_e32 v0, s0
1677
1677
; GFX9-NEXT: global_store_dwordx2 v2, v[0:1], s[4:5]
1678
1678
; GFX9-NEXT: s_endpgm
@@ -1683,17 +1683,17 @@ define amdgpu_kernel void @multiple_uses_fneg_select_f64(double %x, double %y, i
1683
1683
; GFX11-NEXT: s_load_b128 s[0:3], s[4:5], 0x0
1684
1684
; GFX11-NEXT: s_load_b32 s6, s[4:5], 0x10
1685
1685
; GFX11-NEXT: s_load_b64 s[4:5], s[4:5], 0x18
1686
+ ; GFX11-NEXT: v_mov_b32_e32 v2, 0
1686
1687
; GFX11-NEXT: s_waitcnt lgkmcnt(0)
1687
1688
; GFX11-NEXT: v_mov_b32_e32 v0, s1
1688
1689
; GFX11-NEXT: s_bitcmp1_b32 s6, 0
1689
1690
; GFX11-NEXT: s_cselect_b32 vcc_lo, -1, 0
1690
- ; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instid1(SALU_CYCLE_1 )
1691
- ; GFX11-NEXT: v_cndmask_b32_e64 v0, - s3, - v0, vcc_lo
1691
+ ; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_3) | instid1(VALU_DEP_1 )
1692
+ ; GFX11-NEXT: v_cndmask_b32_e32 v0, s3, v0, vcc_lo
1692
1693
; GFX11-NEXT: s_and_b32 s6, vcc_lo, exec_lo
1693
1694
; GFX11-NEXT: s_cselect_b32 s1, s1, s3
1694
1695
; GFX11-NEXT: s_cselect_b32 s0, s0, s2
1695
- ; GFX11-NEXT: s_delay_alu instid0(VALU_DEP_1)
1696
- ; GFX11-NEXT: v_dual_mov_b32 v2, 0 :: v_dual_cndmask_b32 v1, s1, v0
1696
+ ; GFX11-NEXT: v_cndmask_b32_e64 v1, s1, -v0, vcc_lo
1697
1697
; GFX11-NEXT: v_mov_b32_e32 v0, s0
1698
1698
; GFX11-NEXT: global_store_b64 v2, v[0:1], s[4:5]
1699
1699
; GFX11-NEXT: s_endpgm
0 commit comments