summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--test/CodeGen/X86/2005-08-30-RegAllocAliasProblem.ll17
1 files changed, 17 insertions, 0 deletions
diff --git a/test/CodeGen/X86/2005-08-30-RegAllocAliasProblem.ll b/test/CodeGen/X86/2005-08-30-RegAllocAliasProblem.ll
new file mode 100644
index 0000000..509c07b
--- /dev/null
+++ b/test/CodeGen/X86/2005-08-30-RegAllocAliasProblem.ll
@@ -0,0 +1,17 @@
+; RUN: llvm-as < %s | llc -march=x86 -x86-asm-syntax=intel | not grep 'test.*%AL' || \
+; RUN: llvm-as < %s | llc -march=x86 -x86-asm-syntax=intel | not grep 'cmove.*%EAX'
+
+; This testcase was compiling to:
+;
+; _pypy_simple5:
+; movl $13, %ecx
+; movl $12, %eax
+; movb 4(%esp), %al
+; testb %al, %al ;; clobber EAX!
+; cmove %ecx, %eax
+; ret
+
+int %pypy_simple5(bool %b_4787) {
+ %retval = select bool %b_4787, int 12, int 13 ; <int> [#uses=1]
+ ret int %retval
+}