On Mon, 8 Dec 2025 05:56:16 GMT, Eric Fang <[email protected]> wrote:

>> No, the starting value is `-1`, this test depends on the fact that we choose 
>> the correct identity value for this particular operation as the starting 
>> value, which this issue is about. As a result, it would be better to write 
>> the test so that we do not depend on the identity value.
>> 
>>         byte res = a[idx];
>>         for (int i = idx + 1; i < (idx + SPECIES.length()); i++) {
>>             res = (byte) VectorMath.minUnsigned(res, a[i]);
>>         }
>
> Okay, I got your point. I think this might be to maintain consistency with 
> `UMINReduceMasked`; for the masked version, if no element is selected, it 
> returns the identity value. I'm okay with both approaches, maybe let’s hear 
> what @PaulSandoz  thinks.

For masking we need to start with the identity or otherwise use the identify 
when no mask bits are set. It would be better to declare as constants and refer 
to them e.g., `UMAX_VALUE`, `UMIN_VALUE`. There are also other cases where we 
use identity values for reduction and they follow the same pattern of 
declaration and use.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/28692#discussion_r2600503579

Reply via email to