[ARM] Rewrite how VCMP are lowered, using a single node
[llvm-core.git] / test / ExecutionEngine / OrcMCJIT / test-fp.ll
blob6d56e69a9972c07ab4629db95530482684e1db16
1 ; RUN: %lli -jit-kind=orc-mcjit %s > /dev/null
3 define double @test(double* %DP, double %Arg) {
4         %D = load double, double* %DP           ; <double> [#uses=1]
5         %V = fadd double %D, 1.000000e+00               ; <double> [#uses=2]
6         %W = fsub double %V, %V         ; <double> [#uses=3]
7         %X = fmul double %W, %W         ; <double> [#uses=2]
8         %Y = fdiv double %X, %X         ; <double> [#uses=2]
9         %Z = frem double %Y, %Y         ; <double> [#uses=3]
10         %Z1 = fdiv double %Z, %W                ; <double> [#uses=0]
11         %Q = fadd double %Z, %Arg               ; <double> [#uses=1]
12         %R = bitcast double %Q to double                ; <double> [#uses=1]
13         store double %R, double* %DP
14         ret double %Z
17 define i32 @main() {
18         %X = alloca double              ; <double*> [#uses=2]
19         store double 0.000000e+00, double* %X
20         call double @test( double* %X, double 2.000000e+00 )            ; <double>:1 [#uses=0]
21         ret i32 0