llvm-project/llvm/test/Analysis/CostModel
Philip Reames 536095a27c [RISCV] Refine costs for i1 reductions
Our actual lowering for i1 reductions uses ctpop combined with possibly a vector negate and possibly a logic op afterwards. I believe ctpop to be low cost on all reasonable hardware.

The default costing implementation here was returning quite inconsistent costs. and/or were returning very high costs (because we seem to think moving into scalar registers is very expensive?) and others were returning lower but still too high (because of the assumed tree reduce strategy). While we should probably improve the generic costing strategy for i1 vectors, let's start by fixing the immediate problem.

Differential Revision: https://reviews.llvm.org/D127511
2022-06-10 13:21:52 -07:00
..
AArch64 [AArch64] Costmodel tests for llvm.vscale intrinsics. NFC 2022-05-26 10:16:21 +01:00
AMDGPU [test] Migrate '-analyze -cost-model' to '-passes=print<cost-model>' 2022-02-09 15:42:16 -08:00
ARM [ARM] Fix MVE getShuffleCost legalized type check 2022-06-07 14:36:04 +01:00
PowerPC [test] Migrate '-analyze -cost-model' to '-passes=print<cost-model>' 2022-02-09 15:42:16 -08:00
RISCV [RISCV] Refine costs for i1 reductions 2022-06-10 13:21:52 -07:00
SystemZ [test] Migrate '-analyze -cost-model' to '-passes=print<cost-model>' 2022-02-09 15:42:16 -08:00
X86 [CostModel][X86] getScalarizationOverhead - improve extraction costs for > 128-bit vectors 2022-05-24 15:18:08 +01:00
free-intrinsics-datalayout.ll [test] Migrate '-analyze -cost-model' to '-passes=print<cost-model>' 2022-02-09 15:42:16 -08:00
free-intrinsics-no_info.ll [test] Migrate '-analyze -cost-model' to '-passes=print<cost-model>' 2022-02-09 15:42:16 -08:00
no_info.ll [test] Migrate '-analyze -cost-model' to '-passes=print<cost-model>' 2022-02-09 15:42:16 -08:00