summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-09-06 23:40:56 +0000
committerChris Lattner <sabre@nondot.org>2010-09-06 23:40:56 +0000
commit415e04fad20ecd699b6824f07be9cdf9b41577c4 (patch)
tree47e85eea577208bcb4b68dccfd8117a718630f32
parentabfe4223c2756dcd38d9804645decdb18edceb76 (diff)
downloadbcm5719-llvm-415e04fad20ecd699b6824f07be9cdf9b41577c4.tar.gz
bcm5719-llvm-415e04fad20ecd699b6824f07be9cdf9b41577c4.zip
fix rdar://8017621 - llvm-mc can't guess encoding for "push $(1000)"
llvm-svn: 113184
-rw-r--r--llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp1
-rw-r--r--llvm/test/MC/AsmParser/X86/x86_instructions.s5
2 files changed, 6 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp b/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
index 2aa632d4298..19d9470639d 100644
--- a/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
+++ b/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
@@ -636,6 +636,7 @@ ParseInstruction(StringRef Name, SMLoc NameLoc,
.Case("repe", "rep")
.Case("repz", "rep")
.Case("repnz", "repne")
+ .Case("push", Is64Bit ? "pushq" : "pushl")
.Case("pushf", Is64Bit ? "pushfq" : "pushfl")
.Case("popf", Is64Bit ? "popfq" : "popfl")
.Case("retl", Is64Bit ? "retl" : "ret")
diff --git a/llvm/test/MC/AsmParser/X86/x86_instructions.s b/llvm/test/MC/AsmParser/X86/x86_instructions.s
index 43702a16174..308dc09586d 100644
--- a/llvm/test/MC/AsmParser/X86/x86_instructions.s
+++ b/llvm/test/MC/AsmParser/X86/x86_instructions.s
@@ -173,3 +173,8 @@ outb %al, $161
outw %ax, $128
// CHECK: inb $161, %al
inb $161, %al
+
+// rdar://8017621
+// CHECK: pushq $1
+push $1
+
OpenPOWER on IntegriCloud