RFR: 8370481: C2 SuperWord: Long/Integer.compareUnsigned return wrong value in SLP [v2]

Emanuel Peter epeter at openjdk.org
Thu Oct 23 11:25:05 UTC 2025


On Thu, 23 Oct 2025 10:45:23 GMT, Hamlin Li <mli at openjdk.org> wrote:

>>> @Hamlin-Li That looks like a great improvement :)
>> 
>> Thank you for having a look! :)
>>  
>>> All I am missing are some test cases. And if possible: IR rules 😉
>> 
>> Yes, I also added some tests and IR rules of course. :)
>
>> @Hamlin-Li I just looked at your Bug report [JDK-8370481](https://bugs.openjdk.org/browse/JDK-8370481). Can you add a reproducer, and on what platforms you have experienced the failure?
> 
> Please check the added test cases, if it's run with JDK master, the test cases will fail on x86.
> 
>> If you are fixing a bug here, we should focus on the bug only. After all, we may want to backport the bugfix.
> 
> Yes. In fact at first I did not realise the existence of the bug. After read your previous question, I did more investigation and found out that I'm working a bug fix at the same time. I can change the title of this pr to "8370481: C2 SuperWord: Long/Integer.compareUnsigned return wrong value in SLP" if you wish.
> Maybe I should close [JDK-8370454](https://bugs.openjdk.org/browse/JDK-8370454) at the same time?
> Please let me know.

@Hamlin-Li Nice, thanks for filing [JDK-8370481](https://bugs.openjdk.org/browse/JDK-8370481). I now extracted a reproducer from your PR here, and attached it to the JIRA issue.

Yes, I think it would be better if you changed the title to:
`8370481: C2 SuperWord: Long/Integer.compareUnsigned return wrong value in SLP`

I think you could already close [JDK-8370454](https://bugs.openjdk.org/browse/JDK-8370454) as a duplicate of the bug report :)

Thanks very much for finding this, and even more for fixing it 😊

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

PR Comment: https://git.openjdk.org/jdk/pull/27942#issuecomment-3436390144


More information about the hotspot-compiler-dev mailing list