llvm-6502/lib
Chandler Carruth 4363b0729b [x86] Teach the target-specific combining how to aggressively fold
half-shuffles, even looking through intervening instructions in a chain.

Summary:
This doesn't happen to show up with any test cases I've found for the current
shuffle lowering, but previous attempts would benefit from this and it seems
generally useful. I've tested it directly using intrinsics, which also shows
that it will work with hand vectorized code as well.

Note that even though pshufd isn't directly used in these tests, it gets
exercised because we combine some of the half shuffles into a pshufd
first, and then merge them.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211890 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-27 11:34:40 +00:00
..
Analysis Revert "Introduce a string_ostream string builder facilty" 2014-06-26 22:52:05 +00:00
AsmParser ParseIR: don't take ownership of the MemoryBuffer 2014-06-27 04:33:58 +00:00
Bitcode IRReader: don't mark MemoryBuffers const 2014-06-27 09:19:14 +00:00
CodeGen Revert "Revert "Revert "PR20038: DebugInfo: Inlined call sites where the caller has debug info but the call itself has no debug location.""" 2014-06-27 05:34:05 +00:00
DebugInfo Revert "Introduce a string_ostream string builder facilty" 2014-06-26 22:52:05 +00:00
ExecutionEngine [RuntimeDyld, PowerPC] Fix/improve handling of TOC relocations 2014-06-27 10:32:14 +00:00
IR Revert "Revert "Revert "PR20038: DebugInfo: Inlined call sites where the caller has debug info but the call itself has no debug location.""" 2014-06-27 05:34:05 +00:00
IRReader IRReader: don't mark MemoryBuffers const 2014-06-27 09:19:14 +00:00
LineEditor [CMake] Use LINK_LIBS instead of target_link_libraries(). 2014-02-26 06:41:29 +00:00
Linker Replace some assert(0)'s with llvm_unreachable. 2014-06-18 05:05:13 +00:00
LTO Revert "Introduce a string_ostream string builder facilty" 2014-06-26 22:52:05 +00:00
MC Revert "Introduce a string_ostream string builder facilty" 2014-06-26 22:52:05 +00:00
Object Revert "Introduce a string_ostream string builder facilty" 2014-06-26 22:52:05 +00:00
Option Revert "Introduce a string_ostream string builder facilty" 2014-06-26 22:52:05 +00:00
ProfileData Renaming SwapByteOrder() to getSwappedBytes() 2014-06-14 11:36:01 +00:00
Support Revert "Introduce a string_ostream string builder facilty" 2014-06-26 22:52:05 +00:00
TableGen Revert "Introduce a string_ostream string builder facilty" 2014-06-26 22:52:05 +00:00
Target [x86] Teach the target-specific combining how to aggressively fold 2014-06-27 11:34:40 +00:00
Transforms Added instruction combine to transform few more negative values addition to subtraction (Part 3) 2014-06-27 07:47:35 +00:00
CMakeLists.txt ProfileData: Introduce the InstrProfReader interface and a text reader 2014-03-21 17:24:48 +00:00
LLVMBuild.txt ProfileData: Introduce the InstrProfReader interface and a text reader 2014-03-21 17:24:48 +00:00
Makefile ProfileData: Introduce the InstrProfReader interface and a text reader 2014-03-21 17:24:48 +00:00