RFR (S): 8151002: Make Assembler methods vextract and vinsert match actual instructions
Mikael Vidstedt
mikael.vidstedt at oracle.com
Wed Mar 2 00:25:37 UTC 2016
Please review the following change which updates the various vextract*
and vinsert* methods in assembler_x86 & macroAssembler_x86 to better
match the real HW instructions, which also has the benefit of providing
the full functionality/flexibility of the instructions where earlier
only some specific modes were supported. Put differently, with this
change it's much easier to correlate the methods to the Intel manual and
understand what they actually do.
Specifically, the vinsert* family of instructions take three registers
and an immediate which decide how the bits should be shuffled around,
but without this change the method only allowed two of the registers to
be specified, and the immediate was hard-coded to 0x01.
Bug: https://bugs.openjdk.java.net/browse/JDK-8151002
Webrev: http://cr.openjdk.java.net/~mikael/webrevs/8151002/webrev.00/webrev/
Special thanks to Mike Berg for helping discuss, co-develop, and test
the change!
Cheers,
Mikael
More information about the hotspot-compiler-dev
mailing list