summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
diff options
context:
space:
mode:
authorQuentin Colombet <qcolombet@apple.com>2015-12-15 00:09:23 +0000
committerQuentin Colombet <qcolombet@apple.com>2015-12-15 00:09:23 +0000
commit25b43f3624087cede9aabf3f7afd0c1be613e387 (patch)
tree203ad586f34f204999ef3f0298f1fc7412db07ef /llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
parentc13e9633f438cfc4c06f5fc8e13f5867f4109909 (diff)
downloadbcm5719-llvm-25b43f3624087cede9aabf3f7afd0c1be613e387.tar.gz
bcm5719-llvm-25b43f3624087cede9aabf3f7afd0c1be613e387.zip
[X86] Add relaxtion logic for SBB instructions.
Prior to this patch, we would wrongly stick to the variant with imm8 encoding even when the relocation could not fit that size. rdar://problem/23785506 llvm-svn: 255583
Diffstat (limited to 'llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp')
-rw-r--r--llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp b/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
index 4136943a117..133bd0e1772 100644
--- a/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
+++ b/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
@@ -220,6 +220,14 @@ static unsigned getRelaxedOpcodeArith(unsigned Op) {
case X86::SUB64ri8: return X86::SUB64ri32;
case X86::SUB64mi8: return X86::SUB64mi32;
+ // SBB
+ case X86::SBB16ri8: return X86::SBB16ri;
+ case X86::SBB16mi8: return X86::SBB16mi;
+ case X86::SBB32ri8: return X86::SBB32ri;
+ case X86::SBB32mi8: return X86::SBB32mi;
+ case X86::SBB64ri8: return X86::SBB64ri32;
+ case X86::SBB64mi8: return X86::SBB64mi32;
+
// CMP
case X86::CMP16ri8: return X86::CMP16ri;
case X86::CMP16mi8: return X86::CMP16mi;
OpenPOWER on IntegriCloud