On 28/02/18 12:58, Jan Beulich wrote: You're missing a SoB on this version of the patch, but assuming that gets fixed, Acked-by: Andrew Cooper <andrew.coop...@citrix.com>
> --- a/xen/arch/x86/x86_emulate/x86_emulate.c > +++ b/xen/arch/x86/x86_emulate/x86_emulate.c > @@ -7306,6 +7325,11 @@ x86_emulate( > op_bytes = 8 << vex.l; > goto simd_0f_ymm; > > + case X86EMUL_OPC_VEX_66(0x0f38, 0x16): /* vpermps ymm/m256,ymm,ymm */ > + case X86EMUL_OPC_VEX_66(0x0f38, 0x36): /* vpermd ymm/m256,ymm,ymm */ It seems especially odd that these don't cope with vex.l or vex.w. I can only guess that it down to a limitation in the vector pipeline which wasn't resolved until AVX-512 was introduced. ~Andrew > + generate_exception_if(!vex.l || vex.w, EXC_UD); > + goto simd_0f_avx2; > + > case X86EMUL_OPC_VEX_66(0x0f38, 0x20): /* vpmovsxbw xmm/mem,{x,y}mm */ > case X86EMUL_OPC_VEX_66(0x0f38, 0x21): /* vpmovsxbd xmm/mem,{x,y}mm */ > case X86EMUL_OPC_VEX_66(0x0f38, 0x22): /* vpmovsxbq xmm/mem,{x,y}mm */ > _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel