RFR: 8273416: C2: assert(false) failed: bad AD file after JDK-8252372 with UseSSE={0,1}

Roland Westrelin roland at openjdk.java.net
Fri Oct 29 09:32:16 UTC 2021


On Tue, 7 Sep 2021 10:10:08 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:

> See the bug report for reproducer and failure message. I think the newly added `CastDD`/`CastFF` nodes should handle the extended `regDPR`/`regFPR` (which includes FPU "registers") instead of just `regD`/`regF` to avoid this mismatch error when `UseSSE < 2`.
> 
> Unfortunately, we cannot just use `reg*PR` operands in existing match rules, because those operands are defined as `UseSSE < 2`, and using them as operands and `ideal_regs()` would break the matching on `UseSSE >= 2`. Therefore I had to add another pair of matches.
> 
> Additonal testing:
>  - [x] Linux x86_32 `tier1` `-XX:UseAVX=0 -XX:UseSSE=0`
>  - [x] Linux x86_32 `tier1` default
>  - [x] Linux x86_64 `tier1` default

Looks good to me.

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

Marked as reviewed by roland (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/5386


More information about the hotspot-compiler-dev mailing list