RFR: 8273332: [Vector API] C2 fails to check whether the rotate operation is directly supported by the target ISA after JDK-8271366

Jie Fu jiefu at openjdk.java.net
Fri Sep 3 15:45:40 UTC 2021


Hi all,

A lot of Vector API tests from Panama's vectorIntrinsics+mask branch crash [1].

This is because `arch_supports_vector()` fails to check whether the rotate operation is directly supported by the target ISA after JDK-8271366.
It can be fixed by adding `Matcher::match_rule_supported_vector` check in `inline_vector_broadcast_int()` and `inline_vector_nary_operation()` to prevent generation of unsupported rotate operation IR patterns.

Maybe it's hard to reproduce with the jdk-repo, but the bug still be there in theory.
So it would be better to fix it in the jdk repo.

Testing:
 - jdk/incubator/vector/ with `-ea -esa -Xcomp -XX:CompileThreshold=100`, the crash reported in [1] gets fixed with Panama's vectorIntrinsics+mask branch

Thanks.
Best regards,
Jie

[1] https://bugs.openjdk.java.net/browse/JDK-8273205

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

Commit messages:
 - 8273332: [Vector API] C2 fails to check whether the rotate operation is directly supported by the target ISA after JDK-8271366

Changes: https://git.openjdk.java.net/jdk/pull/5364/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=5364&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8273332
  Stats: 10 lines in 1 file changed: 10 ins; 0 del; 0 mod
  Patch: https://git.openjdk.java.net/jdk/pull/5364.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/5364/head:pull/5364

PR: https://git.openjdk.java.net/jdk/pull/5364


More information about the hotspot-compiler-dev mailing list