]> granicus.if.org Git - llvm/commitdiff
[x86] update checks
authorSanjay Patel <spatel@rotateright.com>
Mon, 11 Jul 2016 14:07:31 +0000 (14:07 +0000)
committerSanjay Patel <spatel@rotateright.com>
Mon, 11 Jul 2016 14:07:31 +0000 (14:07 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@275064 91177308-0d34-0410-b5e6-96231b3b80d8

test/CodeGen/X86/shift-pcmp.ll

index 365c7310559b1eaa7a9b09bbfd7fe63f6dc075bf..e97f04e4f70b15c5d4010da4cdb72f722bcf7a32 100644 (file)
@@ -1,18 +1,20 @@
-; RUN: llc < %s -o - -mcpu=generic -march=x86-64 -mattr=+sse2 | FileCheck %s
-; RUN: llc < %s -o - -mcpu=generic -march=x86-64 -mattr=+avx | FileCheck %s
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
+; RUN: llc < %s -o - -mcpu=generic -march=x86-64 -mattr=+sse2 | FileCheck %s --check-prefix=SSE
+; RUN: llc < %s -o - -mcpu=generic -march=x86-64 -mattr=+avx | FileCheck %s --check-prefix=AVX
 
 define <8 x i16> @foo(<8 x i16> %a, <8 x i16> %b) {
-; CHECK: .short              32
-; CHECK-NEXT: .short         32
-; CHECK-NEXT: .short         32
-; CHECK-NEXT: .short         32
-; CHECK-NEXT: .short         32
-; CHECK-NEXT: .short         32
-; CHECK-NEXT: .short         32
-; CHECK-NEXT: .short         32
-; CHECK-LABEL: {{^_?foo:}}
-; CHECK-NOT: psll
-entry:
+; SSE-LABEL: foo:
+; SSE:       ## BB#0:
+; SSE-NEXT:    pcmpeqw %xmm1, %xmm0
+; SSE-NEXT:    pand {{.*}}(%rip), %xmm0
+; SSE-NEXT:    retq
+;
+; AVX-LABEL: foo:
+; AVX:       ## BB#0:
+; AVX-NEXT:    vpcmpeqw %xmm1, %xmm0, %xmm0
+; AVX-NEXT:    vpand {{.*}}(%rip), %xmm0, %xmm0
+; AVX-NEXT:    retq
+;
   %icmp = icmp eq <8 x i16> %a, %b
   %zext = zext <8 x i1> %icmp to <8 x i16>
   %shl = shl nuw nsw <8 x i16> %zext, <i16 5, i16 5, i16 5, i16 5, i16 5, i16 5, i16 5, i16 5>
@@ -21,10 +23,23 @@ entry:
 
 ; Don't fail with an assert due to an undef in the buildvector
 define <8 x i16> @bar(<8 x i16> %a, <8 x i16> %b) {
-; CHECK-LABEL: bar
-entry:
+; SSE-LABEL: bar:
+; SSE:       ## BB#0:
+; SSE-NEXT:    pcmpeqw %xmm1, %xmm0
+; SSE-NEXT:    pand {{.*}}(%rip), %xmm0
+; SSE-NEXT:    psllw $5, %xmm0
+; SSE-NEXT:    retq
+;
+; AVX-LABEL: bar:
+; AVX:       ## BB#0:
+; AVX-NEXT:    vpcmpeqw %xmm1, %xmm0, %xmm0
+; AVX-NEXT:    vpand {{.*}}(%rip), %xmm0, %xmm0
+; AVX-NEXT:    vpsllw $5, %xmm0, %xmm0
+; AVX-NEXT:    retq
+;
   %icmp = icmp eq <8 x i16> %a, %b
   %zext = zext <8 x i1> %icmp to <8 x i16>
   %shl = shl nuw nsw <8 x i16> %zext, <i16 5, i16 undef, i16 5, i16 5, i16 5, i16 5, i16 5, i16 5>
   ret <8 x i16> %shl
 }
+