1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 19:12:56 +02:00
llvm-mirror/test
Simon Pilgrim c2551e2065 [X86][SSE] Generalize X86ISD::BLENDI support to more value types
D42042 introduced the ability for the ExecutionDomainFixPass to more easily change between BLENDPD/BLENDPS/PBLENDW as the domains required.

With this ability, we can avoid most bitcasts/scaling in the DAG that was occurring with X86ISD::BLENDI lowering/combining, blend with the vXi32/vXi64 vectors directly and use isel patterns to lower to the float vector equivalent vectors.

This helps the shuffle combining and SimplifyDemandedVectorElts be more aggressive as we lose track of fewer UNDEF elements than when we go up/down through bitcasts.

I've introduced a basic blend(bitcast(x),bitcast(y)) -> bitcast(blend(x,y)) fold, there are more generalizations I can do there (e.g. widening/scaling and handling the tricky v16i16 repeated mask case).

The vector-reduce-smin/smax regressions will be fixed in a future improvement to SimplifyDemandedBits to peek through bitcasts and support X86ISD::BLENDV.

Reapplied after reversion at rL353699 - AVX2 isel fix was applied at rL354358, additional test at rL354360/rL354361

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

llvm-svn: 354363
2019-02-19 18:05:42 +00:00
..
Analysis [BPI] Look through bitcasts in calcZeroHeuristic 2019-02-15 11:50:21 +00:00
Assembler Move some llvm-mc tests where they belong 2019-02-05 20:12:48 +00:00
Bindings [LLVM-C] Add Bindings to GlobalIFunc 2019-02-05 18:05:44 +00:00
Bitcode Fix auto-upgrade for the new parameter to llvm.objectsize 2019-02-12 21:55:38 +00:00
BugPoint
CodeGen [X86][SSE] Generalize X86ISD::BLENDI support to more value types 2019-02-19 18:05:42 +00:00
DebugInfo Revert r354244 "[DAGCombiner] Eliminate dead stores to stack." 2019-02-18 08:24:29 +00:00
Demangle
Examples
ExecutionEngine
Feature
FileCheck Fixup test on Windows with a case-insensitive filesystem due to path printing changes from r352704. 2019-02-05 23:27:38 +00:00
Instrumentation [NewPM] Second attempt at porting ASan 2019-02-13 22:22:48 +00:00
Integer
JitListener
Linker
LTO
MachineVerifier GlobalISel: Verify g_insert 2019-02-19 16:10:16 +00:00
MC X86AsmParser AVX-512: Return error instead of hitting assert 2019-02-19 17:13:40 +00:00
Object [WebAssembly] Rename relocations from R_WEBASSEMBLY_ to R_WASM_ 2019-02-04 17:28:46 +00:00
ObjectYAML [WebAssembly] Rename relocations from R_WEBASSEMBLY_ to R_WASM_ 2019-02-04 17:28:46 +00:00
Other [HotColdSplit] Schedule splitting late to fix perf regression 2019-02-15 18:46:44 +00:00
SafepointIRVerifier
SymbolRewriter
TableGen [GlobalISel] Skip patterns that define complex suboperands twice instead of dying 2019-02-09 00:29:13 +00:00
ThinLTO/X86 [ThinLTO] Detect partially split modules during the thin link 2019-02-14 21:22:50 +00:00
tools [yaml2obj][obj2yaml] Remove section type range markers from allowed mappings and support hex values 2019-02-19 16:22:21 +00:00
Transforms [X86] Filter out tuning feature flags and a few ISA feature flags when checking for function inline compatibility. 2019-02-19 17:05:11 +00:00
Unit
Verifier Try to organize MachineVerifier tests 2019-02-15 15:24:31 +00:00
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg.py
lit.site.cfg.py.in
TestRunner.sh