LLVM backend for 6502
Go to file
Sanjay Patel 81b61c0e50 [X86, SSE] instcombine common cases of insertps intrinsics into shuffles
This is very similar to D8486 / r232852 (vperm2). If we treat insertps intrinsics
as shufflevectors, we can optimize them better.

I've left all but the full zero case of the zero mask variants out of this patch. 
I don't think those can be converted into a single shuffle in all cases, but I'd
be happy to be proven wrong as I was for vperm2f128.

Either way, we'd need to support whatever sequence we come up with for those cases
in the backend before converting them here.

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



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@235124 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-16 17:52:13 +00:00
autoconf Try to unbreak Clang build to export LLVM_ABI_BREAKING_CHECKS, fixup for r233310. 2015-04-01 11:46:15 +00:00
bindings DebugInfo: Remove DIDescriptor from the DIBuilder API 2015-04-16 16:36:23 +00:00
cmake Fixing windows bots. 2015-04-16 17:40:51 +00:00
docs Editorial changes in the programmers manual. 2015-04-16 17:01:23 +00:00
examples DebugInfo: Remove DIDescriptor from the DIBuilder API 2015-04-16 16:36:23 +00:00
include DebugInfo: Allow DebugLocs to be constructed from const 2015-04-16 16:56:29 +00:00
lib [X86, SSE] instcombine common cases of insertps intrinsics into shuffles 2015-04-16 17:52:13 +00:00
projects
test [X86, SSE] instcombine common cases of insertps intrinsics into shuffles 2015-04-16 17:52:13 +00:00
tools For llvm-objdump added support for printing Objc1 32-bit runtime meta data 2015-04-16 17:19:59 +00:00
unittests DebugInfo: Remove DIDescriptor from the DIBuilder API 2015-04-16 16:36:23 +00:00
utils Change range-based for-loops to be -Wrange-loop-analysis clean. 2015-04-15 01:21:15 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore Ignore compile_commands.json only at the root of the tree. 2015-03-26 18:55:42 +00:00
CMakeLists.txt [CMake] Updates to llvm-shlib to support overriding exports list and added an option to export all symbols. 2015-04-13 21:29:46 +00:00
CODE_OWNERS.TXT Tom is also responsible for the 3.6 branch. 2015-03-16 18:15:27 +00:00
configure Try to unbreak Clang build to export LLVM_ABI_BREAKING_CHECKS, fixup for r233310. 2015-04-01 11:46:15 +00:00
CREDITS.TXT
LICENSE.TXT Update for a new year. 2015-03-12 01:25:29 +00:00
llvm.spec.in
LLVMBuild.txt
Makefile
Makefile.common
Makefile.config.in Try to unbreak Clang build to export LLVM_ABI_BREAKING_CHECKS, fixup for r233310. 2015-04-01 11:46:15 +00:00
Makefile.rules
README.txt Revert test commit at revision 233535. 2015-03-30 12:39:03 +00:00

Low Level Virtual Machine (LLVM)
================================

This directory and its subdirectories contain source code for LLVM,
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.