diff options
author | Nadav Rotem <nrotem@apple.com> | 2013-04-26 20:19:41 +0000 |
---|---|---|
committer | Nadav Rotem <nrotem@apple.com> | 2013-04-26 20:19:41 +0000 |
commit | be0e89d9e8b1c5747a77e3629b92e9af31a4dd75 (patch) | |
tree | 9f059b6968b566c9b06266b1b782fc7a30a33af1 /llvm/test/ExecutionEngine/test-interp-vec-arithm_float.ll | |
parent | e9585628ae8cb26d623c779aeb63f7cf60a18082 (diff) | |
download | bcm5719-llvm-be0e89d9e8b1c5747a77e3629b92e9af31a4dd75.tar.gz bcm5719-llvm-be0e89d9e8b1c5747a77e3629b92e9af31a4dd75.zip |
Teach the interpreter to handle vector compares and additional vector arithmetic operations.
Patch by Yuri Veselov.
llvm-svn: 180626
Diffstat (limited to 'llvm/test/ExecutionEngine/test-interp-vec-arithm_float.ll')
-rw-r--r-- | llvm/test/ExecutionEngine/test-interp-vec-arithm_float.ll | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/llvm/test/ExecutionEngine/test-interp-vec-arithm_float.ll b/llvm/test/ExecutionEngine/test-interp-vec-arithm_float.ll new file mode 100644 index 00000000000..d7f4ac90a98 --- /dev/null +++ b/llvm/test/ExecutionEngine/test-interp-vec-arithm_float.ll @@ -0,0 +1,20 @@ +; 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 + + + %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 + + ret i32 0 +} |