summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2010-11-27 20:29:45 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2010-11-27 20:29:45 +0000
commiteab0800695c4459406333efe8b4280ffc34edb72 (patch)
tree1b6890103f99cf7b685248d796355199c8240e0a /llvm/lib/Target
parentf2d08136bf5c50ad53020f0d198cac2f7a461d9e (diff)
downloadbcm5719-llvm-eab0800695c4459406333efe8b4280ffc34edb72.tar.gz
bcm5719-llvm-eab0800695c4459406333efe8b4280ffc34edb72.zip
Implement the data16 prefix.
llvm-svn: 120224
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp2
-rw-r--r--llvm/lib/Target/X86/X86InstrInfo.td3
2 files changed, 4 insertions, 1 deletions
diff --git a/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp b/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
index b6660710bbf..1b4086b41a8 100644
--- a/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
+++ b/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
@@ -708,7 +708,7 @@ ParseInstruction(StringRef Name, SMLoc NameLoc,
Name == "lock" || Name == "rep" ||
Name == "repe" || Name == "repz" ||
Name == "repne" || Name == "repnz" ||
- Name == "rex64";
+ Name == "rex64" || Name == "data16";
// This does the actual operand parsing. Don't parse any more if we have a
diff --git a/llvm/lib/Target/X86/X86InstrInfo.td b/llvm/lib/Target/X86/X86InstrInfo.td
index d7a55057c4b..560cafe0816 100644
--- a/llvm/lib/Target/X86/X86InstrInfo.td
+++ b/llvm/lib/Target/X86/X86InstrInfo.td
@@ -1147,6 +1147,9 @@ def LOCK_PREFIX : I<0xF0, RawFrm, (outs), (ins), "lock", []>;
// Rex64 instruction prefix
def REX64_PREFIX : I<0x48, RawFrm, (outs), (ins), "rex64", []>;
+// Data16 instruction prefix
+def DATA16_PREFIX : I<0x66, RawFrm, (outs), (ins), "data16", []>;
+
// Repeat string operation instruction prefixes
// These uses the DF flag in the EFLAGS register to inc or dec ECX
let Defs = [ECX], Uses = [ECX,EFLAGS] in {
OpenPOWER on IntegriCloud