RFR: 8343689: AArch64: Optimize MulReduction implementation [v3]
Hao Sun
haosun at openjdk.org
Wed Jul 2 06:45:46 UTC 2025
On Wed, 18 Jun 2025 12:12:16 GMT, Mikhail Ablakatov <mablakatov at openjdk.org> wrote:
>> src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.cpp line 2002:
>>
>>> 2000: assert(vector_length_in_bytes == 8 || vector_length_in_bytes == 16, "unsupported");
>>> 2001: assert_different_registers(vtmp1, vsrc);
>>> 2002: assert_different_registers(vtmp1, vtmp2);
>>
>> nit: would be neat to use
>> Suggestion:
>>
>> assert_different_registers(vsrc, vtmp1, vtmp2);
>
> `vsrc` and `vtmp2` are allowed to match.
I see your point.
IIUC, we should not modify `vsrc` as it's the source operand.
If we allow `vsrc` and `vtmp2` to match, then `vsrc` is modified then.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/23181#discussion_r2179185158
More information about the hotspot-compiler-dev
mailing list