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 | 0d840bb2faa6c8cabedaa64826e3c98988d30abb (patch) | |
tree | ee0c278aba4345463d356faaa4eef23db5455b7a /test/ExecutionEngine/test-interp-vec-logical.ll | |
parent | 2173e1839c2d00f7f980450dd537047b7b376e6b (diff) | |
download | external_llvm-0d840bb2faa6c8cabedaa64826e3c98988d30abb.zip external_llvm-0d840bb2faa6c8cabedaa64826e3c98988d30abb.tar.gz external_llvm-0d840bb2faa6c8cabedaa64826e3c98988d30abb.tar.bz2 |
Teach the interpreter to handle vector compares and additional vector arithmetic operations.
Patch by Yuri Veselov.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180626 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/ExecutionEngine/test-interp-vec-logical.ll')
-rw-r--r-- | test/ExecutionEngine/test-interp-vec-logical.ll | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/test/ExecutionEngine/test-interp-vec-logical.ll b/test/ExecutionEngine/test-interp-vec-logical.ll new file mode 100644 index 0000000..f8f1f0d --- /dev/null +++ b/test/ExecutionEngine/test-interp-vec-logical.ll @@ -0,0 +1,22 @@ +; RUN: %lli %s > /dev/null + +define i32 @main() { + %A_i8 = and <5 x i8> <i8 4, i8 4, i8 4, i8 4, i8 4>, <i8 8, i8 8, i8 8, i8 8, i8 8> + %B_i8 = or <5 x i8> %A_i8, <i8 7, i8 7, i8 7, i8 7, i8 7> + %C_i8 = xor <5 x i8> %B_i8, %A_i8 + + %A_i16 = and <4 x i16> <i16 4, i16 4, i16 4, i16 4>, <i16 8, i16 8, i16 8, i16 8> + %B_i16 = or <4 x i16> %A_i16, <i16 7, i16 7, i16 7, i16 7> + %C_i16 = xor <4 x i16> %B_i16, %A_i16 + + %A_i32 = and <3 x i32> <i32 4, i32 4, i32 4>, <i32 8, i32 8, i32 8> + %B_i32 = or <3 x i32> %A_i32, <i32 7, i32 7, i32 7> + %C_i32 = xor <3 x i32> %B_i32, %A_i32 + + %A_i64 = and <2 x i64> <i64 4, i64 4>, <i64 8, i64 8> + %B_i64 = or <2 x i64> %A_i64, <i64 7, i64 7> + %C_i64 = xor <2 x i64> %B_i64, %A_i64 + + ret i32 0 +} + |