llvm-6502/test/Transforms/LoopVectorize/X86
Elena Demikhovsky ae1ae2c3a1 Masked Vector Load and Store Intrinsics.
Introduced new target-independent intrinsics in order to support masked vector loads and stores. The loop vectorizer optimizes loops containing conditional memory accesses by generating these intrinsics for existing targets AVX2 and AVX-512. The vectorizer asks the target about availability of masked vector loads and stores.
Added SDNodes for masked operations and lowering patterns for X86 code generator.
Examples:
<16 x i32> @llvm.masked.load.v16i32(i8* %addr, <16 x i32> %passthru, i32 4 /* align */, <16 x i1> %mask)
declare void @llvm.masked.store.v8f64(i8* %addr, <8 x double> %value, i32 4, <8 x i1> %mask)

Scalarizer for other targets (not AVX2/AVX-512) will be done in a separate patch.

http://reviews.llvm.org/D6191



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@222632 91177308-0d34-0410-b5e6-96231b3b80d8
2014-11-23 08:07:43 +00:00
..
already-vectorized.ll Rename metadata llvm.loop.vectorize.unroll to llvm.loop.vectorize.interleave. 2014-07-21 23:11:03 +00:00
assume.ll [LoopVectorize] Ignore @llvm.assume for cost estimates and legality 2014-10-14 22:59:49 +00:00
avx1.ll
avx512.ll [X86] AVX512: Enable it in the Loop Vectorizer 2014-07-09 18:22:33 +00:00
constant-vector-operand.ll
conversion-cost.ll
cost-model.ll
fp32_to_uint32-cost-model.ll
fp64_to_uint32-cost-model.ll
fp_to_sint8-cost-model.ll
gather-cost.ll
gcc-examples.ll Rename getMaximumUnrollFactor -> getMaxInterleaveFactor; also rename option names controlling this variable. 2014-09-10 17:58:16 +00:00
illegal-parallel-loop-uniform-write.ll Rename getMaximumUnrollFactor -> getMaxInterleaveFactor; also rename option names controlling this variable. 2014-09-10 17:58:16 +00:00
lit.local.cfg
mask1.ll Masked Vector Load and Store Intrinsics. 2014-11-23 08:07:43 +00:00
mask2.ll Masked Vector Load and Store Intrinsics. 2014-11-23 08:07:43 +00:00
mask3.ll Masked Vector Load and Store Intrinsics. 2014-11-23 08:07:43 +00:00
mask4.ll Masked Vector Load and Store Intrinsics. 2014-11-23 08:07:43 +00:00
metadata-enable.ll Rename loop unrolling and loop vectorizer metadata to have a common prefix. 2014-06-25 15:41:00 +00:00
min-trip-count-switch.ll Rename getMaximumUnrollFactor -> getMaxInterleaveFactor; also rename option names controlling this variable. 2014-09-10 17:58:16 +00:00
no-vector.ll
parallel-loops-after-reg2mem.ll Rename getMaximumUnrollFactor -> getMaxInterleaveFactor; also rename option names controlling this variable. 2014-09-10 17:58:16 +00:00
parallel-loops.ll Rename getMaximumUnrollFactor -> getMaxInterleaveFactor; also rename option names controlling this variable. 2014-09-10 17:58:16 +00:00
powof2div.ll Allow vectorization of division by uniform power of 2. 2014-08-25 04:56:54 +00:00
rauw-bug.ll
reduction-crash.ll
small-size.ll Rename getMaximumUnrollFactor -> getMaxInterleaveFactor; also rename option names controlling this variable. 2014-09-10 17:58:16 +00:00
struct-store.ll
tripcount.ll Rename getMaximumUnrollFactor -> getMaxInterleaveFactor; also rename option names controlling this variable. 2014-09-10 17:58:16 +00:00
uint64_to_fp64-cost-model.ll
unroll_selection.ll Rename getMaximumUnrollFactor -> getMaxInterleaveFactor; also rename option names controlling this variable. 2014-09-10 17:58:16 +00:00
unroll-pm.ll
unroll-small-loops.ll Rename getMaximumUnrollFactor -> getMaxInterleaveFactor; also rename option names controlling this variable. 2014-09-10 17:58:16 +00:00
vect.omp.force.ll Rename loop unrolling and loop vectorizer metadata to have a common prefix. 2014-06-25 15:41:00 +00:00
vect.omp.force.small-tc.ll Rename loop unrolling and loop vectorizer metadata to have a common prefix. 2014-06-25 15:41:00 +00:00
vector_ptr_load_store.ll [LoopVectorize] Use AA to partition potential dependency checks 2014-07-20 23:07:52 +00:00
vector-scalar-select-cost.ll
vectorization-remarks-missed.ll Revert "Revert "DI: Fold constant arguments into a single MDString"" 2014-10-03 20:01:09 +00:00
vectorization-remarks.ll Revert "Revert "DI: Fold constant arguments into a single MDString"" 2014-10-03 20:01:09 +00:00
x86_fp80-vector-store.ll Rename getMaximumUnrollFactor -> getMaxInterleaveFactor; also rename option names controlling this variable. 2014-09-10 17:58:16 +00:00