aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/X86
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@gmail.com>2013-03-18 03:34:55 +0000
committerCraig Topper <craig.topper@gmail.com>2013-03-18 03:34:55 +0000
commit8ee1c1cfaff9eece05ecabfa267cd68c98af5dd2 (patch)
tree64875316a79aa813e4b02e967c87fd75a19df894 /lib/Target/X86
parent4bef961baf9660f1ac5a5b80378631cd942636b2 (diff)
downloadexternal_llvm-8ee1c1cfaff9eece05ecabfa267cd68c98af5dd2.zip
external_llvm-8ee1c1cfaff9eece05ecabfa267cd68c98af5dd2.tar.gz
external_llvm-8ee1c1cfaff9eece05ecabfa267cd68c98af5dd2.tar.bz2
Post process ADC/SBB and use a shorter encoding if they use a sign extended immediate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177243 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86')
-rw-r--r--lib/Target/X86/AsmParser/X86AsmParser.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/Target/X86/AsmParser/X86AsmParser.cpp b/lib/Target/X86/AsmParser/X86AsmParser.cpp
index 5f6c110..4ed5534a6 100644
--- a/lib/Target/X86/AsmParser/X86AsmParser.cpp
+++ b/lib/Target/X86/AsmParser/X86AsmParser.cpp
@@ -1801,6 +1801,12 @@ processInstruction(MCInst &Inst,
case X86::SUB16i16: return convert16i16to16ri8(Inst, X86::SUB16ri8);
case X86::SUB32i32: return convert32i32to32ri8(Inst, X86::SUB32ri8);
case X86::SUB64i32: return convert64i32to64ri8(Inst, X86::SUB64ri8);
+ case X86::ADC16i16: return convert16i16to16ri8(Inst, X86::ADC16ri8);
+ case X86::ADC32i32: return convert32i32to32ri8(Inst, X86::ADC32ri8);
+ case X86::ADC64i32: return convert64i32to64ri8(Inst, X86::ADC64ri8);
+ case X86::SBB16i16: return convert16i16to16ri8(Inst, X86::SBB16ri8);
+ case X86::SBB32i32: return convert32i32to32ri8(Inst, X86::SBB32ri8);
+ case X86::SBB64i32: return convert64i32to64ri8(Inst, X86::SBB64ri8);
}
}