On Wed, 7 Jan 2026 09:03:03 GMT, Jatin Bhateja <[email protected]> wrote:

>> test/jdk/jdk/incubator/vector/Float16Vector64Tests.java line 1893:
>> 
>>> 1891:         VectorMask<Float16> m = three.compare(VectorOperators.LE, 
>>> higher);
>>> 1892:         assert(m.allTrue());
>>> 1893:         m = higher.min((short)-1).test(VectorOperators.IS_NEGATIVE);
>> 
>> I find that `higher.min((short)-1)` produces a float16 vector of 4 NaNs. So 
>> are we testing for negative NaNs with `VectorOperators.IS_NEGATIVE`? Is it 
>> more reasonable to test `VectorOperators.IS_NAN` instead?
>
> Thanks for catching this, all the Float16Vector lanes and short argument 
> passed to shorthand APIs are assumed to be encoded in IEEE 754 binary 16 
> format,  we should be passing Float16 bit representation of -1 here.

Thanks for confirming this. And I see similar occurrences in Float / Double 
varients of the tests.
Maybe we should fix them as well?


test/jdk/jdk/incubator/vector/FloatVector256Tests.java
test/jdk/jdk/incubator/vector/FloatVector128Tests.java
test/jdk/jdk/incubator/vector/FloatVector64Tests.java
test/jdk/jdk/incubator/vector/FloatVector512Tests.java
test/jdk/jdk/incubator/vector/FloatVectorMaxTests.java

test/jdk/jdk/incubator/vector/DoubleVector128Tests.java
test/jdk/jdk/incubator/vector/DoubleVector64Tests.java
test/jdk/jdk/incubator/vector/DoubleVector256Tests.java
test/jdk/jdk/incubator/vector/DoubleVector512Tests.java
test/jdk/jdk/incubator/vector/DoubleVectorMaxTests.java

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

PR Review Comment: https://git.openjdk.org/jdk/pull/28002#discussion_r2685722818

Reply via email to