Fix a bug in the AVX 256-bit shuffle code in cases where the splat element is on...
[oota-llvm.git] / test / ExecutionEngine / test-fp.ll
index 1ee29b5421ec9d19780c6fc4d639c02938e8ede0..f653660fb83257b3eafa5171bfd0194dce84619c 100644 (file)
@@ -1,24 +1,23 @@
-; RUN: llvm-upgrade %s | llvm-as -f -o %t.bc
-; RUN: lli %t.bc > /dev/null
+; RUN: lli %s > /dev/null
 
-
-double %test(double* %DP, double %Arg) {
-       %D = load double* %DP
-       %V = add double %D, 1.0
-       %W = sub double %V, %V
-       %X = mul double %W, %W
-       %Y = div double %X, %X
-       %Z = rem double %Y, %Y
-       %Z1 = div double %Z, %W
-       %Q = add double %Z, %Arg
-       %R = cast double %Q to double
+define double @test(double* %DP, double %Arg) {
+       %D = load double* %DP           ; <double> [#uses=1]
+       %V = fadd double %D, 1.000000e+00               ; <double> [#uses=2]
+       %W = fsub double %V, %V         ; <double> [#uses=3]
+       %X = fmul double %W, %W         ; <double> [#uses=2]
+       %Y = fdiv double %X, %X         ; <double> [#uses=2]
+       %Z = frem double %Y, %Y         ; <double> [#uses=3]
+       %Z1 = fdiv double %Z, %W                ; <double> [#uses=0]
+       %Q = fadd double %Z, %Arg               ; <double> [#uses=1]
+       %R = bitcast double %Q to double                ; <double> [#uses=1]
        store double %R, double* %DP
        ret double %Z
 }
 
-int %main() { 
-  %X = alloca double
-  store double 0.0, double* %X
-  call double %test(double* %X, double 2.0)
-  ret int 0 
+define i32 @main() {
+       %X = alloca double              ; <double*> [#uses=2]
+       store double 0.000000e+00, double* %X
+       call double @test( double* %X, double 2.000000e+00 )            ; <double>:1 [#uses=0]
+       ret i32 0
 }
+