LLVM backend for 6502
Go to file
Chris Lattner 82ed58f9c4 Turn altivec lvx/stvx intrinsics into loads and stores. This allows the
elimination of one load from this:

int AreSecondAndThirdElementsBothNegative( vector float *in ) {
#define QNaN 0x7FC00000
const vector unsigned int testData = (vector unsigned int)( QNaN, 0, 0, QNaN );
vector float test = vec_ld( 0, (float*) &testData );
return ! vec_any_ge( test, *in );
}

Now generating:

_AreSecondAndThirdElementsBothNegative:
        mfspr r2, 256
        oris r4, r2, 49152
        mtspr 256, r4
        li r4, lo16(LCPI1_0)
        lis r5, ha16(LCPI1_0)
        addi r6, r1, -16
        lvx v0, r5, r4
        stvx v0, 0, r6
        lvx v1, 0, r3
        vcmpgefp. v0, v0, v1
        mfcr r3, 2
        rlwinm r3, r3, 27, 31, 31
        xori r3, r3, 1
        cntlzw r3, r3
        srwi r3, r3, 5
        mtspr 256, r2
        blr


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27352 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-02 05:30:25 +00:00
autoconf Update to llvm-config tool, by Erik Kidd: 2006-03-23 23:21:29 +00:00
docs Misunderstanding. 2006-03-27 19:46:38 +00:00
examples Minor corrections. 2006-03-24 03:11:31 +00:00
include/llvm simplify this method 2006-04-02 02:28:52 +00:00
lib Turn altivec lvx/stvx intrinsics into loads and stores. This allows the 2006-04-02 05:30:25 +00:00
projects Ignored generated files. 2006-03-23 23:53:13 +00:00
runtime
test New testcase that crashes the compiler. 2006-04-02 00:23:59 +00:00
tools Get JIT/Interpreter working on Windows again. 2006-03-24 02:53:49 +00:00
utils Adjust the Intrinsics.gen interface a little bit 2006-04-02 03:35:30 +00:00
win32 Fix tablegen related dependencies in Visual Studio. 2006-04-02 05:20:53 +00:00
Xcode
.cvsignore
configure Update to llvm-config tool, by Erik Kidd: 2006-03-23 23:21:29 +00:00
CREDITS.TXT Update to llvm-config tool, by Erik Kidd: 2006-03-23 23:21:29 +00:00
LICENSE.TXT
llvm.spec
llvm.spec.in
Makefile
Makefile.common
Makefile.config.in Update to llvm-config tool, by Erik Kidd: 2006-03-23 23:21:29 +00:00
Makefile.rules Add a facility for invoking the llvm-config tool when linking a program. 2006-03-24 07:36:57 +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.