1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 11:02:59 +02:00
llvm-mirror/lib
Simon Pilgrim b13c68898e [X86][AVX] Support bit-mask integer shuffles for 256-bit integer vectors
AVX1 doesn't support the shuffling of 256-bit integer vectors. For 32/64-bit elements we get around this by shuffling as float/double but for 8/16-bit elements (assuming they can't widen) we currently just split, shuffle as 128-bit vectors and concatenate the results back.

This patch adds the ability to lower using the bit-mask patterns before defaulting to the splitting behaviour. In some cases this ends up matching what AVX2 would do anyhow or what AVX1 does on the split vectors.

Part 1 of 2

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

llvm-svn: 261081
2016-02-17 10:37:49 +00:00
..
Analysis [AliasSetTracker] Teach AliasSetTracker about MemSetInst 2016-02-17 02:01:50 +00:00
AsmParser Remove autoconf support 2016-01-26 21:29:08 +00:00
Bitcode Bitcode writer: fix a typo, using getName() instead of getSourceFileName() 2016-02-16 22:07:03 +00:00
CodeGen Detecte vector reduction operations just before instruction selection. 2016-02-17 06:37:04 +00:00
DebugInfo [DebugInfo] Eliminate compilation warning about used variable LSDA 2016-02-05 09:24:34 +00:00
ExecutionEngine Fix build LLVM with -D LLVM_USE_INTEL_JITEVENTS:BOOL=ON on Windows 2016-02-16 23:52:18 +00:00
Fuzzer [libFuzzer] remove std::vector operations from hot paths, NFC 2016-02-13 17:56:51 +00:00
IR Revert "Query the StringMap only once when creating MDString (NFC)" 2016-02-17 02:18:58 +00:00
IRReader Remove autoconf support 2016-01-26 21:29:08 +00:00
LibDriver Remove autoconf support 2016-01-26 21:29:08 +00:00
LineEditor Remove autoconf support 2016-01-26 21:29:08 +00:00
Linker Pass a std::unique_ptr to IRMover::move. 2016-02-16 18:50:12 +00:00
LTO [LTO] Support Statistics 2016-02-16 21:41:51 +00:00
MC [codeview] Bail on a DBG_VALUE register operand with no register 2016-02-16 21:49:26 +00:00
Object Simplify users of StringRef::{l,r}trim (NFC) 2016-02-16 02:06:01 +00:00
Option Annotate dump() methods with LLVM_DUMP_METHOD, addressing Richard Smith r259192 post commit comment. 2016-01-29 20:50:44 +00:00
Passes [PM/AA] Wire BasicAA's new pass manager class up to the pass registry. 2016-02-13 23:46:24 +00:00
ProfileData [PGO] Add another interface for annotateValueSite 2016-02-12 21:36:17 +00:00
Support Simplify users of StringRef::{l,r}trim (NFC) 2016-02-16 02:06:01 +00:00
TableGen Annotate dump() methods with LLVM_DUMP_METHOD, addressing Richard Smith r259192 post commit comment. 2016-01-29 20:50:44 +00:00
Target [X86][AVX] Support bit-mask integer shuffles for 256-bit integer vectors 2016-02-17 10:37:49 +00:00
Transforms Define the ThinLTO Pipeline (experimental) 2016-02-16 23:02:29 +00:00
CMakeLists.txt
LLVMBuild.txt