xref: /llvm-project/llvm/test/ExecutionEngine/MCJIT/remote/test-fp-no-external-funcs-remote.ll (revision 5950a0623753a629814346ebadabbcda0ca2bdee)
1; RUN: %lli -jit-kind=mcjit -remote-mcjit -mcjit-remote-process=lli-child-target%exeext %s > /dev/null
2; XFAIL: target={{.*-windows-(gnu|msvc)}}
3; REQUIRES: thread_support
4; UNSUPPORTED: target=powerpc64-unknown-linux-gnu
5; Remove UNSUPPORTED for powerpc64-unknown-linux-gnu if problem caused by r266663 is fixed
6
7define double @test(ptr %DP, double %Arg) nounwind {
8	%D = load double, ptr %DP		; <double> [#uses=1]
9	%V = fadd double %D, 1.000000e+00		; <double> [#uses=2]
10	%W = fsub double %V, %V		; <double> [#uses=3]
11	%X = fmul double %W, %W		; <double> [#uses=2]
12	%Y = fdiv double %X, %X		; <double> [#uses=2]
13	%Q = fadd double %Y, %Arg		; <double> [#uses=1]
14	%R = bitcast double %Q to double		; <double> [#uses=1]
15	store double %Q, ptr %DP
16	ret double %Y
17}
18
19define i32 @main() nounwind {
20	%X = alloca double		; <ptr> [#uses=2]
21	store double 0.000000e+00, ptr %X
22	call double @test( ptr %X, double 2.000000e+00 )		; <double>:1 [#uses=0]
23	ret i32 0
24}
25