mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-22 03:58:16 +00:00
this is an SSE-specific issue.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93373 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
689339c50f
commit
5350f78323
@ -916,3 +916,23 @@ cheaper to do fld1 than load from a constant pool for example, so
|
||||
"load, add 1.0, store" is better done in the fp stack, etc.
|
||||
|
||||
//===---------------------------------------------------------------------===//
|
||||
|
||||
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.
|
||||
|
||||
//===---------------------------------------------------------------------===//
|
||||
|
||||
|
@ -1868,23 +1868,3 @@ 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.
|
||||
|
||||
//===---------------------------------------------------------------------===//
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user