RFR: 8370481: C2 SuperWord: Long/Integer.compareUnsigned return wrong value in SLP [v5]
    Hamlin Li 
    mli at openjdk.org
       
    Thu Oct 23 19:42:24 UTC 2025
    
    
  
On Thu, 23 Oct 2025 19:15:34 GMT, Hamlin Li <mli at openjdk.org> wrote:
>> 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.
Added tests to cover UI{GE|LT|LE}forF and UL{GE|LT|LE}forD.
Other tests for example UI{GE|LT|LE}forD UL{GE|LT|LE}forF could be added when I work on https://github.com/openjdk/jdk/pull/25336 or https://github.com/openjdk/jdk/pull/25341, as currently they are not vectorized.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/27942#discussion_r2456977884
    
    
More information about the hotspot-compiler-dev
mailing list