llvm-project/llvm/lib
Simon Pilgrim 20ab6b875a [X86][SSE] Use MOVMSK for all_of/any_of reduction patterns
This is a first attempt at using the MOVMSK instructions to replace all_of/any_of reduction patterns (i.e. an and/or + shuffle chain).

So far this only matches patterns where we are reducing an all/none bits source vector (i.e. a comparison result) but we should be able to expand on this in conjunction with improvements to 'bool vector' handling both in the x86 backend as well as the vectorizers etc.

Differential Revision: https://reviews.llvm.org/D28810

llvm-svn: 293880
2017-02-02 11:52:33 +00:00
..
Analysis [LV] Also port failure remarks to new OptimizationRemarkEmitter API 2017-02-02 05:41:51 +00:00
AsmParser Change debug-info-for-profiling from a TargetOption to a function attribute. 2017-02-01 22:45:09 +00:00
Bitcode Change debug-info-for-profiling from a TargetOption to a function attribute. 2017-02-01 22:45:09 +00:00
CodeGen RegisterCoalescer: Cleanup joinReservedPhysReg(); NFC 2017-02-02 02:23:27 +00:00
DebugInfo Re-submit r293820: Return Error instead of bool from mergeTypeStreams(). 2017-02-02 00:47:10 +00:00
Demangle Add support for demangling C++11 thread_local variables. 2017-01-31 15:56:36 +00:00
ExecutionEngine RuntimeDyldELF: Don't abort on R_X86_64_NONE, it's a no-oop. 2017-01-28 18:39:01 +00:00
Fuzzer [libFuzzer] Disable afl tests on non-posix systems. 2017-02-01 22:40:50 +00:00
IR [LV] Also port failure remarks to new OptimizationRemarkEmitter API 2017-02-02 05:41:51 +00:00
IRReader Timer: Track name and description. 2016-11-18 19:43:18 +00:00
LTO LTO: Link non-prevailing weak_odr or linkonce_odr globals into the combined module with available_externally linkage. 2017-02-02 05:22:42 +00:00
LibDriver LibDriver: Allow resource files to be archive members. 2016-12-15 19:37:46 +00:00
LineEditor
Linker Linker: Move special casing for available_externally in IRMover to clients. NFCI. 2017-02-02 05:12:15 +00:00
MC MCMacho: Allow __thread_ptr section after dwarf sections 2017-02-01 01:31:36 +00:00
Object [WebAssembly] Add wasm support for llvm-readobj 2017-01-30 23:30:52 +00:00
ObjectYAML Make this file clang-format friendly and clang-format it. 2017-01-31 21:11:12 +00:00
Option Cleanup dump() functions. 2017-01-28 02:02:38 +00:00
Passes [PM] Port LoopLoadElimination to the new pass manager and wire it into 2017-01-27 01:32:26 +00:00
ProfileData Cleanup dump() functions. 2017-01-28 02:02:38 +00:00
Support Fix LLDB Android AArch64 GCC debug info build 2017-02-02 01:17:49 +00:00
TableGen Use print() instead of dump() in code 2017-01-28 02:47:46 +00:00
Target [X86][SSE] Use MOVMSK for all_of/any_of reduction patterns 2017-02-02 11:52:33 +00:00
Transforms [LV] Also port failure remarks to new OptimizationRemarkEmitter API 2017-02-02 05:41:51 +00:00
XRay [XRay] Define the InstrumentationMap type 2017-02-01 00:05:29 +00:00
CMakeLists.txt [XRay] Define the library for XRay trace logs 2017-01-11 06:39:09 +00:00
LLVMBuild.txt Add an c++ itanium demangler to llvm. 2016-09-06 19:16:48 +00:00