llvm-project/llvm/test/Transforms/SLPVectorizer/X86
Simon Pilgrim adca820927 [TTI] Add generic SADDSAT/SSUBSAT costs
Add generic costs calculation for SADDSAT/SSUBSAT intrinsics, this uses generic costs for sadd_with_overflow/ssub_with_overflow, an extra sign comparison + a selects based on the sign/overflow.

This completes PR40316

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

llvm-svn: 352315
2019-01-27 13:51:59 +00:00
..
PR32086.ll [SLP] Allow vectorization of reversed loads. 2018-02-14 15:29:15 +00:00
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 [SLP] Fix vectorization for tree with trunc to minimum required bit width. 2018-01-19 14:40:13 +00:00
PR35865.ll [COST]Fix PR35865: Fix cost model evaluation for shuffle on X86. 2018-01-09 19:08:22 +00:00
PR36280.ll [X86][SSE] Reduce FADD/FSUB/FMUL costs on later targets (PR36280) 2018-02-26 22:10:17 +00:00
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 [SLPVectorizer] Relax "alternate" opcode vectorisation to work with any SK_Select shuffle pattern 2018-06-20 14:26:28 +00:00
aggregate.ll [SLP] Update tests checks, NFC. 2018-01-05 14:40:04 +00:00
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 [SLPVectorizer] Fix alternate opcode + shuffle cost function to correct handle SK_Select patterns. 2018-07-02 11:28:01 +00:00
alternate-int.ll [SLPVectorizer] Ensure alternate/passthrough doesn't vectorize sdiv with undef elts 2018-07-11 14:34: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 [SLP] Stop counting cost of gather sequences with multiple uses 2018-03-23 14:18:27 +00:00
bswap.ll
call.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
cast.ll [SLP] Fix PR35047: Fix default cost model for cast op in X86. 2017-11-07 14:23:44 +00:00
cmp_sel.ll [SLPVectorizer][X86] Regenerate some tests. NFCI 2018-04-04 13:53:51 +00:00
commutativity.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
compare-reduce.ll [SLP] Fix tests checks, NFC. 2018-02-20 18:11:50 +00:00
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 [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +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 [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
crash_bullet3.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
crash_cmpop.ll [CostModel][X86] Add explicit vector select costs 2019-01-20 13:55:01 +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 [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +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 [X86][SSE] Reduce FADD/FSUB/FMUL costs on later targets (PR36280) 2018-02-26 22:10:17 +00:00
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 [SLP] Fix PR36481: vectorize reassociated instructions. 2018-04-03 17:14:47 +00:00
extract-shuffle.ll [SLP] Add extra test for extractelement shuffle, NFC. 2018-01-30 21:06:06 +00:00
extract.ll [SLP] Fix PR36481: vectorize reassociated instructions. 2018-04-03 17:14:47 +00:00
extract_in_tree_user.ll [SLP] Update test checks, NFC. 2018-02-06 20:00:05 +00:00
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] 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
fptoui.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
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 [SLP] Fix tests checks, NFC. 2018-02-20 18:11:50 +00:00
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 [SLP] Fix for PR32086: Count InsertElementInstr of the same elements as shuffle. 2018-01-29 16:08:52 +00:00
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 [X86][SSE] Reduce FADD/FSUB/FMUL costs on later targets (PR36280) 2018-02-26 22:10:17 +00:00
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 [SLP] Fix tests checks, NFC. 2018-02-20 18:11:50 +00:00
insert-after-bundle.ll
insert-element-build-vector.ll [SLP] Take user instructions cost into consideration in insertelement vectorization. 2018-02-12 14:54:48 +00:00
insertvalue.ll [SLP] Fix PR35777: Incorrect handling of aggregate values. 2018-01-08 14:43:06 +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 [SLPVectorizer][X86] Regenerate some tests. NFCI 2018-04-04 13:53:51 +00:00
jumbled-load-shuffle-placement.ll [SLPVectorizer][X86] Regenerate some tests. NFCI 2018-04-04 13:53:51 +00:00
jumbled-load-used-in-phi.ll [SLP] Fix PR36481: vectorize reassociated instructions. 2018-04-03 17:14:47 +00:00
jumbled-load.ll [SLP] Fix PR36481: vectorize reassociated instructions. 2018-04-03 17:14:47 +00:00
limit.ll
lit.local.cfg
load-merge.ll [SLP] Fix PR35047: Fix default cost model for cast op in X86. 2017-11-07 14:23:44 +00:00
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 [SLP] Add/update tests for SLP vectorizer, NFC. 2018-01-10 21:29:18 +00:00
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 [SLPVectorizer][X86] Regenerate some tests. NFCI 2018-04-04 13:53:51 +00:00
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 [SLP] Distinguish "demanded and shrinkable" from "demanded and not shrinkable" values when determining the minimum bitwidth 2018-04-03 00:05:10 +00:00
phi.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +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 [SLP] Fix test checks, NFC. 2018-02-21 15:32:58 +00:00
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 [SLPVectorizer] Add tests related to PR30787, NFCI. 2018-03-29 18:57:03 +00:00
propagate_ir_flags.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
reassociated-loads.ll [SLP] Fix PR36481: vectorize reassociated instructions. 2018-04-03 17:14:47 +00:00
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 [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +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][SSE] Reduce FADD/FSUB/FMUL costs on later targets (PR36280) 2018-02-26 22:10:17 +00:00
reorder_repeated_ops.ll [SLP] Fix PR36481: vectorize reassociated instructions. 2018-04-03 17:14:47 +00:00
resched.ll [SLPVectorizer] Support alternate opcodes in tryToVectorizeList 2018-06-22 16:37:34 +00:00
return.ll [SLP] Fix tests checks, NFC. 2018-02-20 18:11:50 +00:00
reverse_extract_elements.ll [SLP] Fix for PR32164: Improve vectorization of reverse order of extract operations. 2018-01-16 18:17:01 +00:00
rgb_phi.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
saxpy.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
schedule-bundle.ll
schedule_budget.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
scheduling.ll
sext.ll [SLPVectorizer][X86] Add load extend tests (PR36091) 2018-02-22 12:19:34 +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] 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-shl.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
sign-extend.ll [SLP] Take user instructions cost into consideration in insertelement vectorization. 2018-02-12 14:54:48 +00:00
simple-loop.ll [SLP]Update test checks for the SPL vectorizer, NFC. 2019-01-11 20:21:14 +00:00
simplebb.ll [X86][SSE] Reduce FADD/FSUB/FMUL costs on later targets (PR36280) 2018-02-26 22:10:17 +00:00
sitofp.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
sqrt.ll
store-jumbled.ll [SLP] Fix PR36481: vectorize reassociated instructions. 2018-04-03 17:14:47 +00:00
stores_vectorize.ll [SLP] Additional tests for stores vectorization, NFC. 2018-03-05 20:20:12 +00:00
tiny-tree.ll [SLPVectorizer][X86] Regenerate some tests. NFCI 2018-04-04 13:53:51 +00:00
uitofp.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
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 [SLP] Take user instructions cost into consideration in insertelement vectorization. 2018-02-12 14:54:48 +00:00
vect_copyable_in_binops.ll Revert r319531 "[SLPVectorizer] Failure to beneficially vectorize 'copyable' elements in integer binary ops." 2017-12-01 16:17:24 +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 [SLP] Additional tests for reorder reuse vectorization, NFC. 2018-04-09 19:02:34 +00:00
zext.ll [SLPVectorizer][X86] Add load extend tests (PR36091) 2018-02-22 12:19:34 +00:00