diff options
author | David Majnemer <david.majnemer@gmail.com> | 2015-01-14 06:14:36 +0000 |
---|---|---|
committer | David Majnemer <david.majnemer@gmail.com> | 2015-01-14 06:14:36 +0000 |
commit | 7efc6139d983b191bd29fc61bb615e9432cd7f7b (patch) | |
tree | 4a0e966c9d221a80dd856c9935b638576cc83c64 | |
parent | d8976b8ed3f9ffcabceb1092a1b24999b5d307ef (diff) | |
download | bcm5719-llvm-7efc6139d983b191bd29fc61bb615e9432cd7f7b.tar.gz bcm5719-llvm-7efc6139d983b191bd29fc61bb615e9432cd7f7b.zip |
Use the operand vector instead so inline assembly can be validated too
The buildbots got upset after r225941, this should hopefully fix things.
llvm-svn: 225954
-rw-r--r-- | llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp b/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp index 02d48470615..d743aa6ef33 100644 --- a/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp +++ b/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp @@ -2277,11 +2277,11 @@ bool X86AsmParser::validateInstruction(MCInst &Inst, const OperandVector &Ops) { switch (Inst.getOpcode()) { default: return true; case X86::INT: - if (Inst.getNumOperands() == 0) - return true; - assert(Inst.getOperand(0).isImm() && "expected immediate"); - if (Inst.getOperand(0).getImm() > 255) { - Error(Ops[1]->getStartLoc(), "interrupt vector must be in range [0-255]"); + X86Operand &Op = static_cast<X86Operand &>(*Ops[1]); + assert(Op.isImm() && "expected immediate"); + int64_t Res; + if (!Op.getImm()->EvaluateAsAbsolute(Res) || Res > 255) { + Error(Op.getStartLoc(), "interrupt vector must be in range [0-255]"); return false; } return true; |