summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/AsmParser/X86Operand.h
diff options
context:
space:
mode:
authorPeter Collingbourne <peter@pcc.me.uk>2016-10-20 01:58:34 +0000
committerPeter Collingbourne <peter@pcc.me.uk>2016-10-20 01:58:34 +0000
commitc7766778a070986ccc38b7782e272cf7e0ff0892 (patch)
treef2e73a2b82b366ced9df76ae037883c9ac017ccb /llvm/lib/Target/X86/AsmParser/X86Operand.h
parent837182ec1eff1c8249102e1b36dfb86a91393dc2 (diff)
downloadbcm5719-llvm-c7766778a070986ccc38b7782e272cf7e0ff0892.tar.gz
bcm5719-llvm-c7766778a070986ccc38b7782e272cf7e0ff0892.zip
X86: Allow expressions to appear as u8imm operands.
llvm-svn: 284688
Diffstat (limited to 'llvm/lib/Target/X86/AsmParser/X86Operand.h')
-rw-r--r--llvm/lib/Target/X86/AsmParser/X86Operand.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/Target/X86/AsmParser/X86Operand.h b/llvm/lib/Target/X86/AsmParser/X86Operand.h
index a04c2f5c84a..9db1a8483be 100644
--- a/llvm/lib/Target/X86/AsmParser/X86Operand.h
+++ b/llvm/lib/Target/X86/AsmParser/X86Operand.h
@@ -192,8 +192,10 @@ struct X86Operand : public MCParsedAsmOperand {
bool isImmUnsignedi8() const {
if (!isImm()) return false;
+ // If this isn't a constant expr, just assume it fits and let relaxation
+ // handle it.
const MCConstantExpr *CE = dyn_cast<MCConstantExpr>(getImm());
- if (!CE) return false;
+ if (!CE) return true;
return isImmUnsignedi8Value(CE->getValue());
}
OpenPOWER on IntegriCloud