On 25/09/2018 14:35, Jan Beulich wrote:
> @@ -7979,6 +7991,42 @@ x86_emulate(
>          dst.type = OP_NONE;
>          break;
>  
> +    case X86EMUL_OPC_EVEX_66(0x0f38, 0x18): /* vbroadcastss 
> xmm/m32,[xyz]mm{k} */
> +        generate_exception_if(evex.w || evex.br, EXC_UD);
> +    avx512_broadcast:
> +        /*
> +         * For the respective code below the main switch() to work we need to
> +         * fold op_mask here: A source element gets read whenever any of its
> +         * respective destination elements' mask bits is set.
> +         */
> +        if ( fault_suppression )
> +        {
> +            n = 1 << ((b & 3) - evex.w);
> +            ASSERT(op_bytes == n * elem_bytes);
> +            for ( i = n; i < (16 << evex.lr) / elem_bytes; i += n )

As before, we should have a release-build safe check of elem_bytes.

~Andrew

_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to