RFR: 8298935: fix cyclic dependency bug in create_pack logic in SuperWord::find_adjacent_refs [v9]
Fei Gao
fgao at openjdk.org
Wed Mar 1 02:29:06 UTC 2023
On Tue, 28 Feb 2023 15:27:07 GMT, Emanuel Peter <epeter at openjdk.org> wrote:
>> @jatin-bhateja I now have a first version out of the `test/hotspot/jtreg/compiler/loopopts/superword/TestDependencyOffsets.java`. It seems to work for `sse4.1 ... avx512`. I'm now testing it for `asimd`.
>> And then I will proceed to add the features for `-XX:+AlignVector`, with the modulo check.
>
> Update: I cannot use `SuperWordMaxVectorSize`, because it is regulated down on x86 to be at most `MaxVectorSize`. But on `aarch64` the flag `SuperWordMaxVectorSize` does not seem to be adjusted. @fg1417 do you think this is correct / on purpose? Maybe this is just an unfortunate but harmless inconsistency. I guess in `SuperWord::max_vector_size` we first get the info from `Matcher::max_vector_size` (based on `MaxVectorSize`), and then upper bound that based on `SuperWordMaxVectorSize`.
>
> TLDR: I am using `MaxVectorSize` instead of `SuperWordMaxVectorSize` now.
Hi @eme64, see https://github.com/openjdk/jdk/pull/8877. Before that, we use `MaxVectorSize` for all platforms. `SuperWordMaxVectorSize` is only used to fix the performance issue on x86. The option is set as `64` by default, which is fine for current aarch64 hardware, but SVE architecture supports more than 512 bits. I believe `SuperWordMaxVectorSize` is just a temporary solution and we expect a more complete fix. Thanks.
-------------
PR: https://git.openjdk.org/jdk/pull/12350
More information about the hotspot-compiler-dev
mailing list