@@ -6,12 +6,11 @@ define <2 x i16> @extract_2xi16(ptr addrspace(1) %p0, ptr addrspace(1) %p1, i1 %
6
6
; GCN: ; %bb.0:
7
7
; GCN-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
8
8
; 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
11
10
; GCN-NEXT: ; implicit-def: $vgpr5
12
11
; 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 ]
15
14
; GCN-NEXT: s_cbranch_execz .LBB0_2
16
15
; GCN-NEXT: ; %bb.1: ; %F
17
16
; 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 %
101
100
; GCN: ; %bb.0:
102
101
; GCN-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
103
102
; 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
106
104
; 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 ]
109
107
; GCN-NEXT: s_cbranch_execz .LBB1_2
110
108
; GCN-NEXT: ; %bb.1: ; %F
111
109
; 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 %
172
170
; GCN: ; %bb.0:
173
171
; GCN-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
174
172
; 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
177
174
; 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 ]
180
177
; GCN-NEXT: s_cbranch_execz .LBB2_2
181
178
; GCN-NEXT: ; %bb.1: ; %F
182
179
; 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 %
249
246
; GCN: ; %bb.0:
250
247
; GCN-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
251
248
; 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
254
250
; 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 ]
257
253
; GCN-NEXT: s_cbranch_execz .LBB3_2
258
254
; GCN-NEXT: ; %bb.1: ; %F
259
255
; 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
353
349
; GCN: ; %bb.0:
354
350
; GCN-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
355
351
; 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
358
353
; 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 ]
361
356
; GCN-NEXT: s_cbranch_execz .LBB4_2
362
357
; GCN-NEXT: ; %bb.1: ; %F
363
358
; 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
424
419
; GCN: ; %bb.0:
425
420
; GCN-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
426
421
; 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
429
423
; 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 ]
432
426
; GCN-NEXT: s_cbranch_execz .LBB5_2
433
427
; GCN-NEXT: ; %bb.1: ; %F
434
428
; 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
501
495
; GCN: ; %bb.0:
502
496
; GCN-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
503
497
; 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
506
499
; 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 ]
509
502
; GCN-NEXT: s_cbranch_execz .LBB6_2
510
503
; GCN-NEXT: ; %bb.1: ; %F
511
504
; GCN-NEXT: s_mov_b32 s10, 0
0 commit comments