| Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
|---|---|---|---|---|---|---|
| JDK-8375491 | 26-pool | Eric Fang | P3 | Closed | Won't Fix | |
| JDK-8375368 | 25-pool | Eric Fang | P3 | Closed | Won't Fix |
used incorrect identity values in the Java fallback implementation
and test code.
Problem:
--------
UMIN was using MAX_OR_INF (signed maximum value) as the identity:
- Byte.MAX_VALUE (127) instead of max unsigned byte (255)
- Short.MAX_VALUE (32767) instead of max unsigned short (65535)
- Integer.MAX_VALUE instead of max unsigned int (-1)
- Long.MAX_VALUE instead of max unsigned long (-1)
UMAX was using MIN_OR_INF (signed minimum value) as the identity:
- Byte.MIN_VALUE (-128) instead of 0
- Short.MIN_VALUE (-32768) instead of 0
- Integer.MIN_VALUE instead of 0
- Long.MIN_VALUE instead of 0
This caused incorrect result. For example:
UMAX([42,42,...,42]) returned 128 instead of 42
- backported by
-
JDK-8375368 [VectorAPI] Fix incorrect identity values in UMIN/UMAX reductions
-
- Closed
-
-
JDK-8375491 [VectorAPI] Fix incorrect identity values in UMIN/UMAX reductions
-
- Closed
-
- caused by
-
JDK-8346174 UMAX/UMIN are missing from XXXVector::reductionOperations
-
- Resolved
-
- duplicates
-
JDK-8358767 [vectorapi] UMIN and UMAX reduction have incorrect identity value
-
- Closed
-
-
JDK-8373234 [vectorapi] UMIN and UMAX reduction have incorrect identity value
-
- Closed
-
- links to
-
Commit(master)
openjdk/jdk/56d7b524
-
Review(jdk26)
openjdk/jdk/29262
-
Review(master)
openjdk/jdk25u-dev/150
-
Review(master)
openjdk/jdk/28692