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

Reply via email to