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