[jdk21u-dev] RFR: 8328938: C2 SuperWord: disable vectorization for large stride and scale
Emanuel Peter
epeter at openjdk.org
Tue Apr 16 06:54:04 UTC 2024
On Fri, 12 Apr 2024 08:04:17 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:
> Unclean backport to prevent accidents in C2 loop optimizations. The patch is unclean, because JDK 21u misses major SuperWord refactorings. I applied the hunk by hand in the similar place, and also used `slp->iv_stride()` in one place to get this thing to work.
>
> @eme64, if you want to take a look at this?
>
> Additional testing:
> - [x] New regression test fails without the patch, passes with it
> - [x] Linux x86_64 server fastdebug, `all`
> - [x] Linux x86_64 server fastdebug, 100K Fuzzer tests
> - [ ] Linux x86_64 server fastdebug, Maven CTW
Hmm, I see. So `slp->lp() != nullptr` in this failing case? If so, you could just check if the `stride() == null`, and use that as an additional "fail condition", and a guard for getting `slp->iv_stride()`. That is not the prettiest, but it might work.
-------------
PR Comment: https://git.openjdk.org/jdk21u-dev/pull/495#issuecomment-2058361311
More information about the jdk-updates-dev
mailing list