RFR: JDK-8298880: VectorLogicalOpIdentityTest.java IR test incorrectly use avx3 instead of avx512
Roberto Castañeda Lozano
rcastanedalo at openjdk.org
Thu Feb 2 14:26:50 UTC 2023
On Wed, 1 Feb 2023 09:31:25 GMT, Roberto Castañeda Lozano <rcastanedalo at openjdk.org> wrote:
>> A few tests of _compiler/vectorapi/VectorLogicalOpIdentityTest.java_ (`testAndMaskSameValue1`, `testAndMaskSameValue2`, `testAndMaskSameValue3`, `testOrMaskSameValue1`, `testOrMaskSameValue2`, and `testOrMaskSameValue3`) use _avx3_ in the `applyIfCPUFeatureOr` IR filter but the actual CPU extension filter is _avx512_.
>>
>> Changing _avx3_ to _avx512_ in the `applyIfCPUFeatureOr` filter.
>
> Did you try to run the tests with different `UseSSE` values, as it is done in some of our internal CI tiers? We recently discovered (while working on [JDK-8294715](https://bugs.openjdk.org/browse/JDK-8294715)) that SSE and AVX levels sometimes can interact and affect vectorization in non-trivial ways.
> @robcasloz it looks as if UseSSE=4 is needed for any AVX level >0. For instance the VM gives me a message like UseAVX=3 requires UseSSE=4, setting it to UseAVX=0 if I force both flags. With AVX set to 0 this test then doesn't run due to the @requires header.
OK, thanks for checking!
-------------
PR: https://git.openjdk.org/jdk/pull/12358
More information about the hotspot-compiler-dev
mailing list