summaryrefslogtreecommitdiff
path: root/lib/Target/ARM/ARMCodeEmitter.cpp
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2011-03-01 01:00:59 +0000
committerBill Wendling <isanbard@gmail.com>2011-03-01 01:00:59 +0000
commita656b63ee4d5b0e3f4d26a55dd4cc69795746684 (patch)
tree207aa0386e59701c56483a84bcc30708bb82795d /lib/Target/ARM/ARMCodeEmitter.cpp
parentf291ab2fbaa5ed1cfa20ca47e8dece1040a5065b (diff)
downloadllvm-a656b63ee4d5b0e3f4d26a55dd4cc69795746684.tar.gz
llvm-a656b63ee4d5b0e3f4d26a55dd4cc69795746684.tar.bz2
llvm-a656b63ee4d5b0e3f4d26a55dd4cc69795746684.tar.xz
Narrow right shifts need to encode their immediates differently from a normal
shift. 16-bit: imm6<5:3> = '001', 8 - <imm> is encded in imm6<2:0> 32-bit: imm6<5:4> = '01',16 - <imm> is encded in imm6<3:0> 64-bit: imm6<5> = '1', 32 - <imm> is encded in imm6<4:0> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126723 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/ARMCodeEmitter.cpp')
-rw-r--r--lib/Target/ARM/ARMCodeEmitter.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/Target/ARM/ARMCodeEmitter.cpp b/lib/Target/ARM/ARMCodeEmitter.cpp
index 9bbf6a0306..51d771ec9f 100644
--- a/lib/Target/ARM/ARMCodeEmitter.cpp
+++ b/lib/Target/ARM/ARMCodeEmitter.cpp
@@ -312,6 +312,13 @@ namespace {
unsigned getRegisterListOpValue(const MachineInstr &MI, unsigned Op)
const { return 0; }
+ unsigned getNarrowShiftRight16Imm(const MachineInstr &MI, unsigned Op)
+ const { return 0; }
+ unsigned getNarrowShiftRight32Imm(const MachineInstr &MI, unsigned Op)
+ const { return 0; }
+ unsigned getNarrowShiftRight64Imm(const MachineInstr &MI, unsigned Op)
+ const { return 0; }
+
/// getMovi32Value - Return binary encoding of operand for movw/movt. If the
/// machine operand requires relocation, record the relocation and return
/// zero.