LLVM backend for 6502
Go to file
Chris Lattner 24faf611a3 fix the buildvector->insertp[sd] logic to not always create a redundant
insertp[sd] $0, which is a noop.  Before:

_f32:                                   ## @f32
	pshufd	$1, %xmm1, %xmm2
	pshufd	$1, %xmm0, %xmm3
	addss	%xmm2, %xmm3
	addss	%xmm1, %xmm0
                                        ## kill: XMM0<def> XMM0<kill> XMM0<def>
	insertps	$0, %xmm0, %xmm0
	insertps	$16, %xmm3, %xmm0
	ret

after:

_f32:                                   ## @f32
	movdqa	%xmm0, %xmm2
	addss	%xmm1, %xmm2
	pshufd	$1, %xmm1, %xmm1
	pshufd	$1, %xmm0, %xmm3
	addss	%xmm1, %xmm3
	movdqa	%xmm2, %xmm0
	insertps	$16, %xmm3, %xmm0
	ret

The extra movs are due to a random (poor) scheduling decision.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112379 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-28 17:59:08 +00:00
autoconf remove the MSIL backend. It isn't maintained, is buggy, has no testcases 2010-08-28 16:33:36 +00:00
bindings Remove unions from the ocaml bindings. 2010-08-28 09:47:42 +00:00
cmake Updated CMake library dependencies. Removed unnecessary component name 2010-08-26 02:29:53 +00:00
docs remove the MSIL backend. It isn't maintained, is buggy, has no testcases 2010-08-28 16:33:36 +00:00
examples Trailing whitespace. 2010-08-19 20:03:53 +00:00
include remove unions from LLVM IR. They are severely buggy and not 2010-08-28 04:09:24 +00:00
lib fix the buildvector->insertp[sd] logic to not always create a redundant 2010-08-28 17:59:08 +00:00
projects Remove bogus link. 2010-07-16 06:33:36 +00:00
runtime Delete a blank line. 2010-04-16 13:32:55 +00:00
test fix the buildvector->insertp[sd] logic to not always create a redundant 2010-08-28 17:59:08 +00:00
tools Straighten out any triple strings passed on the command line before 2010-08-28 01:30:02 +00:00
unittests StringRef::compare_numeric also differed from StringRef::compare for characters > 127. 2010-08-26 15:25:35 +00:00
utils more dead thing zapping. 2010-08-28 03:43:50 +00:00
website
build-for-llvm-top.sh Patch to build llvm with srcdir != objdir from 2009-01-23 08:42:38 +00:00
CMakeLists.txt CMake: system for providing llvm-config-like features to the user. 2010-08-09 03:26:43 +00:00
configure remove the MSIL backend. It isn't maintained, is buggy, has no testcases 2010-08-28 16:33:36 +00:00
CREDITS.TXT long past time I added myself to this, I suppose. 2010-07-19 22:04:28 +00:00
LICENSE.TXT 2010 is upon us. 2010-01-09 18:40:31 +00:00
llvm.spec.in
Makefile llvmc: remove dynamic plugins. 2010-08-15 07:07:12 +00:00
Makefile.common Removed trailing whitespace from Makefiles. 2009-01-09 16:44:42 +00:00
Makefile.config.in Make the makefiles go much faster by using the realpath 2010-08-03 22:53:22 +00:00
Makefile.rules Fix the "Finished Creating" messages for aliases to print the 2010-08-18 01:35:53 +00:00
ModuleInfo.txt Patch to build llvm with srcdir != objdir from 2009-01-23 08:42:38 +00:00
README.txt (Hopefully) One last test. 2010-07-27 00:04:55 +00:00

\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.