RFR: 8308606: C2 SuperWord: remove alignment checks when not required [v2]

Emanuel Peter epeter at openjdk.org
Thu Jun 8 12:41:48 UTC 2023


On Thu, 8 Jun 2023 08:48:43 GMT, Emanuel Peter <epeter at openjdk.org> wrote:

>> test/hotspot/jtreg/compiler/vectorization/runner/LoopArrayIndexComputeTest.java line 166:
>> 
>>> 164:     // No true dependency in read-forward case.
>>> 165:     @IR(applyIfCPUFeatureOr = {"asimd", "true", "sse2", "true"},
>>> 166:         counts = {IRNode.STORE_VECTOR, ">0"})
>> 
>> You may need add `applyIf = {"AlignVector", "false"}` for these newly added IR check rules.
>
> @fg1417 you are right!
> 
> I think we should also add `AlignVector` to the IR whitelist. It makes sense to add it with this change here, because only from now on can we actually have misaligned loads / stores on the same memory-slice! So we should also test things more thoroughly now.
> 
> I also see that in `test/hotspot/jtreg/compiler/vectorization/runner/` a lot of tests have `@requires vm.flagless`. That means we actually do not check any flag combinations with those tests. I think we should file an RFE to make them more general, and add the requirements to the IR rules.

Ok, there are some bugs around, I cannot yet directly add `AlignVector` to the IR framework whitelist. We can do it in a follow up RFE https://bugs.openjdk.org/browse/JDK-8309662

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

PR Review Comment: https://git.openjdk.org/jdk/pull/14096#discussion_r1222982009


More information about the hotspot-compiler-dev mailing list