llvm-6502/lib
Chris Lattner b7300fa8d2 Implement Transforms/InstCombine/vec_extract_elt.ll, transforming:
define i32 @test(float %f) {
        %tmp7 = insertelement <4 x float> undef, float %f, i32 0
        %tmp17 = bitcast <4 x float> %tmp7 to <4 x i32>
        %tmp19 = extractelement <4 x i32> %tmp17, i32 0
        ret i32 %tmp19
}

into:

define i32 @test(float %f) {
        %tmp19 = bitcast float %f to i32                ; <i32> [#uses=1]
        ret i32 %tmp19
}

On PPC, this is the difference between:

_test:
        mfspr r2, 256
        oris r3, r2, 8192
        mtspr 256, r3
        stfs f1, -16(r1)
        addi r3, r1, -16
        addi r4, r1, -32
        lvx v2, 0, r3
        stvx v2, 0, r4
        lwz r3, -32(r1)
        mtspr 256, r2
        blr

and:

_test:
        stfs f1, -4(r1)
        nop
        nop
        nop
        lwz r3, -4(r1)
        blr


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36025 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-14 23:02:14 +00:00
..
Analysis CSE simple binary expressions when they are inserted. This makes LSR produce 2007-04-13 05:04:18 +00:00
Archive Avoid a useless temporary constrution. 2007-04-07 19:51:45 +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 Transforms/InstCombine/vec_extract_elt.ll, transforming: 2007-04-14 23:02:14 +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