[jdk21u-dev] RFR: 8328938: C2 SuperWord: disable vectorization for large stride and scale

Emanuel Peter epeter at openjdk.org
Mon Apr 15 15:16: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

But wait. How can `_lp` not be initialized yet, if we are already in `SuperWord::output`? `SuperWord::set_lp` should have been called in `SuperWord::transform_loop`.

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

PR Comment: https://git.openjdk.org/jdk21u-dev/pull/495#issuecomment-2057103198


More information about the jdk-updates-dev mailing list