RFR: 8312570: [TESTBUG] Jtreg compiler/loopopts/superword/TestDependencyOffsets.java fails on 512-bit SVE

Pengfei Li pli at openjdk.org
Fri Aug 4 03:21:34 UTC 2023


On Thu, 3 Aug 2023 16:50:02 GMT, Emanuel Peter <epeter at openjdk.org> wrote:

> We had this running on Aarch64 machines with asimd but without sve. Why do you think that this even passed with my 32 byte assumption (256 bit)? You say it should only have 128 bit.

Assuming NEON has larger vector size (256 bit, which is wrong) won't result in any failure on NEON-only machines. But it results in running less IR checks on 256-bit SVE. Let's take below IR condition change as an example.

-        applyIfAnd = {"AlignVector", "false", "MaxVectorSize", ">= 8", "MaxVectorSize", "<= 16"},
+        applyIfAnd = {"AlignVector", "false", "MaxVectorSize", ">= 8"},

Before this patch, the existence of vector IRs won't be checked on 256-bit SVE as we have `MaxVectorSize <= 16`. After this patch, it will be checked. The main reason of failures on 512-bit SVE is the lack of `sve == false` check so the IR tests will run on machines with vector length > 256 bits.

> What is the max_pre for? Is it necessary?

It just adds a prefix to make the comment more precise, as SVE uses scalable vectors and the vector length ranges from 128 bits to 2048 bits.

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

PR Comment: https://git.openjdk.org/jdk/pull/15010#issuecomment-1664914590


More information about the hotspot-compiler-dev mailing list