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

Chris Lattner sabre at nondot.org
Wed Mar 5 09:11:51 PST 2008


Author: lattner
Date: Wed Mar  5 11:11:51 2008
New Revision: 47948

URL: http://llvm.org/viewvc/llvm-project?rev=47948&view=rev
Log:
evan implemented this.

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

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

==============================================================================
--- llvm/trunk/lib/Target/X86/README-SSE.txt (original)
+++ llvm/trunk/lib/Target/X86/README-SSE.txt Wed Mar  5 11:11:51 2008
@@ -586,32 +586,6 @@
 
 //===---------------------------------------------------------------------===//
 
-"converting 64-bit constant pool entry to 32-bit not necessarily beneficial"
-http://llvm.org/PR1264
-
-For this test case:
-
-define double @foo(double %x) {
-        %y = mul double %x, 5.000000e-01
-        ret double %y
-}
-
-llc -march=x86-64 currently produces a 32-bit constant pool entry and this code:
-
-        cvtss2sd .LCPI1_0(%rip), %xmm1
-        mulsd %xmm1, %xmm0
-
-instead of just using a 64-bit constant pool entry with this:
-
-        mulsd .LCPI1_0(%rip), %xmm0
-
-This is due to the code in ExpandConstantFP in LegalizeDAG.cpp. It notices that
-x86-64 indeed has an instruction to load a 32-bit float from memory and convert
-it into a 64-bit float in a register, however it doesn't notice that this isn't
-beneficial because it prevents the load from being folded into the multiply.
-
-//===---------------------------------------------------------------------===//
-
 These functions:
 
 #include <xmmintrin.h>





More information about the llvm-commits mailing list