[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 8/9] x86emul: support AVX-NE-CONVERT insns


  • To: Jan Beulich <jbeulich@xxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
  • Date: Thu, 6 Apr 2023 22:22:28 +0100
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=U60zMlzuDf1vv/6ILqjcYiN2syBoZzzYgyc4F3Axulk=; b=AYHHrkh/9LbOWWt7di+0XQA/o8MFLFvTS1PfiW9vdk2LlhFLVHBqaw74qYWf3maA75OP/xyWNCt7Qh8F6JhpIoudemsVmx7YIIH1lrYE1ualKJpvoJDTvpH2TgS9YgwWnCLR9En5mbE4MZq+XetAEFwjtNz3AbmNEKU5YizvaWpD1mHoIWvuNZcnZPqbjf7i4TU/ia5i7yyhAzEBsbqznPz/AJG7df5iv1z2l4cZzMyPVchoI0Zt0VvX03eBbmS6nSVnOuSxr9g85NvmHOBxH8wSvaMsUKVqstQbrRbjmpNDGEA8xtsacEn9hy8ifb9bF3TxzsXessI0xGoUQlA+cA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fHfH2mmXck/2QOKFmUJJzMhdrgvs2fiVXhJ+elNelkV7IFkEnZ1eVgxJ7NUlUl+MGzyFsmUQis/LyLji5lKE7Zj0pUbWn1JTK3C6AML+Bd6HNJkFpa+E+5Ynh1EZ8SLkEOxlVV72HyZyV76s2WvDMOvpVExTDEBg9GtuGP0aP3LCad3qA8fPWNGmBwgSByzYxW5pb6CORN4ItvmqRVA9sAbwKYzurcWYBnJZanCt9H4DkBTbXW9JxME4GerKZ++Pv3tmVat82jHW8nZudKQvl9EoaXYADoBa3QRt3AxQeh45Wvf6zzOAko0jQ4KGAgE9LlSyLulejD85wL7nyDSn6w==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
  • Cc: Wei Liu <wl@xxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>
  • Delivery-date: Thu, 06 Apr 2023 21:23:04 +0000
  • Ironport-data: A9a23:42erWapDzMKCcCZx7HsZe6ThSbFeBmI6ZBIvgKrLsJaIsI4StFCzt garIBnTOvqPZzf9KY8gPty39x5Tv8PQztdqSFM5/Hg0FCxA85uZCYyVIHmrMnLJJKUvbq7FA +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpA1c/Ek/NsDo788YhmIlknNOlNA2Ev NL2sqX3NUSsnjV5KQr40YrawP9UlKm06WNwUmAWP6gR5weCzydNVvrzGInqR5fGatgMdgKFb 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay RAXABQxTjXcmeet+oCiSrdVgJw5M9voGLpK7xmMzRmBZRonabbqZv2QoOR+hXI3jM0IGuvCb c0EbzYpdA7HfxBEJlYQDtQ5gfusgX78NTZfrTp5p4JuuzSVkFM3jeerbIG9lt+iHK25mm6xo G7c8nu/KRYdLNGFkhKO8262h/+JliT+MG4XPOTgqqMx3wPMmAT/DjUcTmGE+8n+i3SgdNN9F GAZ6jYOtYoboRnDot7VGkfQTGS/lhwWVsdUEuY6wBqQ0aeS6AGcbkAUQzgEZNE4ucseQT0xy kTPj97vHSZosrCeVTSa7Lj8hSy2ETgYKykFfyBscOcey9zqoYV2lRSWSN9mSPSxloetRWq2x C2Wpi8jgblVldQMy6iw4VHAhXSru4TNSQk2oA7QWwpJ8z9EWWJsXKTwgXCz0BqKBN/xooWp1 JTcp/Wj0Q==
  • Ironport-hdrordr: A9a23:3a4AaqpdV2VVisR+cYlvJRAaV5rveYIsimQD101hICG9Evb0qy nOpoV/6faQslwssR4b9uxoVJPvfZq+z+8W3WByB9eftWDd0QPFEGgL1+DfKlbbak7DH4BmtJ uJc8JFeafN5VoRt7eG3OFveexQvOVu88qT9JjjJ28Gd3APV0n5hT0JcjpyFCdNNW57LKt8Lr WwzOxdqQGtfHwGB/7LfUXsD4D41rv2fIuNW29+OyIa
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 04/04/2023 3:54 pm, Jan Beulich wrote:
> Matching what was done earlier, explicit tests are added only for
> irregular insn / memory access patterns.
>
> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>

Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, with two minor
requests.

> --- a/tools/misc/xen-cpuid.c
> +++ b/tools/misc/xen-cpuid.c
> @@ -214,7 +214,7 @@ static const char *const str_7c1[32] =
>  
>  static const char *const str_7d1[32] =
>  {
> -    [ 4] = "avx-vnni-int8",
> +    [ 4] = "avx-vnni-int8", [ 5] = "avx-ne-convert",

I'd leave a bit more horizontal space.  These names are getting rather
long, and we're only 10% into this word.

> --- a/xen/arch/x86/x86_emulate/x86_emulate.c
> +++ b/xen/arch/x86/x86_emulate/x86_emulate.c
> @@ -6208,6 +6208,19 @@ x86_emulate(
>          host_and_vcpu_must_have(avx512_vbmi2);
>          goto avx512f_no_sae;
>  
> +    case X86EMUL_OPC_VEX   (0x0f38, 0xb0): /* vcvtneoph2ps mem,[xy]mm */
> +    case X86EMUL_OPC_VEX_66(0x0f38, 0xb0): /* vcvtneeph2ps mem,[xy]mm */
> +    case X86EMUL_OPC_VEX_F3(0x0f38, 0xb0): /* vcvtneebf162ps mem,[xy]mm */
> +    case X86EMUL_OPC_VEX_F2(0x0f38, 0xb0): /* vcvtneobf162ps mem,[xy]mm */
> +        generate_exception_if(ea.type != OP_MEM, EXC_UD);
> +        /* fall through */

Only just occurred to me, but we should probably be using fallthrough;
in new code, now there's a real attribute to use.

~Andrew



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.