@@ -325,19 +325,14 @@ define <8 x i32> @bool_zext_xor(<8 x i1> %x, <8 x i1> %y) {
325
325
define <8 x i32 > @bool_sext_and (<8 x i1 > %x , <8 x i1 > %y ) {
326
326
; SSE2-LABEL: bool_sext_and:
327
327
; SSE2: # %bb.0:
328
- ; SSE2-NEXT: movdqa %xmm1, %xmm3
329
- ; SSE2-NEXT: punpckhwd {{.*#+}} xmm3 = xmm3[4,4,5,5,6,6,7,7]
330
- ; SSE2-NEXT: movdqa %xmm0, %xmm2
331
- ; SSE2-NEXT: punpckhwd {{.*#+}} xmm2 = xmm2[4,4,5,5,6,6,7,7]
332
- ; SSE2-NEXT: pand %xmm3, %xmm2
333
- ; SSE2-NEXT: punpcklwd {{.*#+}} xmm1 = xmm1[0,0,1,1,2,2,3,3]
328
+ ; SSE2-NEXT: pand %xmm0, %xmm1
329
+ ; SSE2-NEXT: movdqa %xmm1, %xmm0
334
330
; SSE2-NEXT: punpcklwd {{.*#+}} xmm0 = xmm0[0,0,1,1,2,2,3,3]
335
- ; SSE2-NEXT: pand %xmm1, %xmm0
336
331
; SSE2-NEXT: pslld $31, %xmm0
337
332
; SSE2-NEXT: psrad $31, %xmm0
338
- ; SSE2-NEXT: pslld $31, %xmm2
339
- ; SSE2-NEXT: psrad $31, %xmm2
340
- ; SSE2-NEXT: movdqa %xmm2 , %xmm1
333
+ ; SSE2-NEXT: punpckhwd {{.*#+}} xmm1 = xmm1[4,4,5,5,6,6,7,7]
334
+ ; SSE2-NEXT: pslld $31, %xmm1
335
+ ; SSE2-NEXT: psrad $31 , %xmm1
341
336
; SSE2-NEXT: retq
342
337
;
343
338
; AVX2-LABEL: bool_sext_and:
@@ -356,19 +351,14 @@ define <8 x i32> @bool_sext_and(<8 x i1> %x, <8 x i1> %y) {
356
351
define <8 x i32 > @bool_sext_or (<8 x i1 > %x , <8 x i1 > %y ) {
357
352
; SSE2-LABEL: bool_sext_or:
358
353
; SSE2: # %bb.0:
359
- ; SSE2-NEXT: movdqa %xmm1, %xmm3
360
- ; SSE2-NEXT: punpckhwd {{.*#+}} xmm3 = xmm3[4,4,5,5,6,6,7,7]
361
- ; SSE2-NEXT: movdqa %xmm0, %xmm2
362
- ; SSE2-NEXT: punpckhwd {{.*#+}} xmm2 = xmm2[4,4,5,5,6,6,7,7]
363
- ; SSE2-NEXT: por %xmm3, %xmm2
364
- ; SSE2-NEXT: punpcklwd {{.*#+}} xmm1 = xmm1[0,0,1,1,2,2,3,3]
354
+ ; SSE2-NEXT: por %xmm0, %xmm1
355
+ ; SSE2-NEXT: movdqa %xmm1, %xmm0
365
356
; SSE2-NEXT: punpcklwd {{.*#+}} xmm0 = xmm0[0,0,1,1,2,2,3,3]
366
- ; SSE2-NEXT: por %xmm1, %xmm0
367
357
; SSE2-NEXT: pslld $31, %xmm0
368
358
; SSE2-NEXT: psrad $31, %xmm0
369
- ; SSE2-NEXT: pslld $31, %xmm2
370
- ; SSE2-NEXT: psrad $31, %xmm2
371
- ; SSE2-NEXT: movdqa %xmm2 , %xmm1
359
+ ; SSE2-NEXT: punpckhwd {{.*#+}} xmm1 = xmm1[4,4,5,5,6,6,7,7]
360
+ ; SSE2-NEXT: pslld $31, %xmm1
361
+ ; SSE2-NEXT: psrad $31 , %xmm1
372
362
; SSE2-NEXT: retq
373
363
;
374
364
; AVX2-LABEL: bool_sext_or:
@@ -387,19 +377,14 @@ define <8 x i32> @bool_sext_or(<8 x i1> %x, <8 x i1> %y) {
387
377
define <8 x i32 > @bool_sext_xor (<8 x i1 > %x , <8 x i1 > %y ) {
388
378
; SSE2-LABEL: bool_sext_xor:
389
379
; SSE2: # %bb.0:
390
- ; SSE2-NEXT: movdqa %xmm1, %xmm3
391
- ; SSE2-NEXT: punpckhwd {{.*#+}} xmm3 = xmm3[4,4,5,5,6,6,7,7]
392
- ; SSE2-NEXT: movdqa %xmm0, %xmm2
393
- ; SSE2-NEXT: punpckhwd {{.*#+}} xmm2 = xmm2[4,4,5,5,6,6,7,7]
394
- ; SSE2-NEXT: pxor %xmm3, %xmm2
395
- ; SSE2-NEXT: punpcklwd {{.*#+}} xmm1 = xmm1[0,0,1,1,2,2,3,3]
380
+ ; SSE2-NEXT: pxor %xmm0, %xmm1
381
+ ; SSE2-NEXT: movdqa %xmm1, %xmm0
396
382
; SSE2-NEXT: punpcklwd {{.*#+}} xmm0 = xmm0[0,0,1,1,2,2,3,3]
397
- ; SSE2-NEXT: pxor %xmm1, %xmm0
398
383
; SSE2-NEXT: pslld $31, %xmm0
399
384
; SSE2-NEXT: psrad $31, %xmm0
400
- ; SSE2-NEXT: pslld $31, %xmm2
401
- ; SSE2-NEXT: psrad $31, %xmm2
402
- ; SSE2-NEXT: movdqa %xmm2 , %xmm1
385
+ ; SSE2-NEXT: punpckhwd {{.*#+}} xmm1 = xmm1[4,4,5,5,6,6,7,7]
386
+ ; SSE2-NEXT: pslld $31, %xmm1
387
+ ; SSE2-NEXT: psrad $31 , %xmm1
403
388
; SSE2-NEXT: retq
404
389
;
405
390
; AVX2-LABEL: bool_sext_xor:
0 commit comments