RFR: 8275275: AArch64: Fix performance regression after auto-vectorization on NEON [v2]
Fei Gao
fgao at openjdk.org
Thu Sep 8 06:58:07 UTC 2022
On Wed, 7 Sep 2022 02:32:43 GMT, Fei Gao <fgao at openjdk.org> wrote:
>> src/hotspot/cpu/aarch64/aarch64_vector_ad.m4 line 146:
>>
>>> 144: // Fail fast, otherwise fall through to common vector_size_supported() check.
>>> 145: switch (opcode) {
>>> 146: case Op_MulVL:
>>
>> Enabling `MulVL` for vector api is great. Thanks for doing this! However, this might break several match rules like https://github.com/openjdk/jdk/blob/master/src/hotspot/cpu/aarch64/aarch64_vector.ad#L2025 and the `vmls`. The assertion in line-2035 might fail if this rule is matched for a long vector and runs on hardwares that do not support sve. One way to fix is adding the predicate to these rules to skip the long vector type for neon. Thanks!
>
> Thanks for your kind reminder. I'll fix these related rules and add corresponding vector api regression tests in this PR.
> Enabling `MulVL` for vector api is great. Thanks for doing this! However, this might break several match rules like https://github.com/openjdk/jdk/blob/master/src/hotspot/cpu/aarch64/aarch64_vector.ad#L2025 and the `vmls`. The assertion in line-2035 might fail if this rule is matched for a long vector and runs on hardwares that do not support sve. One way to fix is adding the predicate to these rules to skip the long vector type for neon. Thanks!
Done. Thanks!
-------------
PR: https://git.openjdk.org/jdk/pull/10175
More information about the hotspot-compiler-dev
mailing list