New testcase. This now codegens to:
max:
mov %EAX, DWORD PTR [%ESP + 4]
mov %ECX, DWORD PTR [%ESP + 8]
cmp %EAX, %ECX
cmovle %EAX, %ECX
ret
Someone should really implement passing arguments through registers for
known-internal functions. :)
llvm-svn: 12558
diff --git a/llvm/test/Regression/CodeGen/X86/2004-03-30-Select-Max.llx b/llvm/test/Regression/CodeGen/X86/2004-03-30-Select-Max.llx
new file mode 100644
index 0000000..292762a
--- /dev/null
+++ b/llvm/test/Regression/CodeGen/X86/2004-03-30-Select-Max.llx
@@ -0,0 +1,7 @@
+; RUN: llvm-as < %s | llc -march=x86 | not grep 'j[lgbe]'
+
+int %max(int %A, int %B) {
+ %gt = setgt int %A, %B
+ %R = select bool %gt, int %A, int %B
+ ret int %R
+}