diff options
| author | Chad Rosier <mcrosier@apple.com> | 2013-05-09 23:48:53 +0000 |
|---|---|---|
| committer | Chad Rosier <mcrosier@apple.com> | 2013-05-09 23:48:53 +0000 |
| commit | edb1dc8498c3e8917bdf955bd07212a1d05a2c21 (patch) | |
| tree | 4a2094ab39ce5872ef2df37f904e24c1af4f2180 /llvm | |
| parent | 85378316bfb597efbe592a3b36b5b053229cea0f (diff) | |
| download | bcm5719-llvm-edb1dc8498c3e8917bdf955bd07212a1d05a2c21.tar.gz bcm5719-llvm-edb1dc8498c3e8917bdf955bd07212a1d05a2c21.zip | |
[x86AsmParser] It's valid to stop parsing an operand at an immediate.
rdar://13854369 and PR15944
llvm-svn: 181564
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp | 4 | ||||
| -rw-r--r-- | llvm/test/MC/X86/intel-syntax.s | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp b/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp index 68908abb576..520c4c0048e 100644 --- a/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp +++ b/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp @@ -219,7 +219,9 @@ private: const MCExpr *getSym() { return Sym; } StringRef getSymName() { return SymName; } int64_t getImm() { return Imm + IC.execute(); } - bool isValidEndState() { return State == IES_RBRAC; } + bool isValidEndState() { + return State == IES_RBRAC || State == IES_INTEGER; + } bool getStopOnLBrac() { return StopOnLBrac; } bool getAddImmPrefix() { return AddImmPrefix; } bool hadError() { return State == IES_ERROR; } diff --git a/llvm/test/MC/X86/intel-syntax.s b/llvm/test/MC/X86/intel-syntax.s index b2f337dac9d..fa1ba5ba543 100644 --- a/llvm/test/MC/X86/intel-syntax.s +++ b/llvm/test/MC/X86/intel-syntax.s @@ -322,4 +322,6 @@ _main: setnle al // CHECK: jne _foo jnz _foo +// CHECK: outb %al, $4 + out 4, al ret |

