JDK-8194256 updated the assembly logic, but forgot to update codegen part. Without
JDK-8194256, the original assembler does not encode shift imm correctly as common sense, it required users (E.g. codegen) to encode the imm first and then feed to assembler to generate the correct shift imm encoding.
JDK-8194256 updated the assembler implementation to hide the whole shift encoding inside assembler, but it forgot to update the codegen, which uses old assembly logic. Without codegen update, hotspot jtreg tests [1] failed.
Attached simple patch should fix those failures.
[1] Failed tests:
compiler/c2/cr6340864/TestByteVect.java
compiler/c2/cr6340864/TestIntVect.java
compiler/c2/cr6340864/TestLongVect.java
compiler/c2/cr6340864/TestShortVect.java
compiler/codegen/Test6896617.java