VectorOperators.ZOMO is specified as integral-only and is marked with VO_NOFP.
However, its special-case handling implementation in Float16Vector,
FloatVector, and DoubleVector ran before the normal opCode(op) validation,
allowing floating-point vectors to execute this unsupported operator.
This change
(1) updates the ZOMO special-case fallback to integral vectors in
X-Vector.java.template and regenerates the affected floating-point vector
classes. Floating-point ZOMO operations now reach the normal compatibility
validation and throw UnsupportedOperationException, as specified.
Integral-vector behavior is unchanged.
` X-Vector.java.template`
(2) adds a set of -ve test coverage for Vector.lanewise operations
(JDK-8389731) as the unit.
Unit-Lanewise-Unsupported.template
gen-template.sh
AbstractVectorTest.java
---------
- [x] I confirm that I make this contribution in accordance with the [OpenJDK
Interim AI Policy](https://openjdk.org/legal/ai).
-------------
Commit messages:
- add -ve test for Vector.lanewise
- 8389844: VectorAPI: VectorOperators.ZOMO specifies "Integral only",
inconsistency between spec vs impl
Changes: https://git.openjdk.org/jdk/pull/32498/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=32498&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8389844
Stats: 2115 lines in 42 files changed: 2055 ins; 22 del; 38 mod
Patch: https://git.openjdk.org/jdk/pull/32498.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/32498/head:pull/32498
PR: https://git.openjdk.org/jdk/pull/32498