diff options
author | Daniel Dunbar <daniel@zuster.org> | 2010-05-04 17:31:02 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2010-05-04 17:31:02 +0000 |
commit | e9f0fb4179d57c631a72fa8020ca05a4d132e15b (patch) | |
tree | 7c49206eb79aa79305f3157abf467ded45c52a43 | |
parent | 28428cd6f31c1ea3cf4cea03e64189a4c32b84a3 (diff) | |
download | external_llvm-e9f0fb4179d57c631a72fa8020ca05a4d132e15b.zip external_llvm-e9f0fb4179d57c631a72fa8020ca05a4d132e15b.tar.gz external_llvm-e9f0fb4179d57c631a72fa8020ca05a4d132e15b.tar.bz2 |
MC/X86: Chris pointed that 'as' isn't consistent in accepting the long form of
instructions which have no direct register usage.
Darwin 'as' accepts:
add $0, (%rax)
but rejects
mov $0, (%rax)
for example.
Given that, only accept suffix matches which match exactly one form. We still
need to emit nice diagnostics for failures...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103015 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/X86/AsmParser/X86AsmParser.cpp | 5 | ||||
-rw-r--r-- | test/MC/AsmParser/X86/x86_64-suffix-matching.s | 2 |
2 files changed, 0 insertions, 7 deletions
diff --git a/lib/Target/X86/AsmParser/X86AsmParser.cpp b/lib/Target/X86/AsmParser/X86AsmParser.cpp index aaa1c06..6b403c1 100644 --- a/lib/Target/X86/AsmParser/X86AsmParser.cpp +++ b/lib/Target/X86/AsmParser/X86AsmParser.cpp @@ -683,11 +683,6 @@ X86ATTAsmParser::MatchInstruction(const SmallVectorImpl<MCParsedAsmOperand*> if (MatchB + MatchW + MatchL == 2) return false; - // Similarly, if all three matched then we assume this is a generic operation - // involving memory, and take the 'l' form (to match 'gas'). - if (MatchB + MatchW + MatchL == 0) - return false; - // Otherwise, the match failed. return true; } diff --git a/test/MC/AsmParser/X86/x86_64-suffix-matching.s b/test/MC/AsmParser/X86/x86_64-suffix-matching.s index 9a38e1b..c4f0be2 100644 --- a/test/MC/AsmParser/X86/x86_64-suffix-matching.s +++ b/test/MC/AsmParser/X86/x86_64-suffix-matching.s @@ -4,5 +4,3 @@ add $0, %eax // CHECK: addb $255, %al add $0xFF, %al -// CHECK: addl $0, (%rax) - add $0, 0(%rax) |