RFR 8167067: SHA Encoding Fix

Vladimir Kozlov vladimir.kozlov at oracle.com
Wed Oct 5 02:06:01 UTC 2016


Hi Razvan,

So only REX can be used? What about EVEX?

I would suggest to use rex_prefix_and_encode() here - we don't generate 
0F_3A opcodes directly:

int encode = prefix_and_encode(dst->encoding(), src->encoding(), 0, 
VEX_OPCODE_0F_3A, /* rex_w */ false);

Thanks,
Vladimir

On 10/4/16 6:04 PM, Lupusoru, Razvan A wrote:
> Hello,
>
>
>
> We have recently uncovered an encoding bug with the SHA x86 instructions
> - their encoding should not contain VEX prefix when AVX is enabled. The
> error manifests as crash due to SIGILL. Thus, we have filed a bug and
> prepared a solution.
>
>
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8167067
>
> Webrev: http://cr.openjdk.java.net/~mcberg/8167067/webrev.01/
>
>
>
> Can you please review and help get it integrated? Let me know if there
> is anything I need to do to facilitate this.
>
>
>
> Thanks so much,
>
> Razvan
>
>
>


More information about the hotspot-compiler-dev mailing list