RFR: 8273416: C2: assert(false) failed: bad AD file after JDK-8252372 with UseSSE={0,1}
Aleksey Shipilev
shade at openjdk.java.net
Thu Oct 28 11:49:23 UTC 2021
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
-------------
Commit messages:
- Specialize match rules for UseSSE < 2
- Attempt to fix
Changes: https://git.openjdk.java.net/jdk/pull/5386/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=5386&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8273416
Stats: 22 lines in 2 files changed: 20 ins; 0 del; 2 mod
Patch: https://git.openjdk.java.net/jdk/pull/5386.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/5386/head:pull/5386
PR: https://git.openjdk.java.net/jdk/pull/5386
More information about the hotspot-compiler-dev
mailing list