llvm-6502/lib
Andrea Di Biagio 2360e51fd0 [X86] Add target specific combine rules to fold SSE2/AVX2 packed arithmetic shift intrinsics.
This patch teaches the backend how to combine packed SSE2/AVX2 arithmetic shift
intrinsics.

The rules are:
 - Always fold a packed arithmetic shift by zero to its first operand;
 - Convert a packed arithmetic shift intrinsic dag node into a ISD::SRA only if
   the shift count is known to be smaller than the vector element size.

This patch also teaches to function 'getTargetVShiftByConstNode' how fold
target specific vector shifts by zero.

Added two new tests to verify that the DAGCombiner is able to fold
sequences of SSE2/AVX2 packed arithmetic shift calls.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@208342 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-08 17:44:04 +00:00
..
Analysis Revert "SCEV: Use I = vector<>.erase(I) to iterate and delete at the same time" 2014-05-08 07:55:34 +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 a spelling error 2014-05-08 13:42:57 +00:00
DebugInfo
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
ProfileData
Support [Support/MemoryBuffer] Remove the assertion that the file size did not shrink. 2014-05-06 23:30:56 +00:00
TableGen Use a vector of unique_ptrs to fix a memory leak introduced in r208179. 2014-05-08 09:29:28 +00:00
Target [X86] Add target specific combine rules to fold SSE2/AVX2 packed arithmetic shift intrinsics. 2014-05-08 17:44:04 +00:00
Transforms Simplify and fix incorrect comment. No functionality change. 2014-05-08 01:08:43 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile