See conversation here:
https://github.com/openjdk/jdk/pull/29130/files#r2697519994
It is about vectorizing operations like Byte.toUnsignedInt
We may have to change some code here:
SuperWord::is_velt_basic_type_compatible_use_def
Example:
./java -XX:CompileCommand=compileonly,Test::test -XX:CompileCommand=printcompilation,Test::test -Xbatch -XX:+TraceSuperWord Test.java
We find LoadUB and StoreI packs, but they are directly connected without any cast, so the cast is implicit here. But we can probably just insert the cast somehow during auto vectorization.
https://github.com/openjdk/jdk/pull/29130/files#r2697519994
It is about vectorizing operations like Byte.toUnsignedInt
We may have to change some code here:
SuperWord::is_velt_basic_type_compatible_use_def
Example:
./java -XX:CompileCommand=compileonly,Test::test -XX:CompileCommand=printcompilation,Test::test -Xbatch -XX:+TraceSuperWord Test.java
We find LoadUB and StoreI packs, but they are directly connected without any cast, so the cast is implicit here. But we can probably just insert the cast somehow during auto vectorization.