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

Hamlin Li mli at openjdk.org
Thu Oct 23 19:18:42 UTC 2025


On Thu, 23 Oct 2025 15:23:23 GMT, Emanuel Peter <epeter at openjdk.org> wrote:

>> Hamlin Li has updated the pull request incrementally with two additional commits since the last revision:
>> 
>>  - Update src/hotspot/share/opto/superword.cpp
>>    
>>    Co-authored-by: Emanuel Peter <emanuel.peter at oracle.com>
>>  - Update src/hotspot/share/opto/superword.cpp
>>    
>>    Co-authored-by: Emanuel Peter <emanuel.peter at oracle.com>
>
> test/hotspot/jtreg/compiler/c2/irTests/TestVectorConditionalMove.java line 1131:
> 
>> 1129:                  "testCMoveULGTforL",
>> 1130:                  "testCMoveULGTforF",
>> 1131:                  "testCMoveULGTforD",
> 
> I just realized that we only have `GT` cases. But what about `GE,LE,LT`? Are those covered somewhere else?
> 
> Otherwise we only test a fraction of
> `static mask unsigned_mask(mask btm) { return mask(btm | unsigned_compare); }`
> 
> What do you think?

Make sense, I'll add more tests.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/27942#discussion_r2456869594


More information about the hotspot-compiler-dev mailing list