1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 19:42:54 +02:00
llvm-mirror/lib
Chris Lattner 3553a131d0 Implement InstCombine/vec_demanded_elts.ll:test2. This allows us to turn
unsigned test(float f) {
 return _mm_cvtsi128_si32( (__m128i) _mm_set_ss( f*f ));
}

into:

_test:
        movss 4(%esp), %xmm0
        mulss %xmm0, %xmm0
        movd %xmm0, %eax
        ret

instead of:

_test:
        movss 4(%esp), %xmm0
        mulss %xmm0, %xmm0
        xorps %xmm1, %xmm1
        movss %xmm0, %xmm1
        movd %xmm1, %eax
        ret

GCC gets:

_test:
        subl    $28, %esp
        movss   32(%esp), %xmm0
        mulss   %xmm0, %xmm0
        xorps   %xmm1, %xmm1
        movss   %xmm0, %xmm1
        movaps  %xmm1, %xmm0
        movd    %xmm0, 12(%esp)
        movl    12(%esp), %eax
        addl    $28, %esp
        ret

llvm-svn: 36020
2007-04-14 22:29:23 +00:00
..
Analysis CSE simple binary expressions when they are inserted. This makes LSR produce 2007-04-13 05:04:18 +00:00
AsmParser Implement the "thread_local" keyword. 2007-04-12 18:32:50 +00:00
Bytecode Implement the "thread_local" keyword. 2007-04-12 18:32:50 +00:00
CodeGen disable switch lowering using shift/and. It still breaks ppc bootstrap for 2007-04-14 19:39:41 +00:00
Debugger Make sure temporary data is not used past its life span. 2007-04-08 20:10:14 +00:00
ExecutionEngine For PR1293: 2007-03-30 16:41:50 +00:00
Linker Implement the "thread_local" keyword. 2007-04-12 18:32:50 +00:00
Support Fix PR1329. 2007-04-14 21:50:21 +00:00
System Hack to get sys::Path to recognize macho dylibs. 2007-04-11 03:15:35 +00:00
Target Silence VC++ warning. 2007-04-13 22:52:03 +00:00
Transforms Implement InstCombine/vec_demanded_elts.ll:test2. This allows us to turn 2007-04-14 22:29:23 +00:00
VMCore add GetElementPtrInst::hasAllZeroIndices, a long-overdue helper method. 2007-04-14 00:12:57 +00:00
Makefile Changes to support making the shift instructions be true BinaryOperators. 2007-02-02 02:16:23 +00:00