LLVM backend for 6502
Go to file
Daniel Sanders 1c8add9978 [mips][msa] Fix vector insertions where the index is variable
Summary:
This isn't supported directly so we rotate the vector by the desired number of
elements, insert to element zero, then rotate back.

The i64 case generates rather poor code on MIPS32. There is an obvious
optimisation to be made in future (do both insert.w's inside a shared 
rotate/unrotate sequence) but for now it's sufficient to select valid code
instead of aborting.

Depends on D3536

Reviewers: matheusalmeida

Reviewed By: matheusalmeida

Differential Revision: http://reviews.llvm.org/D3537

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207640 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-30 12:09:32 +00:00
autoconf
bindings [python] Fix getting section contents. 2014-04-25 06:25:15 +00:00
cmake Teach add_sphinx_target() to respect the LLVM_INSTALL_TOOLCHAIN_ONLY CMake 2014-04-28 22:06:20 +00:00
docs ARM: support stack probe emission for Windows on ARM 2014-04-30 07:05:07 +00:00
examples Try to fix the msvc build. 2014-04-29 23:37:02 +00:00
include [mips] Emit all three relocation operations for each relocation entry on Mips64 big-endian systems. 2014-04-30 11:21:10 +00:00
lib [mips][msa] Fix vector insertions where the index is variable 2014-04-30 12:09:32 +00:00
projects
test [mips][msa] Fix vector insertions where the index is variable 2014-04-30 12:09:32 +00:00
tools raw_ostream: Forward declare OpenFlags and include FileSystem.h only where necessary. 2014-04-29 23:26:49 +00:00
unittests [LCG] Add the really, *really* boring edge insertion case: adding an 2014-04-30 10:48:36 +00:00
utils [C++11] Use 'nullptr' in tablegen output files. 2014-04-30 05:53:35 +00:00
.arcconfig
.clang-format
.gitignore
CMakeLists.txt Added Sphinx documentation generation to CMake build system. 2014-04-18 21:45:25 +00:00
CODE_OWNERS.TXT
configure
CREDITS.TXT
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
Makefile
Makefile.common
Makefile.config.in
Makefile.rules
README.txt Trivial test commit. 2014-04-26 19:05:45 +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 documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

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