diff options
author | Bob Wilson <bob.wilson@apple.com> | 2009-08-12 20:51:55 +0000 |
---|---|---|
committer | Bob Wilson <bob.wilson@apple.com> | 2009-08-12 20:51:55 +0000 |
commit | 114a266c942ac2dc1e98047a00337ecbc81f7380 (patch) | |
tree | fb1cb57e06ad381eac79ca6afa4cc01f4fda93c9 /lib/Target/ARM/NEONPreAllocPass.cpp | |
parent | a6340628c2c1a271f7074836a7484ad2d90dd62e (diff) | |
download | external_llvm-114a266c942ac2dc1e98047a00337ecbc81f7380.zip external_llvm-114a266c942ac2dc1e98047a00337ecbc81f7380.tar.gz external_llvm-114a266c942ac2dc1e98047a00337ecbc81f7380.tar.bz2 |
Generate Neon VTBL and VTBX instructions from the corresponding intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78835 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/NEONPreAllocPass.cpp')
-rw-r--r-- | lib/Target/ARM/NEONPreAllocPass.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/lib/Target/ARM/NEONPreAllocPass.cpp b/lib/Target/ARM/NEONPreAllocPass.cpp index 9c790e2..f1f3b31 100644 --- a/lib/Target/ARM/NEONPreAllocPass.cpp +++ b/lib/Target/ARM/NEONPreAllocPass.cpp @@ -83,6 +83,36 @@ static bool isNEONMultiRegOp(int Opcode, unsigned &FirstOpnd, FirstOpnd = 3; NumRegs = 4; return true; + + case ARM::VTBL2: + FirstOpnd = 1; + NumRegs = 2; + return true; + + case ARM::VTBL3: + FirstOpnd = 1; + NumRegs = 3; + return true; + + case ARM::VTBL4: + FirstOpnd = 1; + NumRegs = 4; + return true; + + case ARM::VTBX2: + FirstOpnd = 2; + NumRegs = 2; + return true; + + case ARM::VTBX3: + FirstOpnd = 2; + NumRegs = 3; + return true; + + case ARM::VTBX4: + FirstOpnd = 2; + NumRegs = 4; + return true; } return false; |