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