LLVM backend for 6502
Go to file
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
autoconf Hack the shared library extension for dylib. The existing code just looks 2007-04-11 00:33:43 +00:00
docs For PR1319: 2007-04-14 21:46:15 +00:00
examples Revert last patch. The examples build now. 2007-03-06 17:26:14 +00:00
include Fix PR1329. 2007-04-14 21:50:21 +00:00
lib Implement Transforms/InstCombine/vec_extract_elt.ll, transforming: 2007-04-14 23:02:14 +00:00
projects
runtime crtend is only for llvm-gcc3, remove it. 2007-02-23 19:34:09 +00:00
test new testcase 2007-04-14 23:00:51 +00:00
tools Make the generated code for ConstantInt nicer. 2007-04-11 13:02:56 +00:00
utils Adding target triplet to be passed to database. 2007-04-13 04:36:48 +00:00
win32 Track new header file. 2007-04-08 21:19:52 +00:00
Xcode
.cvsignore
configure Hopefully fix LTDL_SHLIB_EXT on Darwin 2007-04-11 00:27:39 +00:00
CREDITS.TXT Add Roman to credits 2007-03-21 21:45:25 +00:00
LICENSE.TXT remove these. 2007-02-25 02:28:21 +00:00
llvm.spec.in
Makefile don't build runtime for now, ever 2007-03-29 18:14:00 +00:00
Makefile.common
Makefile.config.in For PR789: 2007-03-29 19:05:44 +00:00
Makefile.rules Speed up installation a bit by ignoring .svn directories. 2007-04-09 19:08:58 +00:00
README.txt

Low Level Virtual Machine (LLVM)
================================

This directory and its subdirectories contain source code for the Low Level 
Virtual Machine, a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments. 

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the HTML documentation provided in docs/index.html for further
assistance with LLVM.