aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2006-05-18 06:27:15 +0000
committerEvan Cheng <evan.cheng@apple.com>2006-05-18 06:27:15 +0000
commit751458dac9fec1c9436065a6e1ea0dd0a9cf3ec3 (patch)
tree2bcd6c2be5f24b73166c73cb0bad2d365718231e
parentac4c75ba8253dbd918d0cb5aa8614d8f4f7d7ad7 (diff)
ImmMask should be 3 for a two-bit field; Compact X86II
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28381 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/X86/X86.td2
-rw-r--r--lib/Target/X86/X86InstrInfo.h5
2 files changed, 3 insertions, 4 deletions
diff --git a/lib/Target/X86/X86.td b/lib/Target/X86/X86.td
index e310f2676c..e15512db23 100644
--- a/lib/Target/X86/X86.td
+++ b/lib/Target/X86/X86.td
@@ -114,7 +114,7 @@ def X86InstrInfo : InstrInfo {
7,
11,
13,
- 17];
+ 16];
}
// The X86 target supports two different syntaxes for emitting machine code.
diff --git a/lib/Target/X86/X86InstrInfo.h b/lib/Target/X86/X86InstrInfo.h
index 654a4334cf..d6dfae14e6 100644
--- a/lib/Target/X86/X86InstrInfo.h
+++ b/lib/Target/X86/X86InstrInfo.h
@@ -120,7 +120,7 @@ namespace X86II {
// This two-bit field describes the size of an immediate operand. Zero is
// unused so that we can tell if we forgot to set a value.
ImmShift = 11,
- ImmMask = 7 << ImmShift,
+ ImmMask = 3 << ImmShift,
Imm8 = 1 << ImmShift,
Imm16 = 2 << ImmShift,
Imm32 = 3 << ImmShift,
@@ -161,8 +161,7 @@ namespace X86II {
// SpecialFP - Special instruction forms. Dispatch by opcode explicitly.
SpecialFP = 7 << FPTypeShift,
- // Bit 15 is unused.
- OpcodeShift = 17,
+ OpcodeShift = 16,
OpcodeMask = 0xFF << OpcodeShift,
// Bits 25 -> 31 are unused
};