diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/Concrete/FloatingPointOps.ll | 12 | ||||
-rw-r--r-- | test/Feature/LongDouble.c | 11 |
2 files changed, 7 insertions, 16 deletions
diff --git a/test/Concrete/FloatingPointOps.ll b/test/Concrete/FloatingPointOps.ll index 5dd6d2fe..00d4e877 100644 --- a/test/Concrete/FloatingPointOps.ll +++ b/test/Concrete/FloatingPointOps.ll @@ -642,18 +642,16 @@ entry: %nan1 = load double* %nan %nan2 = load double* %nan - ; Warning: NaN comparisons with normal operators is BROKEN in LLVM JIT v2.0. Fixed in v2.1. - ; FIXME: Just check against 2.9 and the Unordered checks work, but the ordered ones do not. Should be investigated. ; NaNs do different things depending on ordered vs unordered -; call void @testFCmpBothOrdered( double %nan1, double 0.000000e+00, i1 0, i1 0, i1 0, i1 0, i1 0, i1 0, i1 0 ) -; call void @testFCmpBothOrdered( double %nan1, double %nan2, i1 0, i1 0, i1 0, i1 0, i1 0, i1 0, i1 0 ) -; call void @testFCmpBothUnordered( double %nan1, double 0.000000e+00, i1 1, i1 1, i1 1, i1 1, i1 1, i1 1, i1 1 ) -; call void @testFCmpBothUnordered( double %nan1, double %nan2, i1 1, i1 1, i1 1, i1 1, i1 1, i1 1, i1 1 ) + call void @testFCmpBothOrdered( double %nan1, double 0.000000e+00, i1 0, i1 0, i1 0, i1 0, i1 0, i1 0, i1 0 ) + call void @testFCmpBothOrdered( double %nan1, double %nan2, i1 0, i1 0, i1 0, i1 0, i1 0, i1 0, i1 0 ) + call void @testFCmpBothUnordered( double %nan1, double 0.000000e+00, i1 1, i1 1, i1 1, i1 1, i1 1, i1 1, i1 1 ) + call void @testFCmpBothUnordered( double %nan1, double %nan2, i1 1, i1 1, i1 1, i1 1, i1 1, i1 1, i1 1 ) ret void } -; tes all floating point instructions +; test all floating point instructions define i32 @main() { entry: call void @testFPTrunc( ) diff --git a/test/Feature/LongDouble.c b/test/Feature/LongDouble.c index ad4c1a79..f69582b8 100644 --- a/test/Feature/LongDouble.c +++ b/test/Feature/LongDouble.c @@ -1,13 +1,7 @@ // RUN: %llvmgcc -g -emit-llvm -O0 -c -o %t.bc %s // RUN: rm -rf %t.klee-out // RUN: %klee --output-dir=%t.klee-out --libc=klee --no-output --exit-on-error %t.bc > %t.log -// FIXME: When we remove LLVM 2.9 support just use FileCheck and remove these `grep`s. -// RUN: grep -q powl\(-11\\.0,0\)=1\\.0\\+ %t.log -// RUN: grep -q powl\(-11\\.0,1\)=-11\\.0\\+ %t.log -// RUN: grep -q powl\(-11\\.0,2\)=121\\.0\\+ %t.log -// RUN: grep -q 1/0=inf %t.log -// RUN: grep -q 1/-1=-1\\.0\\+ %t.log -// RUN: grep -q 1/-2=-0\\.50\\+ %t.log +// RUN: FileCheck %s --input-file=%t.log #include "klee/klee.h" #include <assert.h> @@ -44,7 +38,6 @@ int main(int argc, char **argv) { // test 80-bit external dispatch long double d = powl((long double)-11.0, (long double)a); - // FIXME: Use CHECK-DAG: with FileCheck tool // CHECK-DAG: powl(-11.0,0)=1.0 // CHECK-DAG: powl(-11.0,1)=-11.0 // CHECK-DAG: powl(-11.0,2)=121.0 @@ -53,7 +46,7 @@ int main(int argc, char **argv) { // test 80-bit fdiv long double e = (long double)1 / (long double)b; // CHECK-DAG: 1/0=inf - // CHECK-DAG: 1/1-1=-1.0 + // CHECK-DAG: 1/-1=-1.0 // CHECK-DAG: 1/-2=-0.50 printf("1/%d=%Lf\n", b, e); |