diff options
author | Bill Wendling <isanbard@gmail.com> | 2011-03-01 01:00:59 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2011-03-01 01:00:59 +0000 |
commit | a656b63ee4d5b0e3f4d26a55dd4cc69795746684 (patch) | |
tree | 207aa0386e59701c56483a84bcc30708bb82795d /lib/Target/ARM/ARMCodeEmitter.cpp | |
parent | f291ab2fbaa5ed1cfa20ca47e8dece1040a5065b (diff) | |
download | llvm-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.cpp | 7 |
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. |