[Bug target/110625] [AArch64] Vect: SLP fails to vectorize a loop as the reduction_latency calculated by new costs is too large
rsandifo at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Jul 19 08:55:51 GMT 2023
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110625
--- Comment #7 from rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> ---
The current issue rate framework was originally written for Neoverse V1 and
Neoverse V2. For those cores, it wasn't necessary to make a distinction
between scalar integer operations and scalar FP operations: the integer
throughput and FP throughput were close enough for the difference not to
matter.
I think the problem is that the difference between integer throughput and FP
throughput does matter for Neoverse N2. E.g. integer additions have a
throughput of 4 a cycle whereas FP additions have a throughput of 2 a cycle.
Currently the Neoverse N2 model uses a throughput of 4 “general ops” for scalar
code. However, when the loop consists entirely of loads, stores and FP
operations, the limit should instead be 2.
More information about the Gcc-bugs
mailing list