@@ -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
@@ -3388,9 +3388,9 @@ define float @dyn_extract_v15f32_const_s_v(i32 %sel) {
33883388; GCN-NEXT: v_cndmask_b32_e64 v13, 1.0, 2.0, vcc
33893389; GCN-NEXT: v_cmp_eq_u32_e32 vcc, 2, v0
33903390; GCN-NEXT: v_cndmask_b32_e32 v1, v13, v1, vcc
3391- ; GCN-NEXT: v_cmp_eq_u32_e32 vcc, 3, v0
3391+ ; GCN-NEXT: v_cmp_ne_u32_e32 vcc, 3, v0
33923392; GCN-NEXT: v_mov_b32_e32 v2, 0x40a00000
3393- ; GCN-NEXT: v_cndmask_b32_e64 v1, v1, 4.0, vcc
3393+ ; GCN-NEXT: v_cndmask_b32_e32 v1, 4.0, v1 , vcc
33943394; GCN-NEXT: v_cmp_eq_u32_e32 vcc, 4, v0
33953395; GCN-NEXT: v_mov_b32_e32 v3, 0x40c00000
33963396; GCN-NEXT: v_cndmask_b32_e32 v1, v1, v2, vcc
@@ -3432,32 +3432,32 @@ define float @dyn_extract_v15f32_const_s_v(i32 %sel) {
34323432; GFX10-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
34333433; GFX10-NEXT: v_cmp_eq_u32_e32 vcc_lo, 1, v0
34343434; GFX10-NEXT: v_cndmask_b32_e64 v1, 1.0, 2.0, vcc_lo
3435- ; GFX10-NEXT: v_cmp_eq_u32_e32 vcc_lo, 2, v0
3436- ; GFX10-NEXT: v_cndmask_b32_e64 v1, v1, 0x40400000 , vcc_lo
3437- ; GFX10-NEXT: v_cmp_eq_u32_e32 vcc_lo, 3, v0
3438- ; GFX10-NEXT: v_cndmask_b32_e64 v1, v1, 4.0, vcc_lo
3439- ; GFX10-NEXT: v_cmp_eq_u32_e32 vcc_lo, 4, v0
3440- ; GFX10-NEXT: v_cndmask_b32_e64 v1, v1, 0x40a00000 , vcc_lo
3441- ; GFX10-NEXT: v_cmp_eq_u32_e32 vcc_lo, 5, v0
3442- ; GFX10-NEXT: v_cndmask_b32_e64 v1, v1, 0x40c00000 , vcc_lo
3443- ; GFX10-NEXT: v_cmp_eq_u32_e32 vcc_lo, 6, v0
3444- ; GFX10-NEXT: v_cndmask_b32_e64 v1, v1, 0x40e00000 , vcc_lo
3445- ; GFX10-NEXT: v_cmp_eq_u32_e32 vcc_lo, 7, v0
3446- ; GFX10-NEXT: v_cndmask_b32_e64 v1, v1, 0x41000000 , vcc_lo
3447- ; GFX10-NEXT: v_cmp_eq_u32_e32 vcc_lo, 8, v0
3448- ; GFX10-NEXT: v_cndmask_b32_e64 v1, v1, 0x41100000 , vcc_lo
3449- ; GFX10-NEXT: v_cmp_eq_u32_e32 vcc_lo, 9, v0
3450- ; GFX10-NEXT: v_cndmask_b32_e64 v1, v1, 0x41200000 , vcc_lo
3451- ; GFX10-NEXT: v_cmp_eq_u32_e32 vcc_lo, 10, v0
3452- ; GFX10-NEXT: v_cndmask_b32_e64 v1, v1, 0x41300000 , vcc_lo
3453- ; GFX10-NEXT: v_cmp_eq_u32_e32 vcc_lo, 11, v0
3454- ; GFX10-NEXT: v_cndmask_b32_e64 v1, v1, 0x41400000 , vcc_lo
3455- ; GFX10-NEXT: v_cmp_eq_u32_e32 vcc_lo, 12, v0
3456- ; GFX10-NEXT: v_cndmask_b32_e64 v1, v1, 0x41500000 , vcc_lo
3457- ; GFX10-NEXT: v_cmp_eq_u32_e32 vcc_lo, 13, v0
3458- ; GFX10-NEXT: v_cndmask_b32_e64 v1, v1, 0x41600000 , vcc_lo
3459- ; GFX10-NEXT: v_cmp_eq_u32_e32 vcc_lo, 14, v0
3460- ; GFX10-NEXT: v_cndmask_b32_e64 v1, v1, 0x41700000 , vcc_lo
3435+ ; GFX10-NEXT: v_cmp_ne_u32_e32 vcc_lo, 2, v0
3436+ ; GFX10-NEXT: v_cndmask_b32_e32 v1, 0x40400000, v1 , vcc_lo
3437+ ; GFX10-NEXT: v_cmp_ne_u32_e32 vcc_lo, 3, v0
3438+ ; GFX10-NEXT: v_cndmask_b32_e32 v1, 4.0, v1 , vcc_lo
3439+ ; GFX10-NEXT: v_cmp_ne_u32_e32 vcc_lo, 4, v0
3440+ ; GFX10-NEXT: v_cndmask_b32_e32 v1, 0x40a00000, v1 , vcc_lo
3441+ ; GFX10-NEXT: v_cmp_ne_u32_e32 vcc_lo, 5, v0
3442+ ; GFX10-NEXT: v_cndmask_b32_e32 v1, 0x40c00000, v1 , vcc_lo
3443+ ; GFX10-NEXT: v_cmp_ne_u32_e32 vcc_lo, 6, v0
3444+ ; GFX10-NEXT: v_cndmask_b32_e32 v1, 0x40e00000, v1 , vcc_lo
3445+ ; GFX10-NEXT: v_cmp_ne_u32_e32 vcc_lo, 7, v0
3446+ ; GFX10-NEXT: v_cndmask_b32_e32 v1, 0x41000000, v1 , vcc_lo
3447+ ; GFX10-NEXT: v_cmp_ne_u32_e32 vcc_lo, 8, v0
3448+ ; GFX10-NEXT: v_cndmask_b32_e32 v1, 0x41100000, v1 , vcc_lo
3449+ ; GFX10-NEXT: v_cmp_ne_u32_e32 vcc_lo, 9, v0
3450+ ; GFX10-NEXT: v_cndmask_b32_e32 v1, 0x41200000, v1 , vcc_lo
3451+ ; GFX10-NEXT: v_cmp_ne_u32_e32 vcc_lo, 10, v0
3452+ ; GFX10-NEXT: v_cndmask_b32_e32 v1, 0x41300000, v1 , vcc_lo
3453+ ; GFX10-NEXT: v_cmp_ne_u32_e32 vcc_lo, 11, v0
3454+ ; GFX10-NEXT: v_cndmask_b32_e32 v1, 0x41400000, v1 , vcc_lo
3455+ ; GFX10-NEXT: v_cmp_ne_u32_e32 vcc_lo, 12, v0
3456+ ; GFX10-NEXT: v_cndmask_b32_e32 v1, 0x41500000, v1 , vcc_lo
3457+ ; GFX10-NEXT: v_cmp_ne_u32_e32 vcc_lo, 13, v0
3458+ ; GFX10-NEXT: v_cndmask_b32_e32 v1, 0x41600000, v1 , vcc_lo
3459+ ; GFX10-NEXT: v_cmp_ne_u32_e32 vcc_lo, 14, v0
3460+ ; GFX10-NEXT: v_cndmask_b32_e32 v1, 0x41700000, v1 , vcc_lo
34613461; GFX10-NEXT: v_cmp_eq_u32_e32 vcc_lo, 15, v0
34623462; GFX10-NEXT: v_cndmask_b32_e64 v0, v1, s4, vcc_lo
34633463; GFX10-NEXT: s_setpc_b64 s[30:31]
@@ -3467,32 +3467,32 @@ define float @dyn_extract_v15f32_const_s_v(i32 %sel) {
34673467; GFX11-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
34683468; GFX11-NEXT: v_cmp_eq_u32_e32 vcc_lo, 1, v0
34693469; GFX11-NEXT: v_cndmask_b32_e64 v1, 1.0, 2.0, vcc_lo
3470- ; GFX11-NEXT: v_cmp_eq_u32_e32 vcc_lo, 2, v0
3471- ; GFX11-NEXT: v_cndmask_b32_e64 v1, v1, 0x40400000 , vcc_lo
3472- ; GFX11-NEXT: v_cmp_eq_u32_e32 vcc_lo, 3, v0
3473- ; GFX11-NEXT: v_cndmask_b32_e64 v1, v1, 4.0, vcc_lo
3474- ; GFX11-NEXT: v_cmp_eq_u32_e32 vcc_lo, 4, v0
3475- ; GFX11-NEXT: v_cndmask_b32_e64 v1, v1, 0x40a00000 , vcc_lo
3476- ; GFX11-NEXT: v_cmp_eq_u32_e32 vcc_lo, 5, v0
3477- ; GFX11-NEXT: v_cndmask_b32_e64 v1, v1, 0x40c00000 , vcc_lo
3478- ; GFX11-NEXT: v_cmp_eq_u32_e32 vcc_lo, 6, v0
3479- ; GFX11-NEXT: v_cndmask_b32_e64 v1, v1, 0x40e00000 , vcc_lo
3480- ; GFX11-NEXT: v_cmp_eq_u32_e32 vcc_lo, 7, v0
3481- ; GFX11-NEXT: v_cndmask_b32_e64 v1, v1, 0x41000000 , vcc_lo
3482- ; GFX11-NEXT: v_cmp_eq_u32_e32 vcc_lo, 8, v0
3483- ; GFX11-NEXT: v_cndmask_b32_e64 v1, v1, 0x41100000 , vcc_lo
3484- ; GFX11-NEXT: v_cmp_eq_u32_e32 vcc_lo, 9, v0
3485- ; GFX11-NEXT: v_cndmask_b32_e64 v1, v1, 0x41200000 , vcc_lo
3486- ; GFX11-NEXT: v_cmp_eq_u32_e32 vcc_lo, 10, v0
3487- ; GFX11-NEXT: v_cndmask_b32_e64 v1, v1, 0x41300000 , vcc_lo
3488- ; GFX11-NEXT: v_cmp_eq_u32_e32 vcc_lo, 11, v0
3489- ; GFX11-NEXT: v_cndmask_b32_e64 v1, v1, 0x41400000 , vcc_lo
3490- ; GFX11-NEXT: v_cmp_eq_u32_e32 vcc_lo, 12, v0
3491- ; GFX11-NEXT: v_cndmask_b32_e64 v1, v1, 0x41500000 , vcc_lo
3492- ; GFX11-NEXT: v_cmp_eq_u32_e32 vcc_lo, 13, v0
3493- ; GFX11-NEXT: v_cndmask_b32_e64 v1, v1, 0x41600000 , vcc_lo
3494- ; GFX11-NEXT: v_cmp_eq_u32_e32 vcc_lo, 14, v0
3495- ; GFX11-NEXT: v_cndmask_b32_e64 v1, v1, 0x41700000 , vcc_lo
3470+ ; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 2, v0
3471+ ; GFX11-NEXT: v_cndmask_b32_e32 v1, 0x40400000, v1 , vcc_lo
3472+ ; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 3, v0
3473+ ; GFX11-NEXT: v_cndmask_b32_e32 v1, 4.0, v1 , vcc_lo
3474+ ; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 4, v0
3475+ ; GFX11-NEXT: v_cndmask_b32_e32 v1, 0x40a00000, v1 , vcc_lo
3476+ ; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 5, v0
3477+ ; GFX11-NEXT: v_cndmask_b32_e32 v1, 0x40c00000, v1 , vcc_lo
3478+ ; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 6, v0
3479+ ; GFX11-NEXT: v_cndmask_b32_e32 v1, 0x40e00000, v1 , vcc_lo
3480+ ; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 7, v0
3481+ ; GFX11-NEXT: v_cndmask_b32_e32 v1, 0x41000000, v1 , vcc_lo
3482+ ; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 8, v0
3483+ ; GFX11-NEXT: v_cndmask_b32_e32 v1, 0x41100000, v1 , vcc_lo
3484+ ; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 9, v0
3485+ ; GFX11-NEXT: v_cndmask_b32_e32 v1, 0x41200000, v1 , vcc_lo
3486+ ; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 10, v0
3487+ ; GFX11-NEXT: v_cndmask_b32_e32 v1, 0x41300000, v1 , vcc_lo
3488+ ; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 11, v0
3489+ ; GFX11-NEXT: v_cndmask_b32_e32 v1, 0x41400000, v1 , vcc_lo
3490+ ; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 12, v0
3491+ ; GFX11-NEXT: v_cndmask_b32_e32 v1, 0x41500000, v1 , vcc_lo
3492+ ; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 13, v0
3493+ ; GFX11-NEXT: v_cndmask_b32_e32 v1, 0x41600000, v1 , vcc_lo
3494+ ; GFX11-NEXT: v_cmp_ne_u32_e32 vcc_lo, 14, v0
3495+ ; GFX11-NEXT: v_cndmask_b32_e32 v1, 0x41700000, v1 , vcc_lo
34963496; GFX11-NEXT: v_cmp_eq_u32_e32 vcc_lo, 15, v0
34973497; GFX11-NEXT: v_cndmask_b32_e64 v0, v1, s0, vcc_lo
34983498; GFX11-NEXT: s_setpc_b64 s[30:31]
0 commit comments