[llvm-commits] [llvm] r93372 - /llvm/trunk/lib/Target/X86/README.txt

Chris Lattner sabre at nondot.org
Wed Jan 13 15:28:40 PST 2010


Author: lattner
Date: Wed Jan 13 17:28:40 2010
New Revision: 93372

URL: http://llvm.org/viewvc/llvm-project?rev=93372&view=rev
Log:
X86 if conversion + tail merging issues from PR6032.

Modified:
    llvm/trunk/lib/Target/X86/README.txt

Modified: llvm/trunk/lib/Target/X86/README.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/README.txt?rev=93372&r1=93371&r2=93372&view=diff

==============================================================================
--- llvm/trunk/lib/Target/X86/README.txt (original)
+++ llvm/trunk/lib/Target/X86/README.txt Wed Jan 13 17:28:40 2010
@@ -1868,3 +1868,23 @@
 information to add the "lock" prefix.
 
 //===---------------------------------------------------------------------===//
+
+The X86 backend should be able to if-convert SSE comparisons like "ucomisd" to
+"cmpsd".  For example, this code:
+
+double d1(double x) { return x == x ? x : x + x; }
+
+Compiles into:
+
+_d1:
+	ucomisd	%xmm0, %xmm0
+	jnp	LBB1_2
+	addsd	%xmm0, %xmm0
+	ret
+LBB1_2:
+	ret
+
+Also, the 'ret's should be shared.  This is PR6032.
+
+//===---------------------------------------------------------------------===//
+





More information about the llvm-commits mailing list