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