LLVM backend for 6502
Go to file
Chandler Carruth 48593d7934 [x86] Just unilaterally prefer SSSE3-style PSHUFB lowerings over clever
use of PACKUS. It's cleaner that way.

I looked at implementing clever combine-based folding of PACKUS chains
into PSHUFB but it is quite hard and doesn't seem likely to be worth it.
The most annoying part would be detecting that the correct masking had
been done to use PACKUS-style instructions as a blend operation rather
than there being any saturating as is indicated by its name. We generate
really nice code for what few test cases I've come up with that aren't
completely contrived for this by just directly prefering PSHUFB and so
let's go with that strategy for now. =]

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214707 91177308-0d34-0410-b5e6-96231b3b80d8
2014-08-04 10:17:35 +00:00
autoconf [autoconf] Fixup s/3.5/3.6/. Clang's ident was 3.5.0svn in autoconf build. 2014-07-29 08:35:03 +00:00
bindings [OCaml] Add Llvm.{string_of_const,const_element}. 2014-08-03 23:54:22 +00:00
cmake
docs Update links to the gcc and java documentation that 404'd. 2014-08-04 09:26:40 +00:00
examples
include [LLVM-C] Add LLVM{IsConstantString,GetAsString,GetElementAsConstant}. 2014-08-03 23:54:16 +00:00
lib [x86] Just unilaterally prefer SSSE3-style PSHUFB lowerings over clever 2014-08-04 10:17:35 +00:00
projects
test [x86] Just unilaterally prefer SSSE3-style PSHUFB lowerings over clever 2014-08-04 10:17:35 +00:00
tools verify-uselistorder: Reverse use-lists at every verification 2014-08-01 23:49:41 +00:00
unittests BitcodeTests: Fix LINK_COMPONENTS. 2014-08-02 00:12:54 +00:00
utils Add a small utility called bisect that enables commandline bisecting on a counter. 2014-08-02 01:39:08 +00:00
.arcconfig
.clang-format
.gitignore
CMakeLists.txt Fix building with in-tree libc++abi on FreeBSD 2014-08-01 19:23:15 +00:00
CODE_OWNERS.TXT
configure [autoconf] Fixup s/3.5/3.6/. Clang's ident was 3.5.0svn in autoconf build. 2014-07-29 08:35:03 +00:00
CREDITS.TXT
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
Makefile
Makefile.common
Makefile.config.in
Makefile.rules
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 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.