I found this running some ctw tests:
# Internal Error (/home/roland/jdk-jdk/src/hotspot/share/opto/parse2.cpp:1493), pid=3306856, tid=3306871
# assert(BoolTest(btest).is_canonical()) failed: sanity
It can be reproduced with the following test case:
public class TestUnsignedCompareIntoEqualityNotCanonical {
public static void main(String[] args) {
for (int i = 0; i < 20_000; i++) {
test(0);
test(1);
}
}
private static int test(int x) {
if (Integer.compareUnsigned(0, x) >= 0) {
return 42;
}
return -42;
}
}