llvm-project/llvm/test/Analysis/CostModel/AArch64
Sander de Smalen 97215fe3f4 [CostModel] Express cost(urem) as cost(div+mul+sub) when set to Expand.
The Legalizer expands the operations of urem/srem into a div+mul+sub or divrem
when those are legal/custom. This patch changes the cost-model to reflect that
cost.

Since there is no 'divrem' Instruction in LLVM IR, the cost of divrem
is assumed to be the same as div+mul+sub since the three operations will
need to be executed at runtime regardless.

Patch co-authored by David Sherwood (@david-arm)

Reviewed By: RKSimon, paulwalker-arm

Differential Revision: https://reviews.llvm.org/D103799
2021-07-07 14:40:28 +01:00
..
abs.ll [AArch64] Add abs intrinsic costs 2021-02-25 09:31:52 +00:00
aggregates.ll [CostModel][AArch64] Remove unused check-prefix 2020-11-10 13:10:11 +00:00
arith-fp.ll [AArch64] Use custom lowering for fp16 vector copysign. 2021-07-02 11:15:30 +01:00
arith-ssat.ll [AArch64] Add vector saturating add intrinsic costs 2021-01-27 10:38:32 +00:00
arith-usat.ll [AArch64] Add vector saturating add intrinsic costs 2021-01-27 10:38:32 +00:00
bitreverse.ll [AArch64] Add cost tests for bitreverse 2021-06-10 14:51:33 +01:00
bswap.ll
cast.ll [AArch64] Cost-model i8 vector loads/stores 2021-07-05 11:25:10 +01:00
cmp.ll
cost-scalable-vector-gep.ll [SVE] Remove checks for warnings in scalable-vector tests. 2021-04-07 15:59:32 +01:00
ctlz.ll [CostModel][AArch64] Add tests for ctlz, ctpop and cttz. NFC. 2021-06-03 17:12:22 +01:00
ctpop.ll [CostModel][AArch64] Improve the cost estimate of CTPOP intrinsic 2021-06-11 11:15:46 +01:00
cttz.ll [CostModel][AArch64] Add tests for ctlz, ctpop and cttz. NFC. 2021-06-03 17:12:22 +01:00
div.ll
div_cte.ll
free-widening-casts.ll
gep.ll
getIntrinsicInstrCost-vector-reverse.ll [COST][AARCH64] Improve cost of reverse shuffles for AArch64. 2021-04-20 13:47:56 -07:00
kryo-inseltpoison.ll Precommit analysis/etc tests for inselt poison placeholder 2020-12-24 12:14:24 +09:00
kryo.ll
lit.local.cfg
logicalop.ll [TTI] Consider select form of and/or i1 as having arithmetic cost 2021-03-02 02:18:19 +09:00
masked_ldst.ll [AArch64] Add AArch64TTIImpl::getMaskedMemoryOpCost function 2021-04-26 11:00:03 +01:00
mem-op-cost-model.ll [AArch64] Cost-model i8 vector loads/stores 2021-07-05 11:25:10 +01:00
min-max.ll [DAG] Legalize umin(x,y) -> sub(x,usubsat(x,y)) and umax(x,y) -> add(x,usubsat(y,x)) iff usubsat is legal 2020-11-27 11:18:58 +00:00
mul.ll [CostModel][AArch64] Add floating point arithmetic tests. NFC. 2021-05-26 20:26:20 +01:00
neon-stepvector.ll [IR][SVE] Add new llvm.experimental.stepvector intrinsic 2021-03-23 10:43:35 +00:00
reduce-and.ll [CostModel][AArch64] Improve cost model for vector reduction intrinsics 2021-06-24 12:02:58 +01:00
reduce-or.ll [CostModel][AArch64] Improve cost model for vector reduction intrinsics 2021-06-24 12:02:58 +01:00
reduce-xor.ll [CostModel][AArch64] Improve cost model for vector reduction intrinsics 2021-06-24 12:02:58 +01:00
select.ll
shuffle-broadcast.ll
shuffle-reverse.ll [COST][AARCH64] Improve cost of reverse shuffles for AArch64. 2021-04-20 13:47:56 -07:00
shuffle-select.ll
shuffle-transpose.ll
splice.ll [AArch64][CostModel] Add cost model for experimental.vector.splice 2021-07-05 14:30:24 +01:00
store.ll [AArch64] Cost-model i8 vector loads/stores 2021-07-05 11:25:10 +01:00
sve-bitcast.ll [SVE] Remove checks for warnings in scalable-vector tests. 2021-04-07 15:59:32 +01:00
sve-cmpsel.ll [SVE] Remove checks for warnings in scalable-vector tests. 2021-04-07 15:59:32 +01:00
sve-fixed-length.ll
sve-fpext.ll [SVE] Remove checks for warnings in scalable-vector tests. 2021-04-07 15:59:32 +01:00
sve-fptoi.ll [AArch64] Add instruction costs for FP_TO_UINT and FP_TO_SINT with half types 2021-04-21 09:39:45 +01:00
sve-fptrunc.ll [SVE] Remove checks for warnings in scalable-vector tests. 2021-04-07 15:59:32 +01:00
sve-gather.ll [CostModel][AArch64] NFC: Simplify some cost model tests for SVE. 2021-06-07 17:26:23 +01:00
sve-illegal-types.ll [CostModel] Return an invalid cost for memory ops with unsupported types 2021-06-08 12:07:36 +01:00
sve-intrinsics.ll [AArch64][CostModel] Add cost model for experimental.vector.splice 2021-07-05 14:30:24 +01:00
sve-ldst.ll [CostModel][AArch64] NFC: Simplify some cost model tests for SVE. 2021-06-07 17:26:23 +01:00
sve-math.ll [CostModel] Align the cost model for intrinsics for scalable/fixed-width vectors. 2021-03-31 14:52:49 +01:00
sve-remainder.ll [CostModel] Express cost(urem) as cost(div+mul+sub) when set to Expand. 2021-07-07 14:40:28 +01:00
sve-scatter.ll [CostModel][AArch64] NFC: Simplify some cost model tests for SVE. 2021-06-07 17:26:23 +01:00
sve-shuffle-broadcast.ll [CostModel][AArch64] Add missing costs for getShuffleCost with scalable vectors 2021-05-20 09:08:31 +01:00
sve-stepvector.ll [SVE] Remove checks for warnings in scalable-vector tests. 2021-04-07 15:59:32 +01:00
sve-trunc.ll [SVE] Remove checks for warnings in scalable-vector tests. 2021-04-07 15:59:32 +01:00
sve-widening-instruction.ll [SVE] Remove checks for warnings in scalable-vector tests. 2021-04-07 15:59:32 +01:00
vector-reduce.ll [llvm][mlir] Promote the experimental reduction intrinsics to be first class intrinsics. 2020-10-07 10:36:44 -07:00
vector-select.ll Reland "[TTI] Add VecPred argument to getCmpSelInstrCost." 2020-11-02 15:39:29 +00:00