summaryrefslogtreecommitdiff
path: root/lib/Target/X86/X86InstrInfo.h
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-08-19 01:18:43 +0000
committerChris Lattner <sabre@nondot.org>2010-08-19 01:18:43 +0000
commit59f8a6a66621f7c6f45b838e48fbf210af9d1fb5 (patch)
tree220603d3d4a15c0bd73eca3dcdc047fcc75c0ee3 /lib/Target/X86/X86InstrInfo.h
parent694a15eabed6af4ba6da14ab4b0b25dceb980d55 (diff)
downloadllvm-59f8a6a66621f7c6f45b838e48fbf210af9d1fb5.tar.gz
llvm-59f8a6a66621f7c6f45b838e48fbf210af9d1fb5.tar.bz2
llvm-59f8a6a66621f7c6f45b838e48fbf210af9d1fb5.tar.xz
fix PR7465, mishandling of lcall and ljmp: intersegment long
call and jumps. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111496 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/X86InstrInfo.h')
-rw-r--r--lib/Target/X86/X86InstrInfo.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/Target/X86/X86InstrInfo.h b/lib/Target/X86/X86InstrInfo.h
index 8c68bc6805..c837a85642 100644
--- a/lib/Target/X86/X86InstrInfo.h
+++ b/lib/Target/X86/X86InstrInfo.h
@@ -311,6 +311,12 @@ namespace X86II {
MRM_F0 = 40,
MRM_F8 = 41,
MRM_F9 = 42,
+
+ /// RawFrmImm16 - This is used for CALL FAR instructions, which have two
+ /// immediates, the first of which is a 16 or 32-bit immediate (specified by
+ /// the imm encoding) and the second is a 16-bit fixed value. In the AMD
+ /// manual, this operand is described as pntr16:32 and pntr16:16
+ RawFrmImm16 = 43,
FormMask = 63,
@@ -522,6 +528,7 @@ namespace X86II {
case X86II::AddRegFrm:
case X86II::MRMDestReg:
case X86II::MRMSrcReg:
+ case X86II::RawFrmImm16:
return -1;
case X86II::MRMDestMem:
return 0;