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
