summaryrefslogtreecommitdiff
path: root/test/CodeGen/X86/fabs.ll
diff options
context:
space:
mode:
authorNAKAMURA Takumi <geek4civic@gmail.com>2012-07-03 03:59:15 +0000
committerNAKAMURA Takumi <geek4civic@gmail.com>2012-07-03 03:59:15 +0000
commita16d8c30cc0517d3b13b466c0d108ed547f42c7a (patch)
tree04a2bec62be3ed44bfc94c9409478d7fe6481faa /test/CodeGen/X86/fabs.ll
parent40b7e7eb978b75d1f2b3c14834d32a6d75178376 (diff)
downloadllvm-a16d8c30cc0517d3b13b466c0d108ed547f42c7a.tar.gz
llvm-a16d8c30cc0517d3b13b466c0d108ed547f42c7a.tar.bz2
llvm-a16d8c30cc0517d3b13b466c0d108ed547f42c7a.tar.xz
test/CodeGen/X86/fabs.ll: FileCheck-ize.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159638 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86/fabs.ll')
-rw-r--r--test/CodeGen/X86/fabs.ll28
1 files changed, 23 insertions, 5 deletions
diff --git a/test/CodeGen/X86/fabs.ll b/test/CodeGen/X86/fabs.ll
index 9ded7e05dc..5adc38f3c7 100644
--- a/test/CodeGen/X86/fabs.ll
+++ b/test/CodeGen/X86/fabs.ll
@@ -1,28 +1,46 @@
; Make sure this testcase codegens to the fabs instruction, not a call to fabsf
-; RUN: llc < %s -march=x86 -mattr=-sse2,-sse3,-sse | grep fabs\$ | \
-; RUN: count 2
-; RUN: llc < %s -march=x86 -mattr=-sse,-sse2,-sse3 -enable-unsafe-fp-math -enable-no-nans-fp-math | \
-; RUN: grep fabs\$ | count 3
+; RUN: llc < %s -march=x86 -mattr=-sse2,-sse3,-sse | FileCheck %s
+; RUN: llc < %s -march=x86 -mattr=-sse,-sse2,-sse3 -enable-unsafe-fp-math -enable-no-nans-fp-math | FileCheck %s --check-prefix=UNSAFE
declare float @fabsf(float)
declare x86_fp80 @fabsl(x86_fp80)
+; CHECK: test1:
+; UNSAFE: test1:
define float @test1(float %X) {
%Y = call float @fabsf(float %X)
ret float %Y
}
+; CHECK: {{^[ \t]+fabs$}}
+; UNSAFE: {{^[ \t]+fabs$}}
+; CHECK-NOT: fabs
+; UNSAFE-NOT: fabs
+
+; CHECK: test2:
+; UNSAFE: test2:
define double @test2(double %X) {
%Y = fcmp oge double %X, -0.0
%Z = fsub double -0.0, %X
%Q = select i1 %Y, double %X, double %Z
ret double %Q
}
+; fabs is not used here.
+; CHECK-NOT: fabs
+
+; UNSAFE: {{^[ \t]+fabs$}}
+; UNSAFE-NOT: fabs
+
+; CHECK: test3:
+; UNSAFE: test3:
define x86_fp80 @test3(x86_fp80 %X) {
%Y = call x86_fp80 @fabsl(x86_fp80 %X)
ret x86_fp80 %Y
}
+; CHECK: {{^[ \t]+fabs$}}
+; UNSAFE: {{^[ \t]+fabs$}}
-
+; CHECK-NOT: fabs
+; UNSAFE-NOT: fabs