RFR: 8354242: VectorAPI: combine vector not operation with compare [v8]

erifan duke at openjdk.org
Wed Jun 11 08:56:40 UTC 2025


On Wed, 11 Jun 2025 08:30:51 GMT, Emanuel Peter <epeter at openjdk.org> wrote:

>>> You are checking IRNode.XOR_VL, "= 0". But you are comparing floats. Does that make sense?
>> 
>> The bottom types of `float` and `double` vector masks are casted to `int` and `long`. Seems this is by design? So this is correct.
>> 
>> As for `control test`, yes for now I didn't add any such kind of test, because I personally think it's unnecessary. For specific code, it won't trigger this optimization now, but new optimizations in the future may cause this test to fail.
>> 
>> Anyway I've tested the case where `vectormaskcmp` is multi used locally, and this optimization won't be triggered. 
>> 
>> Do you think it's necessary to add such a control test?
>
>> > You are checking IRNode.XOR_VL, "= 0". But you are comparing floats. Does that make sense?
> 
>> The bottom types of float and double vector masks are casted to int and long. Seems this is by design? So this is correct.
> 
> This is a `float` test. What is the bottom type for the mask here?

Oh, this is a stupid copy-paste mistake. Good catch, thanks! I'll double check them all.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/24674#discussion_r2139582391


More information about the core-libs-dev mailing list