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

Aleksey Shipilev shade at openjdk.java.net
Mon Nov 1 12:34:22 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

This pull request has now been integrated.

Changeset: 89ade1d7
Author:    Aleksey Shipilev <shade at openjdk.org>
URL:       https://git.openjdk.java.net/jdk/commit/89ade1d7e88ee005c3fd2136d84e298d94f9a67c
Stats:     22 lines in 2 files changed: 20 ins; 0 del; 2 mod

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

Reviewed-by: kvn, roland

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

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


More information about the hotspot-compiler-dev mailing list