@@ -13,9 +13,9 @@ define float @dyn_extract_v8f32_const_s_v(i32 %sel) {
1313; GCN-NEXT: v_cndmask_b32_e64 v6, 1.0, 2.0, vcc
1414; GCN-NEXT: v_cmp_eq_u32_e32 vcc, 2, v0
1515; GCN-NEXT: v_cndmask_b32_e32 v1, v6, v1, vcc
16- ; GCN-NEXT: v_cmp_eq_u32_e32 vcc, 3, v0
16+ ; GCN-NEXT: v_cmp_ne_u32_e32 vcc, 3, v0
1717; GCN-NEXT: v_mov_b32_e32 v2, 0x40a00000
18- ; GCN-NEXT: v_cndmask_b32_e64 v1, v1, 4.0, vcc
18+ ; GCN-NEXT: v_cndmask_b32_e32 v1, 4.0, v1 , vcc
1919; GCN-NEXT: v_cmp_eq_u32_e32 vcc, 4, v0
2020; GCN-NEXT: v_mov_b32_e32 v3, 0x40c00000
2121; GCN-NEXT: v_cndmask_b32_e32 v1, v1, v2, vcc
@@ -34,18 +34,18 @@ define float @dyn_extract_v8f32_const_s_v(i32 %sel) {
3434; GFX10PLUS-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
3535; GFX10PLUS-NEXT: v_cmp_eq_u32_e32 vcc_lo, 1, v0
3636; GFX10PLUS-NEXT: v_cndmask_b32_e64 v1, 1.0, 2.0, vcc_lo
37- ; GFX10PLUS-NEXT: v_cmp_eq_u32_e32 vcc_lo, 2, v0
38- ; GFX10PLUS-NEXT: v_cndmask_b32_e64 v1, v1, 0x40400000 , vcc_lo
39- ; GFX10PLUS-NEXT: v_cmp_eq_u32_e32 vcc_lo, 3, v0
40- ; GFX10PLUS-NEXT: v_cndmask_b32_e64 v1, v1, 4.0, vcc_lo
41- ; GFX10PLUS-NEXT: v_cmp_eq_u32_e32 vcc_lo, 4, v0
42- ; GFX10PLUS-NEXT: v_cndmask_b32_e64 v1, v1, 0x40a00000 , vcc_lo
43- ; GFX10PLUS-NEXT: v_cmp_eq_u32_e32 vcc_lo, 5, v0
44- ; GFX10PLUS-NEXT: v_cndmask_b32_e64 v1, v1, 0x40c00000 , vcc_lo
45- ; GFX10PLUS-NEXT: v_cmp_eq_u32_e32 vcc_lo, 6, v0
46- ; GFX10PLUS-NEXT: v_cndmask_b32_e64 v1, v1, 0x40e00000 , vcc_lo
47- ; GFX10PLUS-NEXT: v_cmp_eq_u32_e32 vcc_lo, 7, v0
48- ; GFX10PLUS-NEXT: v_cndmask_b32_e64 v0, v1, 0x41000000 , vcc_lo
37+ ; GFX10PLUS-NEXT: v_cmp_ne_u32_e32 vcc_lo, 2, v0
38+ ; GFX10PLUS-NEXT: v_cndmask_b32_e32 v1, 0x40400000, v1 , vcc_lo
39+ ; GFX10PLUS-NEXT: v_cmp_ne_u32_e32 vcc_lo, 3, v0
40+ ; GFX10PLUS-NEXT: v_cndmask_b32_e32 v1, 4.0, v1 , vcc_lo
41+ ; GFX10PLUS-NEXT: v_cmp_ne_u32_e32 vcc_lo, 4, v0
42+ ; GFX10PLUS-NEXT: v_cndmask_b32_e32 v1, 0x40a00000, v1 , vcc_lo
43+ ; GFX10PLUS-NEXT: v_cmp_ne_u32_e32 vcc_lo, 5, v0
44+ ; GFX10PLUS-NEXT: v_cndmask_b32_e32 v1, 0x40c00000, v1 , vcc_lo
45+ ; GFX10PLUS-NEXT: v_cmp_ne_u32_e32 vcc_lo, 6, v0
46+ ; GFX10PLUS-NEXT: v_cndmask_b32_e32 v1, 0x40e00000, v1 , vcc_lo
47+ ; GFX10PLUS-NEXT: v_cmp_ne_u32_e32 vcc_lo, 7, v0
48+ ; GFX10PLUS-NEXT: v_cndmask_b32_e32 v0, 0x41000000, v1 , vcc_lo
4949; GFX10PLUS-NEXT: s_setpc_b64 s[30:31]
5050entry:
5151 %ext = extractelement <8 x float > <float 1 .0 , float 2 .0 , float 3 .0 , float 4 .0 , float 5 .0 , float 6 .0 , float 7 .0 , float 8 .0 >, i32 %sel
@@ -3385,9 +3385,9 @@ define float @dyn_extract_v15f32_const_s_v(i32 %sel) {
33853385; GCN-NEXT: v_cndmask_b32_e64 v13, 1.0, 2.0, vcc
33863386; GCN-NEXT: v_cmp_eq_u32_e32 vcc, 2, v0
33873387; GCN-NEXT: v_cndmask_b32_e32 v1, v13, v1, vcc
3388- ; GCN-NEXT: v_cmp_eq_u32_e32 vcc, 3, v0
3388+ ; GCN-NEXT: v_cmp_ne_u32_e32 vcc, 3, v0
33893389; GCN-NEXT: v_mov_b32_e32 v2, 0x40a00000
3390- ; GCN-NEXT: v_cndmask_b32_e64 v1, v1, 4.0, vcc
3390+ ; GCN-NEXT: v_cndmask_b32_e32 v1, 4.0, v1 , vcc
33913391; GCN-NEXT: v_cmp_eq_u32_e32 vcc, 4, v0
33923392; GCN-NEXT: v_mov_b32_e32 v3, 0x40c00000
33933393; GCN-NEXT: v_cndmask_b32_e32 v1, v1, v2, vcc
@@ -3429,32 +3429,32 @@ define float @dyn_extract_v15f32_const_s_v(i32 %sel) {
34293429; GFX10-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
34303430; GFX10-NEXT: v_cmp_eq_u32_e32 vcc_lo, 1, v0
34313431; GFX10-NEXT: v_cndmask_b32_e64 v1, 1.0, 2.0, vcc_lo
3432- ; GFX10-NEXT: v_cmp_eq_u32_e32 vcc_lo, 2, v0
3433- ; GFX10-NEXT: v_cndmask_b32_e64 v1, v1, 0x40400000 , vcc_lo
3434- ; GFX10-NEXT: v_cmp_eq_u32_e32 vcc_lo, 3, v0
3435- ; GFX10-NEXT: v_cndmask_b32_e64 v1, v1, 4.0, vcc_lo
3436- ; GFX10-NEXT: v_cmp_eq_u32_e32 vcc_lo, 4, v0
3437- ; GFX10-NEXT: v_cndmask_b32_e64 v1, v1, 0x40a00000 , vcc_lo
3438- ; GFX10-NEXT: v_cmp_eq_u32_e32 vcc_lo, 5, v0
3439- ; GFX10-NEXT: v_cndmask_b32_e64 v1, v1, 0x40c00000 , vcc_lo
3440- ; GFX10-NEXT: v_cmp_eq_u32_e32 vcc_lo, 6, v0
3441- ; GFX10-NEXT: v_cndmask_b32_e64 v1, v1, 0x40e00000 , vcc_lo
3442- ; GFX10-NEXT: v_cmp_eq_u32_e32 vcc_lo, 7, v0
3443- ; GFX10-NEXT: v_cndmask_b32_e64 v1, v1, 0x41000000 , vcc_lo
3444- ; GFX10-NEXT: v_cmp_eq_u32_e32 vcc_lo, 8, v0
3445- ; GFX10-NEXT: v_cndmask_b32_e64 v1, v1, 0x41100000 , vcc_lo
3446- ; GFX10-NEXT: v_cmp_eq_u32_e32 vcc_lo, 9, v0
3447- ; GFX10-NEXT: v_cndmask_b32_e64 v1, v1, 0x41200000 , vcc_lo
3448- ; GFX10-NEXT: v_cmp_eq_u32_e32 vcc_lo, 10, v0
3449- ; GFX10-NEXT: v_cndmask_b32_e64 v1, v1, 0x41300000 , vcc_lo
3450- ; GFX10-NEXT: v_cmp_eq_u32_e32 vcc_lo, 11, v0
3451- ; GFX10-NEXT: v_cndmask_b32_e64 v1, v1, 0x41400000 , vcc_lo
3452- ; GFX10-NEXT: v_cmp_eq_u32_e32 vcc_lo, 12, v0
3453- ; GFX10-NEXT: v_cndmask_b32_e64 v1, v1, 0x41500000 , vcc_lo
3454- ; GFX10-NEXT: v_cmp_eq_u32_e32 vcc_lo, 13, v0
3455- ; GFX10-NEXT: v_cndmask_b32_e64 v1, v1, 0x41600000 , vcc_lo
3456- ; GFX10-NEXT: v_cmp_eq_u32_e32 vcc_lo, 14, v0
3457- ; GFX10-NEXT: v_cndmask_b32_e64 v1, v1, 0x41700000 , vcc_lo
3432+ ; GFX10-NEXT: v_cmp_ne_u32_e32 vcc_lo, 2, v0
3433+ ; GFX10-NEXT: v_cndmask_b32_e32 v1, 0x40400000, v1 , vcc_lo
3434+ ; GFX10-NEXT: v_cmp_ne_u32_e32 vcc_lo, 3, v0
3435+ ; GFX10-NEXT: v_cndmask_b32_e32 v1, 4.0, v1 , vcc_lo
3436+ ; GFX10-NEXT: v_cmp_ne_u32_e32 vcc_lo, 4, v0
3437+ ; GFX10-NEXT: v_cndmask_b32_e32 v1, 0x40a00000, v1 , vcc_lo
3438+ ; GFX10-NEXT: v_cmp_ne_u32_e32 vcc_lo, 5, v0
3439+ ; GFX10-NEXT: v_cndmask_b32_e32 v1, 0x40c00000, v1 , vcc_lo
3440+ ; GFX10-NEXT: v_cmp_ne_u32_e32 vcc_lo, 6, v0
3441+ ; GFX10-NEXT: v_cndmask_b32_e32 v1, 0x40e00000, v1 , vcc_lo
3442+ ; GFX10-NEXT: v_cmp_ne_u32_e32 vcc_lo, 7, v0
3443+ ; GFX10-NEXT: v_cndmask_b32_e32 v1, 0x41000000, v1 , vcc_lo
3444+ ; GFX10-NEXT: v_cmp_ne_u32_e32 vcc_lo, 8, v0
3445+ ; GFX10-NEXT: v_cndmask_b32_e32 v1, 0x41100000, v1 , vcc_lo
3446+ ; GFX10-NEXT: v_cmp_ne_u32_e32 vcc_lo, 9, v0
3447+ ; GFX10-NEXT: v_cndmask_b32_e32 v1, 0x41200000, v1 , vcc_lo
3448+ ; GFX10-NEXT: v_cmp_ne_u32_e32 vcc_lo, 10, v0
3449+ ; GFX10-NEXT: v_cndmask_b32_e32 v1, 0x41300000, v1 , vcc_lo
3450+ ; GFX10-NEXT: v_cmp_ne_u32_e32 vcc_lo, 11, v0
3451+ ; GFX10-NEXT: v_cndmask_b32_e32 v1, 0x41400000, v1 , vcc_lo
3452+ ; GFX10-NEXT: v_cmp_ne_u32_e32 vcc_lo, 12, v0
3453+ ; GFX10-NEXT: v_cndmask_b32_e32 v1, 0x41500000, v1 , vcc_lo
3454+ ; GFX10-NEXT: v_cmp_ne_u32_e32 vcc_lo, 13, v0
3455+ ; GFX10-NEXT: v_cndmask_b32_e32 v1, 0x41600000, v1 , vcc_lo
3456+ ; GFX10-NEXT: v_cmp_ne_u32_e32 vcc_lo, 14, v0
3457+ ; GFX10-NEXT: v_cndmask_b32_e32 v1, 0x41700000, v1 , vcc_lo
34583458; GFX10-NEXT: v_cmp_eq_u32_e32 vcc_lo, 15, v0
34593459; GFX10-NEXT: v_cndmask_b32_e64 v0, v1, s4, vcc_lo
34603460; GFX10-NEXT: s_setpc_b64 s[30:31]
@@ -3464,32 +3464,32 @@ define float @dyn_extract_v15f32_const_s_v(i32 %sel) {
34643464; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
34653465; GFX11-NEXT: v_cmp_eq_u32_e32 vcc_lo, 1, v0
34663466; GFX11-NEXT: v_cndmask_b32_e64 v1, 1.0, 2.0, vcc_lo
3467- ; GFX11-NEXT: v_cmp_eq_u32_e32 vcc_lo, 2, v0
3468- ; GFX11-NEXT: v_cndmask_b32_e64 v1, v1, 0x40400000 , vcc_lo
3469- ; GFX11-NEXT: v_cmp_eq_u32_e32 vcc_lo, 3, v0
3470- ; GFX11-NEXT: v_cndmask_b32_e64 v1, v1, 4.0, vcc_lo
3471- ; GFX11-NEXT: v_cmp_eq_u32_e32 vcc_lo, 4, v0
3472- ; GFX11-NEXT: v_cndmask_b32_e64 v1, v1, 0x40a00000 , vcc_lo
3473- ; GFX11-NEXT: v_cmp_eq_u32_e32 vcc_lo, 5, v0
3474- ; GFX11-NEXT: v_cndmask_b32_e64 v1, v1, 0x40c00000 , vcc_lo
3475- ; GFX11-NEXT: v_cmp_eq_u32_e32 vcc_lo, 6, v0
3476- ; GFX11-NEXT: v_cndmask_b32_e64 v1, v1, 0x40e00000 , vcc_lo
3477- ; GFX11-NEXT: v_cmp_eq_u32_e32 vcc_lo, 7, v0
3478- ; GFX11-NEXT: v_cndmask_b32_e64 v1, v1, 0x41000000 , vcc_lo
3479- ; GFX11-NEXT: v_cmp_eq_u32_e32 vcc_lo, 8, v0
3480- ; GFX11-NEXT: v_cndmask_b32_e64 v1, v1, 0x41100000 , vcc_lo
3481- ; GFX11-NEXT: v_cmp_eq_u32_e32 vcc_lo, 9, v0
3482- ; GFX11-NEXT: v_cndmask_b32_e64 v1, v1, 0x41200000 , vcc_lo
3483- ; GFX11-NEXT: v_cmp_eq_u32_e32 vcc_lo, 10, v0
3484- ; GFX11-NEXT: v_cndmask_b32_e64 v1, v1, 0x41300000 , vcc_lo
3485- ; GFX11-NEXT: v_cmp_eq_u32_e32 vcc_lo, 11, v0
3486- ; GFX11-NEXT: v_cndmask_b32_e64 v1, v1, 0x41400000 , vcc_lo
3487- ; GFX11-NEXT: v_cmp_eq_u32_e32 vcc_lo, 12, v0
3488- ; GFX11-NEXT: v_cndmask_b32_e64 v1, v1, 0x41500000 , vcc_lo
3489- ; GFX11-NEXT: v_cmp_eq_u32_e32 vcc_lo, 13, v0
3490- ; GFX11-NEXT: v_cndmask_b32_e64 v1, v1, 0x41600000 , vcc_lo
3491- ; GFX11-NEXT: v_cmp_eq_u32_e32 vcc_lo, 14, v0
3492- ; GFX11-NEXT: v_cndmask_b32_e64 v1, v1, 0x41700000 , vcc_lo
3467+ ; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 2, v0
3468+ ; GFX11-NEXT: v_cndmask_b32_e32 v1, 0x40400000, v1 , vcc_lo
3469+ ; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 3, v0
3470+ ; GFX11-NEXT: v_cndmask_b32_e32 v1, 4.0, v1 , vcc_lo
3471+ ; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 4, v0
3472+ ; GFX11-NEXT: v_cndmask_b32_e32 v1, 0x40a00000, v1 , vcc_lo
3473+ ; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 5, v0
3474+ ; GFX11-NEXT: v_cndmask_b32_e32 v1, 0x40c00000, v1 , vcc_lo
3475+ ; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 6, v0
3476+ ; GFX11-NEXT: v_cndmask_b32_e32 v1, 0x40e00000, v1 , vcc_lo
3477+ ; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 7, v0
3478+ ; GFX11-NEXT: v_cndmask_b32_e32 v1, 0x41000000, v1 , vcc_lo
3479+ ; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 8, v0
3480+ ; GFX11-NEXT: v_cndmask_b32_e32 v1, 0x41100000, v1 , vcc_lo
3481+ ; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 9, v0
3482+ ; GFX11-NEXT: v_cndmask_b32_e32 v1, 0x41200000, v1 , vcc_lo
3483+ ; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 10, v0
3484+ ; GFX11-NEXT: v_cndmask_b32_e32 v1, 0x41300000, v1 , vcc_lo
3485+ ; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 11, v0
3486+ ; GFX11-NEXT: v_cndmask_b32_e32 v1, 0x41400000, v1 , vcc_lo
3487+ ; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 12, v0
3488+ ; GFX11-NEXT: v_cndmask_b32_e32 v1, 0x41500000, v1 , vcc_lo
3489+ ; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 13, v0
3490+ ; GFX11-NEXT: v_cndmask_b32_e32 v1, 0x41600000, v1 , vcc_lo
3491+ ; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 14, v0
3492+ ; GFX11-NEXT: v_cndmask_b32_e32 v1, 0x41700000, v1 , vcc_lo
34933493; GFX11-NEXT: v_cmp_eq_u32_e32 vcc_lo, 15, v0
34943494; GFX11-NEXT: v_cndmask_b32_e64 v0, v1, s0, vcc_lo
34953495; GFX11-NEXT: s_setpc_b64 s[30:31]
0 commit comments