RFR: 8288445: AArch64: C2 compilation fails with guarantee(!true || (true && (shift != 0))) failed: impossible encoding

Hao Sun haosun at openjdk.org
Mon Jun 20 06:30:57 UTC 2022


On Fri, 17 Jun 2022 22:37:28 GMT, Dean Long <dlong at openjdk.org> wrote:

> The range for aarch64 vector right-shift is 1 to the element width.  This issue fixes the problem in the back-end.  There is a separate problem in the front-end that shift by 0 is not always optimized out.

Instead of introducing `immI_positive`, I wonder if we can generate `orr dst src` for zero shift count, just as the SVE part does. E.g., https://urldefense.com/v3/__https://github.com/openjdk/jdk19/blob/master/src/hotspot/cpu/aarch64/aarch64_sve.ad*L3667__;Iw!!ACWV5N9M2RV99hQ!KcHFTzRcO_-LNedIbO18sCUNPiNl3ng4zcnSpE0soDdol2nDlGco-87Q0ORUydkcGL_gi_2g2bpWr0GSlQ4eB7Xyo-BeuA$ 

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

PR: https://git.openjdk.org/jdk19/pull/40


More information about the hotspot-compiler-dev mailing list