llvm-6502/lib
Filipe Cabecinhas b19c087aa7 Lower certain build_vectors to insertps instructions
Summary:
Vectors built with zeros and elements in the same order as another
(source) vector are optimized to be built using a single insertps
instruction.
Also optimize when we move one element in a vector to a different place
in that vector while zeroing out some of the other elements.

Further optimizations are possible, described in TODO comments.
I will be implementing at least some of them in the near future.

Added some tests for different cases where this optimization triggers.

Reviewers: nadav, delena, craig.topper

Subscribers: llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@208271 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-08 00:25:16 +00:00
..
Analysis avoid segfaulting 2014-05-07 19:00:37 +00:00
AsmParser IR: Don't allow non-default visibility on local linkage 2014-05-07 22:57:20 +00:00
Bitcode IR: Don't allow non-default visibility on local linkage 2014-05-07 22:57:20 +00:00
CodeGen Fix using wrong result type for setcc. 2014-05-07 18:26:58 +00:00
DebugInfo [DWARF parser] Cleanup code in DWARFDebugLine. 2014-04-30 00:09:19 +00:00
ExecutionEngine Back out r208257 while I investigate tester failures. 2014-05-07 23:35:53 +00:00
IR llvm-cov: Explicitly namespace llvm::make_unique to keep MSVC happy 2014-05-07 16:01:27 +00:00
IRReader
LineEditor
Linker LTO: Assert visibility of local linkage when merging symbols 2014-05-07 22:55:46 +00:00
LTO LTO: Check local linkage first 2014-05-07 22:53:14 +00:00
MC Remove the UseCFI option from createAsmStreamer. 2014-05-07 13:00:43 +00:00
Object [yaml2obj] Support ELF x86 relocations. 2014-05-07 17:06:38 +00:00
Option Protect the ArgList dtor 2014-04-20 23:59:00 +00:00
ProfileData Fixing a cast-qual warning. getBufferStart() and getBufferEnd() both return a const char *, so casting to non-const was triggering a warning (even though the assignment and usage was always const anyway). 2014-05-01 17:16:24 +00:00
Support [Support/MemoryBuffer] Remove the assertion that the file size did not shrink. 2014-05-06 23:30:56 +00:00
TableGen [tablegen] Add !listconcat operator with the similar semantics as !strconcat 2014-05-07 10:13:19 +00:00
Target Lower certain build_vectors to insertps instructions 2014-05-08 00:25:16 +00:00
Transforms GlobalValue: Assert symbols with local linkage have default visibility 2014-05-07 23:00:22 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile