LLVM backend for 6502
Go to file
Chris Lattner f172ecd964 Just rip v2f32 support completely out of the X86 backend. In
the example in the testcase, we now generate:

_test1:                                 ## @test1
	movss	4(%esp), %xmm0
	addss	8(%esp), %xmm0
	movl	12(%esp), %eax
	movss	%xmm0, (%eax)
	ret

instead of:

_test1:                                                     ## @test1
	subl	$20, %esp
	movl	24(%esp), %eax
	movq	%mm0, (%esp)
	movq	%mm0, 8(%esp)
	movss	(%esp), %xmm0
	addss	12(%esp), %xmm0
	movss	%xmm0, (%eax)
	addl	$20, %esp
	ret

v2f32 support did not work reliably because most of the X86
backend didn't know it was legal.  It was apparently only added
to support returning source-level v2f32 values in MMX registers
in x86-32 mode.  If ABI compatibility is important on this
GCC-extended-vector type for some reason, then the frontend
should generate IR that returns v2i32 instead of v2f32.  However,
we generally don't try very hard to be abi compatible on gcc
extended vectors. 



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107601 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-04 23:07:25 +00:00
autoconf Pull in the libCrashReporterClient.a information with a warning comment. 2010-06-28 18:25:51 +00:00
bindings Implement the "linker_private_weak" linkage type. This will be used for 2010-07-01 21:55:59 +00:00
cmake Don't link against libm and libpthread which don't exist in BeOS/Haiku. Also, 2010-06-23 06:48:34 +00:00
docs indmemrem and lowerallocs are gone. 2010-07-04 17:36:43 +00:00
examples fix several bugs in the tutorial, patch by Kevin Kelley! 2010-06-21 22:51:14 +00:00
include back out r107580, I have seen what I wanted 2010-07-04 08:59:25 +00:00
lib Just rip v2f32 support completely out of the X86 backend. In 2010-07-04 23:07:25 +00:00
projects
runtime Delete a blank line. 2010-04-16 13:32:55 +00:00
test Just rip v2f32 support completely out of the X86 backend. In 2010-07-04 23:07:25 +00:00
tools Implement the "linker_private_weak" linkage type. This will be used for 2010-07-01 21:55:59 +00:00
unittests ADT: Add DAGDeltaAlgorithm, which is a DAG minimization algorithm built on top of the standard 'delta debugging' algorithm. 2010-06-08 16:21:22 +00:00
utils Add a new target independent COPY instruction and code to lower it. 2010-07-02 22:29:50 +00:00
website
build-for-llvm-top.sh
CMakeLists.txt Fix LLVM CMake PACKAGE_VERSION variable. 2010-06-25 16:29:14 +00:00
configure Pull in the libCrashReporterClient.a information with a warning comment. 2010-06-28 18:25:51 +00:00
CREDITS.TXT
LICENSE.TXT
llvm.spec.in
Makefile build: Update install-clang target. 2010-06-30 22:22:46 +00:00
Makefile.common
Makefile.config.in Delete unused variables (that weren't even getting expanded). 2010-06-01 17:26:14 +00:00
Makefile.rules Fix this build message so that it displays the correct library 2010-06-28 15:55:15 +00:00
ModuleInfo.txt
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.

If you're writing a package for LLVM, see docs/Packaging.html for our
suggestions.