LLVM backend for 6502
Go to file
Chris Lattner 7431c2ba79 Teach VMCore to constant fold shufflevectors with constant operands.
This allows us to compile:

#include <emmintrin.h>
typedef __m128i VSInt16;
typedef short vSInt16 __attribute__ ((__vector_size__ (16)));
VSInt16 t3() {
  return (VSInt16)((vSInt16)_mm_set1_epi16(6518));
}

into:

_t3:
	movaps	LCPI1_0, %xmm0
	ret

instead of:
_t3:
	movl	$6518, %eax
	movd	%eax, %xmm0
	pextrw	$0, %xmm0, %eax
	xorps	%xmm0, %xmm0
	pinsrw	$0, %eax, %xmm0
	punpcklwd	%xmm0, %xmm0
	pshufd	$0, %xmm0, %xmm0
	ret



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44856 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-11 07:49:37 +00:00
autoconf Fix PR1836: in the interpreter, read and write apints 2007-12-10 17:43:13 +00:00
bindings Adding Ocaml bindings for the bitreader as requested by Sarah 2007-12-11 00:20:48 +00:00
docs CollectorMetadata and Collector are rejiggered to get along with 2007-12-11 00:30:17 +00:00
examples add a new BF->LLVM translator, contributed by Sterling Stein. 2007-09-12 18:24:00 +00:00
include Add first and really dirty version of generic Trie structure 2007-12-11 06:53:44 +00:00
lib Teach VMCore to constant fold shufflevectors with constant operands. 2007-12-11 07:49:37 +00:00
projects Convert .cvsignore files 2007-06-29 16:35:07 +00:00
runtime GarbageCollection.html is expanded to encompass the coming 2007-09-27 19:31:36 +00:00
test Implement constant folding if vector<->vector bitcasts where the number 2007-12-11 07:29:44 +00:00
tools Fix accidental commit by Bill. 2007-12-09 00:27:38 +00:00
utils Reverting 44702. It wasn't correct to rename them. 2007-12-08 23:58:46 +00:00
website Prepare for "core" website. 2007-08-03 05:43:35 +00:00
win32 Add StringPool + new CodeGen files to win32 build 2007-12-10 19:31:09 +00:00
Xcode Project file maintenance. 2007-12-11 00:29:16 +00:00
build-for-llvm-top.sh Allow the configure options to be set according to the llvm-top options. 2007-08-31 19:53:42 +00:00
configure Fix PR1836: in the interpreter, read and write apints 2007-12-10 17:43:13 +00:00
CREDITS.TXT Alphabetizing; I want to be the last in the file!!!! ;-) 2007-12-05 21:26:54 +00:00
LICENSE.TXT Updated source file headers to llvm coding standard. 2007-12-05 01:40:25 +00:00
llvm.spec.in * llvm.spec.in: update blurb 2007-07-13 09:48:29 +00:00
Makefile Adding ocaml language bindings for the vmcore and bitwriter libraries. These are 2007-09-18 12:49:39 +00:00
Makefile.common Update comments to reflect new variable names. Patch contributed by 2005-02-14 16:02:19 +00:00
Makefile.config.in Providing --with-ocaml-libdir for ./configure. The default is the 2007-10-02 16:42:10 +00:00
Makefile.rules noone uses etags. Connected to PR1601 2007-09-26 06:10:47 +00:00
ModuleInfo.txt Update to include clean and install commands. 2007-07-20 20:54:41 +00:00
README.txt test 2007-04-20 20:49:25 +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.