diff options
author | Chris Lattner <sabre@nondot.org> | 2010-01-13 23:28:40 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-01-13 23:28:40 +0000 |
commit | 689339c50f957b21861038e69fc8ee71ecae14b2 (patch) | |
tree | 0ea673fc68bac9d2c887ca3c58ae30e553fdd5df /lib | |
parent | 22f3b9faaca03e3da987955bb75e867d3af7bffe (diff) |
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
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Target/X86/README.txt | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/Target/X86/README.txt b/lib/Target/X86/README.txt index aa7bb3d978..f146ff3634 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. + +//===---------------------------------------------------------------------===// + |