llvm-6502/lib/Transforms
Sanjay Patel be9ee96926 [X86, AVX] instcombine common cases of vperm2* intrinsics into shuffles
vperm2* intrinsics are just shuffles. 
In a few special cases, they're not even shuffles.

Optimizing intrinsics in InstCombine is better than
handling this in the front-end for at least two reasons:

1. Optimizing custom-written SSE intrinsic code at -O0 makes vector coders
   really angry (and so I have regrets about some patches from last week).

2. Doing mask conversion logic in header files is hard to write and 
   subsequently read.

There are a couple of TODOs in this patch to complete this optimization.

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



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@232852 91177308-0d34-0410-b5e6-96231b3b80d8
2015-03-20 21:47:56 +00:00
..
Hello [CMake] Add LLVM_LINK_COMPONENTS to loadable modules, LLVMHello and BugpointPasses, on Win32. 2014-07-13 13:36:48 +00:00
InstCombine [X86, AVX] instcombine common cases of vperm2* intrinsics into shuffles 2015-03-20 21:47:56 +00:00
Instrumentation SanitizerCoverage: Check for null DebugLocs 2015-03-20 18:48:45 +00:00
IPO Verifier: Remove the separate -verify-di pass 2015-03-19 22:24:17 +00:00
ObjCARC One more try with unused. 2015-03-16 08:00:27 +00:00
Scalar SampleProfile: Check for missing debug locations 2015-03-20 00:56:55 +00:00
Utils Fixing a bug with WinEH PHI handling 2015-03-20 21:42:54 +00:00
Vectorize Try to fix a test broken by one of my previous commits. 2015-03-17 20:31:56 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile