diff options
author | Richard Sandiford <richard.sandiford@arm.com> | 2023-09-14 15:37:41 +0100 |
---|---|---|
committer | Richard Sandiford <richard.sandiford@arm.com> | 2023-09-14 15:37:41 +0100 |
commit | c8e4f0df685d7944257be5add25b5d60a074497f (patch) | |
tree | 48fd048ed8f25a79b0839417eeaa3d1fdf1473a8 /gcc/ggc-common.cc | |
parent | 5e4a248b03f01f422b0dbc9e1464eb6c2f2bafc6 (diff) | |
download | gcc-c8e4f0df685d7944257be5add25b5d60a074497f.zip gcc-c8e4f0df685d7944257be5add25b5d60a074497f.tar.gz gcc-c8e4f0df685d7944257be5add25b5d60a074497f.tar.bz2 |
aarch64: Restore SVE WHILE costing
AArch64 previously costed WHILELO instructions on the first call
to add_stmt_cost. This was because, at the time, only add_stmt_cost
had access to the loop_vec_info.
However, after the AVX512 changes, we only calculate the masks later.
This patch moves the WHILELO costing to finish_cost, which is in any
case a more logical place for it to be. It also means that we can
check the final decision about whether to use predicated loops.
gcc/
* config/aarch64/aarch64.cc (aarch64_vector_costs::analyze_loop_info):
Move WHILELO handling to...
(aarch64_vector_costs::finish_cost): ...here. Check whether the
vectorizer has decided to use a predicated loop.
gcc/testsuite/
* gcc.target/aarch64/sve/cost_model_15.c: New test.
Diffstat (limited to 'gcc/ggc-common.cc')
0 files changed, 0 insertions, 0 deletions