@@ -6,12 +6,11 @@ define <2 x i16> @extract_2xi16(ptr addrspace(1) %p0, ptr addrspace(1) %p1, i1 %
66; GCN: ; %bb.0:
77; GCN-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
88; GCN-NEXT: v_and_b32_e32 v4, 1, v4
9- ; GCN-NEXT: v_cmp_eq_u32_e32 vcc, 1, v4
10- ; GCN-NEXT: s_xor_b64 s[4:5], vcc, -1
9+ ; GCN-NEXT: v_cmp_ne_u32_e32 vcc, 1, v4
1110; GCN-NEXT: ; implicit-def: $vgpr5
1211; GCN-NEXT: ; implicit-def: $vgpr4
13- ; GCN-NEXT: s_and_saveexec_b64 s[6:7], s[ 4:5]
14- ; GCN-NEXT: s_xor_b64 s[4:5], exec, s[6:7 ]
12+ ; GCN-NEXT: s_and_saveexec_b64 s[4:5], vcc
13+ ; GCN-NEXT: s_xor_b64 s[4:5], exec, s[4:5 ]
1514; GCN-NEXT: s_cbranch_execz .LBB0_2
1615; GCN-NEXT: ; %bb.1: ; %F
1716; GCN-NEXT: s_mov_b32 s10, 0
@@ -101,11 +100,10 @@ define <2 x i64> @extract_2xi64(ptr addrspace(1) %p0, ptr addrspace(1) %p1, i1 %
101100; GCN: ; %bb.0:
102101; GCN-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
103102; GCN-NEXT: v_and_b32_e32 v4, 1, v4
104- ; GCN-NEXT: v_cmp_eq_u32_e32 vcc, 1, v4
105- ; GCN-NEXT: s_xor_b64 s[4:5], vcc, -1
103+ ; GCN-NEXT: v_cmp_ne_u32_e32 vcc, 1, v4
106104; GCN-NEXT: ; implicit-def: $vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19
107- ; GCN-NEXT: s_and_saveexec_b64 s[6:7], s[ 4:5]
108- ; GCN-NEXT: s_xor_b64 s[4:5], exec, s[6:7 ]
105+ ; GCN-NEXT: s_and_saveexec_b64 s[4:5], vcc
106+ ; GCN-NEXT: s_xor_b64 s[4:5], exec, s[4:5 ]
109107; GCN-NEXT: s_cbranch_execz .LBB1_2
110108; GCN-NEXT: ; %bb.1: ; %F
111109; GCN-NEXT: s_mov_b32 s10, 0
@@ -172,11 +170,10 @@ define <4 x i64> @extract_4xi64(ptr addrspace(1) %p0, ptr addrspace(1) %p1, i1 %
172170; GCN: ; %bb.0:
173171; GCN-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
174172; GCN-NEXT: v_and_b32_e32 v4, 1, v4
175- ; GCN-NEXT: v_cmp_eq_u32_e32 vcc, 1, v4
176- ; GCN-NEXT: s_xor_b64 s[4:5], vcc, -1
173+ ; GCN-NEXT: v_cmp_ne_u32_e32 vcc, 1, v4
177174; GCN-NEXT: ; implicit-def: $vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19
178- ; GCN-NEXT: s_and_saveexec_b64 s[6:7], s[ 4:5]
179- ; GCN-NEXT: s_xor_b64 s[4:5], exec, s[6:7 ]
175+ ; GCN-NEXT: s_and_saveexec_b64 s[4:5], vcc
176+ ; GCN-NEXT: s_xor_b64 s[4:5], exec, s[4:5 ]
180177; GCN-NEXT: s_cbranch_execz .LBB2_2
181178; GCN-NEXT: ; %bb.1: ; %F
182179; GCN-NEXT: s_mov_b32 s10, 0
@@ -249,11 +246,10 @@ define <8 x i64> @extract_8xi64(ptr addrspace(1) %p0, ptr addrspace(1) %p1, i1 %
249246; GCN: ; %bb.0:
250247; GCN-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
251248; GCN-NEXT: v_and_b32_e32 v4, 1, v4
252- ; GCN-NEXT: v_cmp_eq_u32_e32 vcc, 1, v4
253- ; GCN-NEXT: s_xor_b64 s[4:5], vcc, -1
249+ ; GCN-NEXT: v_cmp_ne_u32_e32 vcc, 1, v4
254250; GCN-NEXT: ; implicit-def: $vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31_vgpr32_vgpr33_vgpr34_vgpr35
255- ; GCN-NEXT: s_and_saveexec_b64 s[6:7], s[ 4:5]
256- ; GCN-NEXT: s_xor_b64 s[4:5], exec, s[6:7 ]
251+ ; GCN-NEXT: s_and_saveexec_b64 s[4:5], vcc
252+ ; GCN-NEXT: s_xor_b64 s[4:5], exec, s[4:5 ]
257253; GCN-NEXT: s_cbranch_execz .LBB3_2
258254; GCN-NEXT: ; %bb.1: ; %F
259255; GCN-NEXT: s_mov_b32 s10, 0
@@ -353,11 +349,10 @@ define <2 x double> @extract_2xf64(ptr addrspace(1) %p0, ptr addrspace(1) %p1, i
353349; GCN: ; %bb.0:
354350; GCN-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
355351; GCN-NEXT: v_and_b32_e32 v4, 1, v4
356- ; GCN-NEXT: v_cmp_eq_u32_e32 vcc, 1, v4
357- ; GCN-NEXT: s_xor_b64 s[4:5], vcc, -1
352+ ; GCN-NEXT: v_cmp_ne_u32_e32 vcc, 1, v4
358353; GCN-NEXT: ; implicit-def: $vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19
359- ; GCN-NEXT: s_and_saveexec_b64 s[6:7], s[ 4:5]
360- ; GCN-NEXT: s_xor_b64 s[4:5], exec, s[6:7 ]
354+ ; GCN-NEXT: s_and_saveexec_b64 s[4:5], vcc
355+ ; GCN-NEXT: s_xor_b64 s[4:5], exec, s[4:5 ]
361356; GCN-NEXT: s_cbranch_execz .LBB4_2
362357; GCN-NEXT: ; %bb.1: ; %F
363358; GCN-NEXT: s_mov_b32 s10, 0
@@ -424,11 +419,10 @@ define <4 x double> @extract_4xf64(ptr addrspace(1) %p0, ptr addrspace(1) %p1, i
424419; GCN: ; %bb.0:
425420; GCN-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
426421; GCN-NEXT: v_and_b32_e32 v4, 1, v4
427- ; GCN-NEXT: v_cmp_eq_u32_e32 vcc, 1, v4
428- ; GCN-NEXT: s_xor_b64 s[4:5], vcc, -1
422+ ; GCN-NEXT: v_cmp_ne_u32_e32 vcc, 1, v4
429423; GCN-NEXT: ; implicit-def: $vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19
430- ; GCN-NEXT: s_and_saveexec_b64 s[6:7], s[ 4:5]
431- ; GCN-NEXT: s_xor_b64 s[4:5], exec, s[6:7 ]
424+ ; GCN-NEXT: s_and_saveexec_b64 s[4:5], vcc
425+ ; GCN-NEXT: s_xor_b64 s[4:5], exec, s[4:5 ]
432426; GCN-NEXT: s_cbranch_execz .LBB5_2
433427; GCN-NEXT: ; %bb.1: ; %F
434428; GCN-NEXT: s_mov_b32 s10, 0
@@ -501,11 +495,10 @@ define <8 x double> @extract_8xf64(ptr addrspace(1) %p0, ptr addrspace(1) %p1, i
501495; GCN: ; %bb.0:
502496; GCN-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
503497; GCN-NEXT: v_and_b32_e32 v4, 1, v4
504- ; GCN-NEXT: v_cmp_eq_u32_e32 vcc, 1, v4
505- ; GCN-NEXT: s_xor_b64 s[4:5], vcc, -1
498+ ; GCN-NEXT: v_cmp_ne_u32_e32 vcc, 1, v4
506499; GCN-NEXT: ; implicit-def: $vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31_vgpr32_vgpr33_vgpr34_vgpr35
507- ; GCN-NEXT: s_and_saveexec_b64 s[6:7], s[ 4:5]
508- ; GCN-NEXT: s_xor_b64 s[4:5], exec, s[6:7 ]
500+ ; GCN-NEXT: s_and_saveexec_b64 s[4:5], vcc
501+ ; GCN-NEXT: s_xor_b64 s[4:5], exec, s[4:5 ]
509502; GCN-NEXT: s_cbranch_execz .LBB6_2
510503; GCN-NEXT: ; %bb.1: ; %F
511504; GCN-NEXT: s_mov_b32 s10, 0
0 commit comments