xref: /llvm-project/llvm/test/ExecutionEngine/MCJIT/test-interp-vec-arithm_float.ll (revision 62c16d82194f4c209fe9431deddf302827d37fb4)
1*62c16d82SAlex Bradbury; RUN: %lli -jit-kind=mcjit %s > /dev/null
2*62c16d82SAlex Bradbury; RUN: %lli %s > /dev/null
3*62c16d82SAlex Bradbury
4*62c16d82SAlex Bradbury
5*62c16d82SAlex Bradburydefine i32 @main() {
6*62c16d82SAlex Bradbury
7*62c16d82SAlex Bradbury    %A_float = fadd <4 x float> <float 0.0, float 11.0, float 22.0, float 33.0>, <float 44.0, float 55.0, float 66.0, float 77.0>
8*62c16d82SAlex Bradbury    %B_float = fsub <4 x float> %A_float, <float 88.0, float 99.0, float 100.0, float 111.0>
9*62c16d82SAlex Bradbury    %C_float = fmul <4 x float> %B_float, %B_float
10*62c16d82SAlex Bradbury    %D_float = fdiv <4 x float> %C_float, %B_float
11*62c16d82SAlex Bradbury    %E_float = frem <4 x float> %D_float, %A_float
12*62c16d82SAlex Bradbury    %F_float = fneg <4 x float> %E_float
13*62c16d82SAlex Bradbury
14*62c16d82SAlex Bradbury
15*62c16d82SAlex Bradbury    %A_double = fadd <3 x double> <double 0.0, double 111.0, double 222.0>, <double 444.0, double 555.0, double 665.0>
16*62c16d82SAlex Bradbury    %B_double = fsub <3 x double> %A_double, <double 888.0, double 999.0, double 1001.0>
17*62c16d82SAlex Bradbury    %C_double = fmul <3 x double> %B_double, %B_double
18*62c16d82SAlex Bradbury    %D_double = fdiv <3 x double> %C_double, %B_double
19*62c16d82SAlex Bradbury    %E_double = frem <3 x double> %D_double, %A_double
20*62c16d82SAlex Bradbury    %F_double = fneg <3 x double> %E_double
21*62c16d82SAlex Bradbury
22*62c16d82SAlex Bradbury    ret i32 0
23*62c16d82SAlex Bradbury}
24