@@ -524,10 +524,7 @@ define i1 @fshl_or_ne_2(i32 %x, i32 %y) {
524
524
define i1 @and_rotl_eq_neg_1 (i8 %x , i8 %y , i8 %z ) nounwind {
525
525
; CHECK-LABEL: and_rotl_eq_neg_1:
526
526
; CHECK: # %bb.0:
527
- ; CHECK-NEXT: movl %edx, %ecx
528
- ; CHECK-NEXT: # kill: def $cl killed $cl killed $ecx
529
- ; CHECK-NEXT: rolb %cl, %dil
530
- ; CHECK-NEXT: andb %sil, %dil
527
+ ; CHECK-NEXT: andl %esi, %edi
531
528
; CHECK-NEXT: cmpb $-1, %dil
532
529
; CHECK-NEXT: sete %al
533
530
; CHECK-NEXT: retq
@@ -596,25 +593,9 @@ define i1 @and_rotl_ne_neg_1_use(i32 %x, i32 %y, i32 %z) nounwind {
596
593
define <4 x i1 > @and_rotl_ne_eq_neg_1 (<4 x i32 > %x , <4 x i32 > %y ) nounwind {
597
594
; CHECK-LABEL: and_rotl_ne_eq_neg_1:
598
595
; CHECK: # %bb.0:
599
- ; CHECK-NEXT: movdqa %xmm1, %xmm2
600
- ; CHECK-NEXT: pslld $23, %xmm2
601
- ; CHECK-NEXT: pand {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm2
602
- ; CHECK-NEXT: paddd {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm2
603
- ; CHECK-NEXT: cvttps2dq %xmm2, %xmm2
604
- ; CHECK-NEXT: pshufd {{.*#+}} xmm3 = xmm0[1,1,3,3]
605
- ; CHECK-NEXT: pmuludq %xmm2, %xmm0
606
- ; CHECK-NEXT: pshufd {{.*#+}} xmm4 = xmm0[1,3,2,3]
607
- ; CHECK-NEXT: pshufd {{.*#+}} xmm2 = xmm2[1,1,3,3]
608
- ; CHECK-NEXT: pmuludq %xmm3, %xmm2
609
- ; CHECK-NEXT: pshufd {{.*#+}} xmm3 = xmm2[1,3,2,3]
610
- ; CHECK-NEXT: punpckldq {{.*#+}} xmm4 = xmm4[0],xmm3[0],xmm4[1],xmm3[1]
611
- ; CHECK-NEXT: pshufd {{.*#+}} xmm3 = xmm0[0,2,2,3]
612
- ; CHECK-NEXT: pshufd {{.*#+}} xmm0 = xmm2[0,2,2,3]
613
- ; CHECK-NEXT: punpckldq {{.*#+}} xmm3 = xmm3[0],xmm0[0],xmm3[1],xmm0[1]
614
- ; CHECK-NEXT: por %xmm4, %xmm3
615
- ; CHECK-NEXT: pand %xmm1, %xmm3
616
- ; CHECK-NEXT: pcmpeqd %xmm0, %xmm0
617
- ; CHECK-NEXT: pcmpeqd %xmm3, %xmm0
596
+ ; CHECK-NEXT: pcmpeqd %xmm2, %xmm2
597
+ ; CHECK-NEXT: pand %xmm1, %xmm0
598
+ ; CHECK-NEXT: pcmpeqd %xmm2, %xmm0
618
599
; CHECK-NEXT: retq
619
600
%rot = tail call <4 x i32 > @llvm.fshl.v4i32 (<4 x i32 >%x , <4 x i32 > %x , <4 x i32 > %y )
620
601
%and = and <4 x i32 > %y , %rot
0 commit comments