[llvm] [AArch64] Fix throughout of 64-bit SVE gather loads (PR #168572)
Asher Dobrescu via llvm-commits
llvm-commits at lists.llvm.org
Thu Nov 27 04:45:08 PST 2025
Asher8118 wrote:
> If you look at the SWOGs of the other Neoverse cores they all utilize the vector pipes.
I took a look and you're right, it makes sense to add the vector pipes.
>It's not perfect but I think it's a bit more constrained and will cause less churn in the tests at least
I am happy to go with your suggestion since I agree, it causes less changes in the tests.
>As an aside, it would be good if we could just explicitly set the throughput where we cant realisitically model it, instead of having to hack our way to it and potentially confuse people looking at this in the future thinking it's rooted in reality. Not sure if that's even possible, but I think the least we could do today is make it clear in such cases and strip it back to do the absolute bear minimum required to get the right value
I think a way to explicitly set the throughput would be very useful since I found a few cases where modelling throughput using the existing resources has not been straightforward eg this note :https://github.com/llvm/llvm-project/blob/682f292d2caec5b71f8ce6c641114fee446ba49f/llvm/lib/Target/AArch64/AArch64SchedNeoverseV2.td#L1038
However I am also wary of allowing throughput to be set rather than calculated based on resources. Ideally we should be able to model behaviour according to resources, though this is not always the case such as in this example. Not sure what the best option is in such cases. Perhaps allowing some exceptions with minimal disruption as you suggested is our best approach.
https://github.com/llvm/llvm-project/pull/168572
More information about the llvm-commits
mailing list