[llvm-commits] [llvm] r114531 - in /llvm/trunk: lib/Target/X86/AsmParser/X86AsmParser.cpp test/MC/AsmParser/X86/x86_instructions.s
Chris Lattner
sabre at nondot.org
Tue Sep 21 21:56:20 PDT 2010
Author: lattner
Date: Tue Sep 21 23:56:20 2010
New Revision: 114531
URL: http://llvm.org/viewvc/llvm-project?rev=114531&view=rev
Log:
add the missing aliases for fp stack cmovs, rdar://8456391
Modified:
llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp
llvm/trunk/test/MC/AsmParser/X86/x86_instructions.s
Modified: llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp?rev=114531&r1=114530&r2=114531&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp (original)
+++ llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp Tue Sep 21 23:56:20 2010
@@ -685,6 +685,12 @@
.Case("cmovnzq", "cmovneq").Case("cmovnz", "cmovne")
.Case("cmovzw", "cmovew") .Case("cmovzl", "cmovel")
.Case("cmovzq", "cmoveq") .Case("cmovz", "cmove")
+ // Floating point stack cmov aliases.
+ .Case("fcmovz", "fcmove")
+ .Case("fcmova", "fcmovnbe")
+ .Case("fcmovnae", "fcmovb")
+ .Case("fcmovna", "fcmovbe")
+ .Case("fcmovae", "fcmovnb")
.Case("fwait", "wait")
.Case("movzx", "movzb") // FIXME: Not correct.
.Case("fildq", "fildll")
Modified: llvm/trunk/test/MC/AsmParser/X86/x86_instructions.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/AsmParser/X86/x86_instructions.s?rev=114531&r1=114530&r2=114531&view=diff
==============================================================================
--- llvm/trunk/test/MC/AsmParser/X86/x86_instructions.s (original)
+++ llvm/trunk/test/MC/AsmParser/X86/x86_instructions.s Tue Sep 21 23:56:20 2010
@@ -319,3 +319,20 @@
// rdar://8456364
// CHECK: movw %cs, %ax
mov %CS, %ax
+
+// rdar://8456391
+fcmovb %st(1), %st(0) // CHECK: fcmovb %st(1), %st(0)
+fcmove %st(1), %st(0) // CHECK: fcmove %st(1), %st(0)
+fcmovbe %st(1), %st(0) // CHECK: fcmovbe %st(1), %st(0)
+fcmovu %st(1), %st(0) // CHECK: fcmovu %st(1), %st(0)
+
+fcmovnb %st(1), %st(0) // CHECK: fcmovnb %st(1), %st(0)
+fcmovne %st(1), %st(0) // CHECK: fcmovne %st(1), %st(0)
+fcmovnbe %st(1), %st(0) // CHECK: fcmovnbe %st(1), %st(0)
+fcmovnu %st(1), %st(0) // CHECK: fcmovnu %st(1), %st(0)
+
+fcmovnae %st(1), %st(0) // CHECK: fcmovb %st(1), %st(0)
+fcmovna %st(1), %st(0) // CHECK: fcmovbe %st(1), %st(0)
+
+fcmovae %st(1), %st(0) // CHECK: fcmovnb %st(1), %st(0)
+fcmova %st(1), %st(0) // CHECK: fcmovnbe %st(1), %st(0)
More information about the llvm-commits
mailing list