Hi All, 

COMPRESS_BITS and EXPAND_BITS advertise compatibility with all integral lane 
types, but ByteVector/ShortVector had no implementation and threw 
UnsupportedOperationException.

This patch extends COMPRESS_BITS and EXPAND_BITS to the sub-word integral types 
byte and short, covering all integral types.

The changes encompass:
- Java-side fallback handling for ByteVector and ShortVector.
- Inline expander side changes.
- C2/VectorSupport type plumbing for T_BYTE/T_SHORT.
- Classifying CompressBits/ExpandBits as non-truncating in SuperWord so subword 
stores of Integer.compress do not crash debug builds.
- Extending Vector API jtreg tests to cover byte and short COMPRESS_BITS and 
EXPAND_BITS. 

Please review and share your feedback.

Best Regards,
Jatin

---------
- [x] I confirm that I make this contribution in accordance with the [OpenJDK 
Interim AI Policy](https://openjdk.org/legal/ai).

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

Commit messages:
 - 8392465: [Vector API] VectorOperators.Operator::compatibleWith gives 
incorrect results for COMPRESS_BITS and EXPAND_BITS

Changes: https://git.openjdk.org/jdk/pull/33050/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=33050&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8392465
  Stats: 855 lines in 20 files changed: 842 ins; 4 del; 9 mod
  Patch: https://git.openjdk.org/jdk/pull/33050.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/33050/head:pull/33050

PR: https://git.openjdk.org/jdk/pull/33050

Reply via email to