Cleanup a few tests on sse4a machines and FileCheckize along the way.
authorAlex Rosenberg <alexr@leftfield.org>
Thu, 29 Jan 2015 13:31:32 +0000 (13:31 +0000)
committerAlex Rosenberg <alexr@leftfield.org>
Thu, 29 Jan 2015 13:31:32 +0000 (13:31 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227437 91177308-0d34-0410-b5e6-96231b3b80d8

test/CodeGen/X86/2006-05-22-FPSetEQ.ll
test/CodeGen/X86/2009-01-25-NoSSE.ll
test/CodeGen/X86/2009-06-18-movlp-shuffle-register.ll
test/CodeGen/X86/barrier.ll
test/CodeGen/X86/nosse-varargs.ll
test/CodeGen/X86/sse4a.ll

index 6c5a4fb3bd5c61fa30866b445f5d8758fa053f15..3be77f5c3099a91d1c8b063f7b0593dd865b6643 100644 (file)
@@ -1,7 +1,10 @@
-; RUN: llc < %s -march=x86 -mattr=-sse | grep setnp
-; RUN: llc < %s -march=x86 -mattr=-sse -enable-unsafe-fp-math -enable-no-nans-fp-math | \
-; RUN:   not grep setnp
+; RUN: llc < %s -march=x86 -mattr=-sse | FileCheck %s -check-prefix=WITHNANS
+; RUN: llc < %s -march=x86 -mattr=-sse -enable-unsafe-fp-math -enable-no-nans-fp-math | FileCheck %s -check-prefix=NONANS
 
+; WITHNANS-LABEL: test:
+; WITHNANS: setnp
+; NONANS-LABEL: test:
+; NONANS-NOT: setnp
 define i32 @test(float %f) {
        %tmp = fcmp oeq float %f, 0.000000e+00          ; <i1> [#uses=1]
        %tmp.upgrd.1 = zext i1 %tmp to i32              ; <i32> [#uses=1]
index 8406c4a2cc83f46b4547f849a13ebe27655ce430..f444cc9f33256fc9f04c3997c72c5d0355d48bd5 100644 (file)
@@ -1,4 +1,4 @@
-; RUN: llc < %s -march=x86-64 -mattr=-sse,-sse2 | not grep xmm
+; RUN: llc < %s -march=x86-64 -mattr=-sse,-sse2,-sse4a | FileCheck %s
 ; PR3402
 target datalayout =
 "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128"
@@ -6,6 +6,8 @@ target triple = "x86_64-unknown-linux-gnu"
 
 %struct.ktermios = type { i32, i32, i32, i32, i8, [19 x i8], i32, i32 }
 
+; CHECK-NOT: xmm
+; CHECK-NOT: ymm
 define void @foo() nounwind {
 entry:
   %termios = alloca %struct.ktermios, align 8
index 4c4552da16a53f9cbc1f05754371a388936815e8..1386370e916ddd9fc5e984bce6bfd7796e178e4f 100644 (file)
@@ -1,4 +1,4 @@
-; RUN: llc < %s -march=x86 -mattr=+sse,-sse2 | FileCheck %s
+; RUN: llc < %s -march=x86 -mattr=+sse,-sse2,-sse4a | FileCheck %s
 ; PR2484
 
 define <4 x float> @f4523(<4 x float> %a,<4 x float> %b) nounwind {
index 4769b39964a0d48b067828bfd5722bec1803c85b..26027263cae70113c6fd621072e3fbca622cefe4 100644 (file)
@@ -1,6 +1,7 @@
-; RUN: llc < %s -march=x86 -mattr=-sse2 | grep lock
+; RUN: llc < %s -march=x86 -mattr=-sse2,-sse4a | FileCheck %s
 
 define void @test() {
+; CHECK: lock
        fence seq_cst
        ret void
 }
index e6da0ab5e371b1c7cd60bb193b50916789a9b63a..8070c475e668b3e90538b016e4a03eeca6b351b1 100644 (file)
@@ -1,11 +1,12 @@
-; RUN: llvm-as < %s > %t
-; RUN: llc -march=x86-64 -mattr=-sse < %t | not grep xmm
-; RUN: llc -march=x86-64 < %t | grep xmm
+; RUN: llc < %s -march=x86-64 -mattr=-sse | FileCheck %s -check-prefix=NOSSE
+; RUN: llc < %s -march=x86-64 | FileCheck %s -check-prefix=YESSSE
 ; PR3403
 target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128"
 target triple = "x86_64-unknown-linux-gnu"
        %struct.__va_list_tag = type { i32, i32, i8*, i8* }
 
+; NOSSE-NOT: xmm
+; YESSSE: xmm
 define i32 @foo(float %a, i8* nocapture %fmt, ...) nounwind {
 entry:
        %ap = alloca [1 x %struct.__va_list_tag], align 8               ; <[1 x %struct.__va_list_tag]*> [#uses=4]
index 165d47639d7acadd6346d0a2b2ffd67641a7ffba..f8fa125f98e72358fec6fb1f43ef91076673f897 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: llc < %s -mtriple=i686-apple-darwin9 -mattr=sse4a | FileCheck %s
+; RUN: llc < %s -mtriple=x86_64-unknown-linux -mattr=sse4a | FileCheck %s
 
 define void @test1(i8* %p, <4 x float> %a) nounwind optsize ssp {
 ; CHECK-LABEL: test1: