llvm-project/llvm/test/Transforms/SLPVectorizer/X86
Anton Afanasyev ca9aff9353 [X86][SLP] Enable SLP vectorization for 128-bit horizontal X86 instructions (add, sub)
Try to use 64-bit SLP vectorization. In addition to horizontal instrs
this change triggers optimizations for partial vector operations (for instance,
using low halfs of 128-bit registers xmm0 and xmm1 to multiply <2 x float> by
<2 x float>).

Fixes llvm.org/PR32433

llvm-svn: 353923
2019-02-13 08:26:43 +00:00
..
PR32086.ll
PR34635.ll
PR35628_1.ll [SLP]PR39774: Update references of the replaced external instructions. 2018-11-30 15:14:20 +00:00
PR35628_2.ll [SLP]PR39774: Update references of the replaced external instructions. 2018-11-30 15:14:20 +00:00
PR35777.ll
PR35865.ll
PR36280.ll
PR39774.ll [SLP] Fix PR40310: The reduction nodes should stay scalar. 2019-01-16 15:39:52 +00:00
PR40310.ll [SLP] Fix PR40310: The reduction nodes should stay scalar. 2019-01-16 15:39:52 +00:00
addsub.ll [X86][SLP] Enable SLP vectorization for 128-bit horizontal X86 instructions (add, sub) 2019-02-13 08:26:43 +00:00
aggregate.ll
align.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
alternate-calls.ll [SLPVectorizer][X86] Begin adding alternate tests for call operators 2018-07-02 17:23:45 +00:00
alternate-cast.ll [SLPVectorizer] Add initial alternate opcode support for cast instructions. (REAPPLIED-2) 2018-07-13 11:09:52 +00:00
alternate-fp.ll [X86][SLP] Enable SLP vectorization for 128-bit horizontal X86 instructions (add, sub) 2019-02-13 08:26:43 +00:00
alternate-int.ll [X86][SLP] Enable SLP vectorization for 128-bit horizontal X86 instructions (add, sub) 2019-02-13 08:26:43 +00:00
arith-add-ssat.ll [TTI] Add generic SADDSAT/SSUBSAT costs 2019-01-27 13:51:59 +00:00
arith-add-usat.ll [TTI] Add generic UADDSAT/USUBSAT costs 2019-01-24 12:27:10 +00:00
arith-add.ll [X86] Split skylake-avx512 run lines in SLP vectorizer tests to cover -mprefer=vector-width=256 and -mprefer-vector-width=512. 2018-11-30 22:53:21 +00:00
arith-fp.ll
arith-mul.ll [X86] Split skylake-avx512 run lines in SLP vectorizer tests to cover -mprefer=vector-width=256 and -mprefer-vector-width=512. 2018-11-30 22:53:21 +00:00
arith-sub-ssat.ll [TTI] Add generic SADDSAT/SSUBSAT costs 2019-01-27 13:51:59 +00:00
arith-sub-usat.ll [TTI] Add generic UADDSAT/USUBSAT costs 2019-01-24 12:27:10 +00:00
arith-sub.ll [X86] Split skylake-avx512 run lines in SLP vectorizer tests to cover -mprefer=vector-width=256 and -mprefer-vector-width=512. 2018-11-30 22:53:21 +00:00
atomics.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
bad_types.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
barriercall.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
bitreverse.ll
blending-shuffle.ll
bswap.ll
call.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
cast.ll
cmp_sel.ll
commutativity.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
compare-reduce.ll
consecutive-access.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
continue_vectorizing.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
crash_7zip.ll [X86][SLP] Enable SLP vectorization for 128-bit horizontal X86 instructions (add, sub) 2019-02-13 08:26:43 +00:00
crash_binaryop.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
crash_bullet.ll [X86][SLP] Enable SLP vectorization for 128-bit horizontal X86 instructions (add, sub) 2019-02-13 08:26:43 +00:00
crash_bullet3.ll [X86][SLP] Enable SLP vectorization for 128-bit horizontal X86 instructions (add, sub) 2019-02-13 08:26:43 +00:00
crash_cmpop.ll [X86][SLP] Enable SLP vectorization for 128-bit horizontal X86 instructions (add, sub) 2019-02-13 08:26:43 +00:00
crash_dequeue.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
crash_flop7.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
crash_gep.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
crash_lencod.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
crash_mandeltext.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
crash_netbsd_decompress.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
crash_scheduling.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
crash_sim4b1.ll [X86][SLP] Enable SLP vectorization for 128-bit horizontal X86 instructions (add, sub) 2019-02-13 08:26:43 +00:00
crash_smallpt.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
crash_vectorizeTree.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
cross_block_slp.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
cse.ll
ctlz.ll
ctpop.ll
cttz.ll
cycle_dup.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
debug_info.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
diamond.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
external_user.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
external_user_jumbled_load.ll
extract-shuffle.ll
extract.ll
extract_in_tree_user.ll
extractcost.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
extractelement.ll
fabs-cost-softfp.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
fabs.ll [X86] Split skylake-avx512 run lines in SLP vectorizer tests to cover -mprefer=vector-width=256 and -mprefer-vector-width=512. 2018-11-30 22:53:21 +00:00
fcopysign.ll [X86] Split skylake-avx512 run lines in SLP vectorizer tests to cover -mprefer=vector-width=256 and -mprefer-vector-width=512. 2018-11-30 22:53:21 +00:00
flag.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
fma.ll [X86] Split skylake-avx512 run lines in SLP vectorizer tests to cover -mprefer=vector-width=256 and -mprefer-vector-width=512. 2018-11-30 22:53:21 +00:00
fptosi.ll [X86][SLP] Enable SLP vectorization for 128-bit horizontal X86 instructions (add, sub) 2019-02-13 08:26:43 +00:00
fptoui.ll [X86][SLP] Enable SLP vectorization for 128-bit horizontal X86 instructions (add, sub) 2019-02-13 08:26:43 +00:00
fround.ll [X86] Split skylake-avx512 run lines in SLP vectorizer tests to cover -mprefer=vector-width=256 and -mprefer-vector-width=512. 2018-11-30 22:53:21 +00:00
funclet.ll
gep.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
gep_mismatch.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
hadd.ll [X86][AVX] Reduce v4f64/v4i64 shuffle costs (PR37882) 2018-06-21 11:37:13 +00:00
hoist.ll
horizontal-list.ll [SLP]PR39774: Update references of the replaced external instructions. 2018-11-30 15:14:20 +00:00
horizontal-minmax.ll [CostModel][X86] Add explicit vector select costs 2019-01-20 13:55:01 +00:00
horizontal.ll
hsub.ll [X86][AVX] Reduce v4f64/v4i64 shuffle costs (PR37882) 2018-06-21 11:37:13 +00:00
implicitfloat.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
in-tree-user.ll
insert-after-bundle.ll
insert-element-build-vector.ll
insertvalue.ll [X86][SLP] Enable SLP vectorization for 128-bit horizontal X86 instructions (add, sub) 2019-02-13 08:26:43 +00:00
intrinsic.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
jumbled-load-multiuse.ll
jumbled-load-shuffle-placement.ll
jumbled-load-used-in-phi.ll
jumbled-load.ll
limit.ll
lit.local.cfg
load-merge.ll
long_chains.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
loopinvariant.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
metadata.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
minimum-sizes.ll
multi_block.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
multi_user.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
odd_store.ll
operandorder.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
opt.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
ordering.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
partail.ll
phi.ll [X86][SLP] Enable SLP vectorization for 128-bit horizontal X86 instructions (add, sub) 2019-02-13 08:26:43 +00:00
phi3.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
phi_landingpad.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
phi_overalignedtype.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
powof2div.ll [SLPVectorizer] Recognise non uniform power of 2 constants 2018-06-26 16:20:16 +00:00
pr16571.ll
pr16628.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
pr16899.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
pr18060.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
pr19657.ll
pr23510.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
pr27163.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
pr31599.ll
pr35497.ll
propagate_ir_flags.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
reassociated-loads.ll
reduction.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
reduction2.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
reduction_loads.ll
reduction_unrolled.ll [CostModel][X86] Fix overcounting arithmetic cost in illegal types in getArithmeticReductionCost/getMinMaxReductionCost 2018-12-07 18:20:56 +00:00
remark_horcost.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
remark_listcost.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
remark_not_all_parts.ll [X86][SLP] Enable SLP vectorization for 128-bit horizontal X86 instructions (add, sub) 2019-02-13 08:26:43 +00:00
remark_unsupported.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
reorder_phi.ll [X86][SLP] Enable SLP vectorization for 128-bit horizontal X86 instructions (add, sub) 2019-02-13 08:26:43 +00:00
reorder_repeated_ops.ll
resched.ll [X86][SLP] Enable SLP vectorization for 128-bit horizontal X86 instructions (add, sub) 2019-02-13 08:26:43 +00:00
return.ll
reverse_extract_elements.ll
rgb_phi.ll [X86][SLP] Enable SLP vectorization for 128-bit horizontal X86 instructions (add, sub) 2019-02-13 08:26:43 +00:00
saxpy.ll [X86][SLP] Enable SLP vectorization for 128-bit horizontal X86 instructions (add, sub) 2019-02-13 08:26:43 +00:00
schedule-bundle.ll [X86][SLP] Enable SLP vectorization for 128-bit horizontal X86 instructions (add, sub) 2019-02-13 08:26:43 +00:00
schedule_budget.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
scheduling.ll
sext.ll [X86][SLP] Enable SLP vectorization for 128-bit horizontal X86 instructions (add, sub) 2019-02-13 08:26:43 +00:00
shift-ashr.ll [X86] Split skylake-avx512 run lines in SLP vectorizer tests to cover -mprefer=vector-width=256 and -mprefer-vector-width=512. 2018-11-30 22:53:21 +00:00
shift-lshr.ll [X86][SLP] Enable SLP vectorization for 128-bit horizontal X86 instructions (add, sub) 2019-02-13 08:26:43 +00:00
shift-shl.ll [X86][SLP] Enable SLP vectorization for 128-bit horizontal X86 instructions (add, sub) 2019-02-13 08:26:43 +00:00
sign-extend.ll
simple-loop.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
simplebb.ll
sitofp.ll [X86][SLP] Enable SLP vectorization for 128-bit horizontal X86 instructions (add, sub) 2019-02-13 08:26:43 +00:00
sqrt.ll
store-jumbled.ll
stores_vectorize.ll
tiny-tree.ll [X86][SLP] Enable SLP vectorization for 128-bit horizontal X86 instructions (add, sub) 2019-02-13 08:26:43 +00:00
uitofp.ll [X86][SLP] Enable SLP vectorization for 128-bit horizontal X86 instructions (add, sub) 2019-02-13 08:26:43 +00:00
undef_vect.ll
unreachable.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
value-bug.ll
vec-reg-64bit.ll [X86][SLP] Enable SLP vectorization for 128-bit horizontal X86 instructions (add, sub) 2019-02-13 08:26:43 +00:00
vect_copyable_in_binops.ll [X86][SLP] Enable SLP vectorization for 128-bit horizontal X86 instructions (add, sub) 2019-02-13 08:26:43 +00:00
vector.ll
vector_gep.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
vectorize-reorder-reuse.ll
zext.ll [X86][SLP] Enable SLP vectorization for 128-bit horizontal X86 instructions (add, sub) 2019-02-13 08:26:43 +00:00