Skip to content

Commit 3dc890b

Browse files
committed
[WASM] Update test cases for vselct A, <0>, B
1 parent 33dbfb9 commit 3dc890b

15 files changed

+1051
-1204
lines changed

llvm/test/CodeGen/AArch64/select_cc.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ define <4 x i32> @select_icmp_sgt(<4 x i32> %a, <4 x i8> %b) {
115115
; CHECK-SD-NEXT: sshr v1.4h, v1.4h, #8
116116
; CHECK-SD-NEXT: cmgt v1.4h, v1.4h, #0
117117
; CHECK-SD-NEXT: sshll v1.4s, v1.4h, #0
118-
; CHECK-SD-NEXT: bic v0.16b, v0.16b, v1.16b
118+
; CHECK-SD-NEXT: bic v0.16b, v1.16b, v0.16b
119119
; CHECK-SD-NEXT: ret
120120
;
121121
; CHECK-GI-LABEL: select_icmp_sgt:

llvm/test/CodeGen/AArch64/sve-fixed-length-shuffles.ll

Lines changed: 10 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,9 @@ define void @crash_when_lowering_extract_shuffle(ptr %dst, i1 %cond) vscale_rang
3030
; CHECK-NEXT: // %bb.1: // %vector.body
3131
; CHECK-NEXT: movi v0.2d, #0000000000000000
3232
; CHECK-NEXT: movi v1.2d, #0000000000000000
33-
; CHECK-NEXT: ptrue p0.s
33+
; CHECK-NEXT: ldr z4, [x0]
34+
; CHECK-NEXT: ldr z5, [x0, #2, mul vl]
35+
; CHECK-NEXT: ldr z6, [x0, #3, mul vl]
3436
; CHECK-NEXT: umov w8, v0.b[8]
3537
; CHECK-NEXT: mov v1.b[1], v0.b[1]
3638
; CHECK-NEXT: fmov s2, w8
@@ -60,31 +62,20 @@ define void @crash_when_lowering_extract_shuffle(ptr %dst, i1 %cond) vscale_rang
6062
; CHECK-NEXT: asr z1.s, z1.s, #31
6163
; CHECK-NEXT: uunpklo z3.s, z3.h
6264
; CHECK-NEXT: lsl z0.s, z0.s, #31
63-
; CHECK-NEXT: and z1.s, z1.s, #0x1
65+
; CHECK-NEXT: bic z1.d, z1.d, z4.d
6466
; CHECK-NEXT: lsl z2.s, z2.s, #31
67+
; CHECK-NEXT: ldr z4, [x0, #1, mul vl]
6568
; CHECK-NEXT: asr z0.s, z0.s, #31
66-
; CHECK-NEXT: cmpne p1.s, p0/z, z1.s, #0
67-
; CHECK-NEXT: ldr z1, [x0]
69+
; CHECK-NEXT: str z1, [x0]
6870
; CHECK-NEXT: lsl z3.s, z3.s, #31
6971
; CHECK-NEXT: asr z2.s, z2.s, #31
70-
; CHECK-NEXT: and z0.s, z0.s, #0x1
72+
; CHECK-NEXT: bic z0.d, z0.d, z5.d
7173
; CHECK-NEXT: asr z3.s, z3.s, #31
72-
; CHECK-NEXT: and z2.s, z2.s, #0x1
73-
; CHECK-NEXT: mov z1.s, p1/m, #0 // =0x0
74-
; CHECK-NEXT: cmpne p2.s, p0/z, z0.s, #0
75-
; CHECK-NEXT: ldr z0, [x0, #2, mul vl]
76-
; CHECK-NEXT: and z3.s, z3.s, #0x1
77-
; CHECK-NEXT: str z1, [x0]
78-
; CHECK-NEXT: cmpne p3.s, p0/z, z3.s, #0
79-
; CHECK-NEXT: cmpne p0.s, p0/z, z2.s, #0
80-
; CHECK-NEXT: ldr z3, [x0, #3, mul vl]
81-
; CHECK-NEXT: ldr z2, [x0, #1, mul vl]
82-
; CHECK-NEXT: mov z0.s, p2/m, #0 // =0x0
83-
; CHECK-NEXT: mov z3.s, p3/m, #0 // =0x0
84-
; CHECK-NEXT: mov z2.s, p0/m, #0 // =0x0
74+
; CHECK-NEXT: bic z1.d, z2.d, z4.d
8575
; CHECK-NEXT: str z0, [x0, #2, mul vl]
76+
; CHECK-NEXT: bic z3.d, z3.d, z6.d
77+
; CHECK-NEXT: str z1, [x0, #1, mul vl]
8678
; CHECK-NEXT: str z3, [x0, #3, mul vl]
87-
; CHECK-NEXT: str z2, [x0, #1, mul vl]
8879
; CHECK-NEXT: .LBB1_2: // %exit
8980
; CHECK-NEXT: ret
9081
%broadcast.splat = shufflevector <32 x i1> zeroinitializer, <32 x i1> zeroinitializer, <32 x i32> zeroinitializer

llvm/test/CodeGen/AArch64/vselect-constants.ll

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -124,9 +124,7 @@ define <4 x i32> @cmp_sel_minus1_or_0_vec(<4 x i32> %x, <4 x i32> %y) {
124124
define <4 x i32> @sel_0_or_minus1_vec(<4 x i1> %cond) {
125125
; CHECK-LABEL: sel_0_or_minus1_vec:
126126
; CHECK: // %bb.0:
127-
; CHECK-NEXT: ushll v0.4s, v0.4h, #0
128-
; CHECK-NEXT: shl v0.4s, v0.4s, #31
129-
; CHECK-NEXT: cmge v0.4s, v0.4s, #0
127+
; CHECK-NEXT: movi v0.2d, #0000000000000000
130128
; CHECK-NEXT: ret
131129
%add = select <4 x i1> %cond, <4 x i32> <i32 0, i32 0, i32 0, i32 0>, <4 x i32> <i32 -1, i32 -1, i32 -1, i32 -1>
132130
ret <4 x i32> %add
@@ -170,10 +168,9 @@ define <4 x i32> @sel_0_or_1_vec(<4 x i1> %cond) {
170168
; CHECK-LABEL: sel_0_or_1_vec:
171169
; CHECK: // %bb.0:
172170
; CHECK-NEXT: ushll v0.4s, v0.4h, #0
173-
; CHECK-NEXT: movi v1.4s, #1
174171
; CHECK-NEXT: shl v0.4s, v0.4s, #31
175-
; CHECK-NEXT: cmge v0.4s, v0.4s, #0
176-
; CHECK-NEXT: and v0.16b, v0.16b, v1.16b
172+
; CHECK-NEXT: cmlt v0.4s, v0.4s, #0
173+
; CHECK-NEXT: bic v0.4s, #1
177174
; CHECK-NEXT: ret
178175
%add = select <4 x i1> %cond, <4 x i32> <i32 0, i32 0, i32 0, i32 0>, <4 x i32> <i32 1, i32 1, i32 1, i32 1>
179176
ret <4 x i32> %add

llvm/test/CodeGen/X86/avx512-select.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -411,7 +411,7 @@ define <16 x i16> @pr31515(<16 x i1> %a, <16 x i1> %b, <16 x i16> %c) nounwind {
411411
; X86-AVX512F-NEXT: vpmovzxbw {{.*#+}} ymm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[4],zero,xmm0[5],zero,xmm0[6],zero,xmm0[7],zero,xmm0[8],zero,xmm0[9],zero,xmm0[10],zero,xmm0[11],zero,xmm0[12],zero,xmm0[13],zero,xmm0[14],zero,xmm0[15],zero
412412
; X86-AVX512F-NEXT: vpsllw $15, %ymm0, %ymm0
413413
; X86-AVX512F-NEXT: vpsraw $15, %ymm0, %ymm0
414-
; X86-AVX512F-NEXT: vpandn %ymm2, %ymm0, %ymm0
414+
; X86-AVX512F-NEXT: vpandn %ymm0, %ymm2, %ymm0
415415
; X86-AVX512F-NEXT: retl
416416
;
417417
; X64-AVX512F-LABEL: pr31515:
@@ -420,7 +420,7 @@ define <16 x i16> @pr31515(<16 x i1> %a, <16 x i1> %b, <16 x i16> %c) nounwind {
420420
; X64-AVX512F-NEXT: vpmovzxbw {{.*#+}} ymm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[4],zero,xmm0[5],zero,xmm0[6],zero,xmm0[7],zero,xmm0[8],zero,xmm0[9],zero,xmm0[10],zero,xmm0[11],zero,xmm0[12],zero,xmm0[13],zero,xmm0[14],zero,xmm0[15],zero
421421
; X64-AVX512F-NEXT: vpsllw $15, %ymm0, %ymm0
422422
; X64-AVX512F-NEXT: vpsraw $15, %ymm0, %ymm0
423-
; X64-AVX512F-NEXT: vpandn %ymm2, %ymm0, %ymm0
423+
; X64-AVX512F-NEXT: vpandn %ymm0, %ymm2, %ymm0
424424
; X64-AVX512F-NEXT: retq
425425
;
426426
; X86-AVX512BW-LABEL: pr31515:

llvm/test/CodeGen/X86/avx512-vec-cmp.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1559,7 +1559,7 @@ define <2 x i32> @narrow_cmp_select_reverse(<2 x i64> %x, <2 x i32> %y) nounwind
15591559
; AVX512-NEXT: vpcmpeqq %xmm2, %xmm0, %xmm0 ## encoding: [0xc4,0xe2,0x79,0x29,0xc2]
15601560
; AVX512-NEXT: vpshufd $232, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0x70,0xc0,0xe8]
15611561
; AVX512-NEXT: ## xmm0 = xmm0[0,2,2,3]
1562-
; AVX512-NEXT: vpandn %xmm1, %xmm0, %xmm0 ## encoding: [0xc5,0xf9,0xdf,0xc1]
1562+
; AVX512-NEXT: vpandn %xmm0, %xmm1, %xmm0 ## encoding: [0xc5,0xf1,0xdf,0xc0]
15631563
; AVX512-NEXT: retq ## encoding: [0xc3]
15641564
;
15651565
; SKX-LABEL: narrow_cmp_select_reverse:

llvm/test/CodeGen/X86/avx512fp16-mov.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2483,7 +2483,7 @@ define <8 x i16> @pr59628_xmm(i16 %arg) {
24832483
; X64-NOVL: # %bb.0:
24842484
; X64-NOVL-NEXT: vmovw %edi, %xmm0
24852485
; X64-NOVL-NEXT: vpcmpeqw {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0, %xmm1
2486-
; X64-NOVL-NEXT: vpandn %xmm0, %xmm1, %xmm0
2486+
; X64-NOVL-NEXT: vpandn %xmm1, %xmm0, %xmm0
24872487
; X64-NOVL-NEXT: retq
24882488
%I1 = insertelement <8 x i16> zeroinitializer, i16 %arg, i16 0
24892489
%I2 = insertelement <8 x i16> %I1, i16 0, i16 %arg

llvm/test/CodeGen/X86/avxneconvert-intrinsics.ll

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -218,110 +218,108 @@ declare <8 x bfloat> @llvm.x86.vcvtneps2bf16256(<8 x float> %A)
218218
define <8 x bfloat> @select(i8 %x, <8 x bfloat> %y) nounwind {
219219
; X64-LABEL: select:
220220
; X64: # %bb.0:
221-
; X64-NEXT: vmovaps %xmm0, %xmm1 # encoding: [0xc5,0xf8,0x28,0xc8]
222221
; X64-NEXT: movb %dil, %al # encoding: [0x40,0x88,0xf8]
223222
; X64-NEXT: movb %al, -{{[0-9]+}}(%rsp) # encoding: [0x88,0x44,0x24,0xff]
224223
; X64-NEXT: movzbl -{{[0-9]+}}(%rsp), %eax # encoding: [0x0f,0xb6,0x44,0x24,0xff]
225224
; X64-NEXT: movl %eax, %ecx # encoding: [0x89,0xc1]
226225
; X64-NEXT: andl $1, %ecx # encoding: [0x83,0xe1,0x01]
227226
; X64-NEXT: negl %ecx # encoding: [0xf7,0xd9]
228-
; X64-NEXT: vmovd %ecx, %xmm0 # encoding: [0xc5,0xf9,0x6e,0xc1]
227+
; X64-NEXT: vmovd %ecx, %xmm1 # encoding: [0xc5,0xf9,0x6e,0xc9]
229228
; X64-NEXT: # kill: def $al killed $al killed $eax
230229
; X64-NEXT: movb %al, %cl # encoding: [0x88,0xc1]
231230
; X64-NEXT: shrb %cl # encoding: [0xd0,0xe9]
232231
; X64-NEXT: movzbl %cl, %ecx # encoding: [0x0f,0xb6,0xc9]
233232
; X64-NEXT: andl $1, %ecx # encoding: [0x83,0xe1,0x01]
234233
; X64-NEXT: negl %ecx # encoding: [0xf7,0xd9]
235-
; X64-NEXT: vpinsrw $1, %ecx, %xmm0, %xmm0 # encoding: [0xc5,0xf9,0xc4,0xc1,0x01]
234+
; X64-NEXT: vpinsrw $1, %ecx, %xmm1, %xmm1 # encoding: [0xc5,0xf1,0xc4,0xc9,0x01]
236235
; X64-NEXT: movb %al, %cl # encoding: [0x88,0xc1]
237236
; X64-NEXT: shrb $2, %cl # encoding: [0xc0,0xe9,0x02]
238237
; X64-NEXT: movzbl %cl, %ecx # encoding: [0x0f,0xb6,0xc9]
239238
; X64-NEXT: andl $1, %ecx # encoding: [0x83,0xe1,0x01]
240239
; X64-NEXT: negl %ecx # encoding: [0xf7,0xd9]
241-
; X64-NEXT: vpinsrw $2, %ecx, %xmm0, %xmm0 # encoding: [0xc5,0xf9,0xc4,0xc1,0x02]
240+
; X64-NEXT: vpinsrw $2, %ecx, %xmm1, %xmm1 # encoding: [0xc5,0xf1,0xc4,0xc9,0x02]
242241
; X64-NEXT: movb %al, %cl # encoding: [0x88,0xc1]
243242
; X64-NEXT: shrb $3, %cl # encoding: [0xc0,0xe9,0x03]
244243
; X64-NEXT: movzbl %cl, %ecx # encoding: [0x0f,0xb6,0xc9]
245244
; X64-NEXT: andl $1, %ecx # encoding: [0x83,0xe1,0x01]
246245
; X64-NEXT: negl %ecx # encoding: [0xf7,0xd9]
247-
; X64-NEXT: vpinsrw $3, %ecx, %xmm0, %xmm0 # encoding: [0xc5,0xf9,0xc4,0xc1,0x03]
246+
; X64-NEXT: vpinsrw $3, %ecx, %xmm1, %xmm1 # encoding: [0xc5,0xf1,0xc4,0xc9,0x03]
248247
; X64-NEXT: movb %al, %cl # encoding: [0x88,0xc1]
249248
; X64-NEXT: shrb $4, %cl # encoding: [0xc0,0xe9,0x04]
250249
; X64-NEXT: movzbl %cl, %ecx # encoding: [0x0f,0xb6,0xc9]
251250
; X64-NEXT: andl $1, %ecx # encoding: [0x83,0xe1,0x01]
252251
; X64-NEXT: negl %ecx # encoding: [0xf7,0xd9]
253-
; X64-NEXT: vpinsrw $4, %ecx, %xmm0, %xmm0 # encoding: [0xc5,0xf9,0xc4,0xc1,0x04]
252+
; X64-NEXT: vpinsrw $4, %ecx, %xmm1, %xmm1 # encoding: [0xc5,0xf1,0xc4,0xc9,0x04]
254253
; X64-NEXT: movb %al, %cl # encoding: [0x88,0xc1]
255254
; X64-NEXT: shrb $5, %cl # encoding: [0xc0,0xe9,0x05]
256255
; X64-NEXT: movzbl %cl, %ecx # encoding: [0x0f,0xb6,0xc9]
257256
; X64-NEXT: andl $1, %ecx # encoding: [0x83,0xe1,0x01]
258257
; X64-NEXT: negl %ecx # encoding: [0xf7,0xd9]
259-
; X64-NEXT: vpinsrw $5, %ecx, %xmm0, %xmm0 # encoding: [0xc5,0xf9,0xc4,0xc1,0x05]
258+
; X64-NEXT: vpinsrw $5, %ecx, %xmm1, %xmm1 # encoding: [0xc5,0xf1,0xc4,0xc9,0x05]
260259
; X64-NEXT: movb %al, %cl # encoding: [0x88,0xc1]
261260
; X64-NEXT: shrb $6, %cl # encoding: [0xc0,0xe9,0x06]
262261
; X64-NEXT: movzbl %cl, %ecx # encoding: [0x0f,0xb6,0xc9]
263262
; X64-NEXT: andl $1, %ecx # encoding: [0x83,0xe1,0x01]
264263
; X64-NEXT: negl %ecx # encoding: [0xf7,0xd9]
265-
; X64-NEXT: vpinsrw $6, %ecx, %xmm0, %xmm0 # encoding: [0xc5,0xf9,0xc4,0xc1,0x06]
264+
; X64-NEXT: vpinsrw $6, %ecx, %xmm1, %xmm1 # encoding: [0xc5,0xf1,0xc4,0xc9,0x06]
266265
; X64-NEXT: shrb $7, %al # encoding: [0xc0,0xe8,0x07]
267266
; X64-NEXT: movzbl %al, %eax # encoding: [0x0f,0xb6,0xc0]
268267
; X64-NEXT: negl %eax # encoding: [0xf7,0xd8]
269-
; X64-NEXT: vpinsrw $7, %eax, %xmm0, %xmm0 # encoding: [0xc5,0xf9,0xc4,0xc0,0x07]
268+
; X64-NEXT: vpinsrw $7, %eax, %xmm1, %xmm1 # encoding: [0xc5,0xf1,0xc4,0xc8,0x07]
270269
; X64-NEXT: vpandn %xmm1, %xmm0, %xmm0 # encoding: [0xc5,0xf9,0xdf,0xc1]
271270
; X64-NEXT: retq # encoding: [0xc3]
272271
;
273272
; X86-LABEL: select:
274273
; X86: # %bb.0:
275274
; X86-NEXT: pushl %eax # encoding: [0x50]
276-
; X86-NEXT: vmovaps %xmm0, %xmm1 # encoding: [0xc5,0xf8,0x28,0xc8]
277275
; X86-NEXT: movb {{[0-9]+}}(%esp), %al # encoding: [0x8a,0x44,0x24,0x08]
278276
; X86-NEXT: movb %al, {{[0-9]+}}(%esp) # encoding: [0x88,0x44,0x24,0x03]
279277
; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax # encoding: [0x0f,0xb6,0x44,0x24,0x03]
280278
; X86-NEXT: movl %eax, %ecx # encoding: [0x89,0xc1]
281279
; X86-NEXT: andl $1, %ecx # encoding: [0x83,0xe1,0x01]
282280
; X86-NEXT: negl %ecx # encoding: [0xf7,0xd9]
283-
; X86-NEXT: vmovd %ecx, %xmm0 # encoding: [0xc5,0xf9,0x6e,0xc1]
281+
; X86-NEXT: vmovd %ecx, %xmm1 # encoding: [0xc5,0xf9,0x6e,0xc9]
284282
; X86-NEXT: # kill: def $al killed $al killed $eax
285283
; X86-NEXT: movb %al, %cl # encoding: [0x88,0xc1]
286284
; X86-NEXT: shrb %cl # encoding: [0xd0,0xe9]
287285
; X86-NEXT: movzbl %cl, %ecx # encoding: [0x0f,0xb6,0xc9]
288286
; X86-NEXT: andl $1, %ecx # encoding: [0x83,0xe1,0x01]
289287
; X86-NEXT: negl %ecx # encoding: [0xf7,0xd9]
290-
; X86-NEXT: vpinsrw $1, %ecx, %xmm0, %xmm0 # encoding: [0xc5,0xf9,0xc4,0xc1,0x01]
288+
; X86-NEXT: vpinsrw $1, %ecx, %xmm1, %xmm1 # encoding: [0xc5,0xf1,0xc4,0xc9,0x01]
291289
; X86-NEXT: movb %al, %cl # encoding: [0x88,0xc1]
292290
; X86-NEXT: shrb $2, %cl # encoding: [0xc0,0xe9,0x02]
293291
; X86-NEXT: movzbl %cl, %ecx # encoding: [0x0f,0xb6,0xc9]
294292
; X86-NEXT: andl $1, %ecx # encoding: [0x83,0xe1,0x01]
295293
; X86-NEXT: negl %ecx # encoding: [0xf7,0xd9]
296-
; X86-NEXT: vpinsrw $2, %ecx, %xmm0, %xmm0 # encoding: [0xc5,0xf9,0xc4,0xc1,0x02]
294+
; X86-NEXT: vpinsrw $2, %ecx, %xmm1, %xmm1 # encoding: [0xc5,0xf1,0xc4,0xc9,0x02]
297295
; X86-NEXT: movb %al, %cl # encoding: [0x88,0xc1]
298296
; X86-NEXT: shrb $3, %cl # encoding: [0xc0,0xe9,0x03]
299297
; X86-NEXT: movzbl %cl, %ecx # encoding: [0x0f,0xb6,0xc9]
300298
; X86-NEXT: andl $1, %ecx # encoding: [0x83,0xe1,0x01]
301299
; X86-NEXT: negl %ecx # encoding: [0xf7,0xd9]
302-
; X86-NEXT: vpinsrw $3, %ecx, %xmm0, %xmm0 # encoding: [0xc5,0xf9,0xc4,0xc1,0x03]
300+
; X86-NEXT: vpinsrw $3, %ecx, %xmm1, %xmm1 # encoding: [0xc5,0xf1,0xc4,0xc9,0x03]
303301
; X86-NEXT: movb %al, %cl # encoding: [0x88,0xc1]
304302
; X86-NEXT: shrb $4, %cl # encoding: [0xc0,0xe9,0x04]
305303
; X86-NEXT: movzbl %cl, %ecx # encoding: [0x0f,0xb6,0xc9]
306304
; X86-NEXT: andl $1, %ecx # encoding: [0x83,0xe1,0x01]
307305
; X86-NEXT: negl %ecx # encoding: [0xf7,0xd9]
308-
; X86-NEXT: vpinsrw $4, %ecx, %xmm0, %xmm0 # encoding: [0xc5,0xf9,0xc4,0xc1,0x04]
306+
; X86-NEXT: vpinsrw $4, %ecx, %xmm1, %xmm1 # encoding: [0xc5,0xf1,0xc4,0xc9,0x04]
309307
; X86-NEXT: movb %al, %cl # encoding: [0x88,0xc1]
310308
; X86-NEXT: shrb $5, %cl # encoding: [0xc0,0xe9,0x05]
311309
; X86-NEXT: movzbl %cl, %ecx # encoding: [0x0f,0xb6,0xc9]
312310
; X86-NEXT: andl $1, %ecx # encoding: [0x83,0xe1,0x01]
313311
; X86-NEXT: negl %ecx # encoding: [0xf7,0xd9]
314-
; X86-NEXT: vpinsrw $5, %ecx, %xmm0, %xmm0 # encoding: [0xc5,0xf9,0xc4,0xc1,0x05]
312+
; X86-NEXT: vpinsrw $5, %ecx, %xmm1, %xmm1 # encoding: [0xc5,0xf1,0xc4,0xc9,0x05]
315313
; X86-NEXT: movb %al, %cl # encoding: [0x88,0xc1]
316314
; X86-NEXT: shrb $6, %cl # encoding: [0xc0,0xe9,0x06]
317315
; X86-NEXT: movzbl %cl, %ecx # encoding: [0x0f,0xb6,0xc9]
318316
; X86-NEXT: andl $1, %ecx # encoding: [0x83,0xe1,0x01]
319317
; X86-NEXT: negl %ecx # encoding: [0xf7,0xd9]
320-
; X86-NEXT: vpinsrw $6, %ecx, %xmm0, %xmm0 # encoding: [0xc5,0xf9,0xc4,0xc1,0x06]
318+
; X86-NEXT: vpinsrw $6, %ecx, %xmm1, %xmm1 # encoding: [0xc5,0xf1,0xc4,0xc9,0x06]
321319
; X86-NEXT: shrb $7, %al # encoding: [0xc0,0xe8,0x07]
322320
; X86-NEXT: movzbl %al, %eax # encoding: [0x0f,0xb6,0xc0]
323321
; X86-NEXT: negl %eax # encoding: [0xf7,0xd8]
324-
; X86-NEXT: vpinsrw $7, %eax, %xmm0, %xmm0 # encoding: [0xc5,0xf9,0xc4,0xc0,0x07]
322+
; X86-NEXT: vpinsrw $7, %eax, %xmm1, %xmm1 # encoding: [0xc5,0xf1,0xc4,0xc8,0x07]
325323
; X86-NEXT: vpandn %xmm1, %xmm0, %xmm0 # encoding: [0xc5,0xf9,0xdf,0xc1]
326324
; X86-NEXT: popl %eax # encoding: [0x58]
327325
; X86-NEXT: retl # encoding: [0xc3]

0 commit comments

Comments
 (0)