[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