From: Chris Lattner Date: Wed, 13 Jan 2010 23:28:40 +0000 (+0000) Subject: X86 if conversion + tail merging issues from PR6032. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=689339c50f957b21861038e69fc8ee71ecae14b2;p=oota-llvm.git X86 if conversion + tail merging issues from PR6032. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93372 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/X86/README.txt b/lib/Target/X86/README.txt index aa7bb3d9788..f146ff36345 100644 --- a/lib/Target/X86/README.txt +++ b/lib/Target/X86/README.txt @@ -1868,3 +1868,23 @@ carried over to machine instructions. Asm printer (or JIT) can use this 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. + +//===---------------------------------------------------------------------===// +