aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Enderby <enderby@apple.com>2010-12-08 23:57:59 +0000
committerKevin Enderby <enderby@apple.com>2010-12-08 23:57:59 +0000
commit76331754d4a06e2394c15ae8f4870f4aeaf5ca1f (patch)
treefcbbf6f77eff634c16d26fb80d7d167fadb42628
parent9b0c4f8af3e303c85ddb5ff0ee2c8e27a4d77203 (diff)
downloadexternal_llvm-76331754d4a06e2394c15ae8f4870f4aeaf5ca1f.tar.gz
external_llvm-76331754d4a06e2394c15ae8f4870f4aeaf5ca1f.tar.bz2
external_llvm-76331754d4a06e2394c15ae8f4870f4aeaf5ca1f.zip
Allow a slash, '/', as a prefix separator for X86. rdar://8741045
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121320 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/X86/AsmParser/X86AsmParser.cpp2
-rw-r--r--test/MC/X86/x86-64.s5
2 files changed, 7 insertions, 0 deletions
diff --git a/lib/Target/X86/AsmParser/X86AsmParser.cpp b/lib/Target/X86/AsmParser/X86AsmParser.cpp
index 1064effbbc..b3f3dbbedd 100644
--- a/lib/Target/X86/AsmParser/X86AsmParser.cpp
+++ b/lib/Target/X86/AsmParser/X86AsmParser.cpp
@@ -758,6 +758,8 @@ ParseInstruction(StringRef Name, SMLoc NameLoc,
if (getLexer().is(AsmToken::EndOfStatement))
Parser.Lex(); // Consume the EndOfStatement
+ else if (isPrefix && getLexer().is(AsmToken::Slash))
+ Parser.Lex(); // Consume the prefix separator Slash
// This is a terrible hack to handle "out[bwl]? %al, (%dx)" ->
// "outb %al, %dx". Out doesn't take a memory form, but this is a widely
diff --git a/test/MC/X86/x86-64.s b/test/MC/X86/x86-64.s
index 17f00faafc..a285c6f645 100644
--- a/test/MC/X86/x86-64.s
+++ b/test/MC/X86/x86-64.s
@@ -738,6 +738,11 @@ lock incl 1(%rsp)
// CHECK: lock
// CHECK: incl 1(%rsp)
+// rdar://8741045
+lock/incl 1(%rsp)
+// CHECK: lock
+// CHECK: incl 1(%rsp)
+
// rdar://8033482
rep movsl
// CHECK: rep