1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 04:02:41 +01:00
llvm-mirror/test/ExecutionEngine/test-interp-vec-arithm_float.ll
Cameron McInally e5821b0815 [ExecutionEngine] Add UnaryOperator visitor to the interpreter
This is to support the unary FNeg instruction.

Differential Revision: https://reviews.llvm.org/D62881

llvm-svn: 362941
2019-06-10 14:38:48 +00:00

23 lines
904 B
LLVM

; RUN: %lli %s > /dev/null
define i32 @main() {
%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>
%B_float = fsub <4 x float> %A_float, <float 88.0, float 99.0, float 100.0, float 111.0>
%C_float = fmul <4 x float> %B_float, %B_float
%D_float = fdiv <4 x float> %C_float, %B_float
%E_float = frem <4 x float> %D_float, %A_float
%F_float = fneg <4 x float> %E_float
%A_double = fadd <3 x double> <double 0.0, double 111.0, double 222.0>, <double 444.0, double 555.0, double 665.0>
%B_double = fsub <3 x double> %A_double, <double 888.0, double 999.0, double 1001.0>
%C_double = fmul <3 x double> %B_double, %B_double
%D_double = fdiv <3 x double> %C_double, %B_double
%E_double = frem <3 x double> %D_double, %A_double
%F_double = fneg <3 x double> %E_double
ret i32 0
}