RFR: 8343689: AArch64: Optimize MulReduction implementation [v8]

Xiaohong Gong xgong at openjdk.org
Fri Jul 11 06:19:49 UTC 2025


On Fri, 11 Jul 2025 05:48:03 GMT, Mikhail Ablakatov <mablakatov at openjdk.org> wrote:

>> IIUC, it's a correction here.
>> 
>> As noted by this function name `move_unordered_reduction_out_of_loop()` and the comment before this function, **unordered reduction** is expected to be generated. Hence, we should specify `/* requires_strict_order */ false`
>
> Precisely that, @shqking , thank you. I found this while evaluating the effect the patch has on auto-vectorization.

I see. Thanks! So what is the type of bt? Is it an integer type of floating-point one? If it's an integer type, I think changing or not does not have difference. But if it is floating-point type, we do not support the non-strict-ordered anyway and they are not enabled in SLP on AArch64. I'm just curious whether this change has any relationship with this PR. If not, I suggest not touching it now. Seems there is the same change in this PR https://github.com/openjdk/jdk/pull/23181.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/23181#discussion_r2199721512


More information about the hotspot-compiler-dev mailing list