From patchwork Fri Feb 11 11:09:03 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 12743210 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 46F6CC433EF for ; Fri, 11 Feb 2022 11:09:23 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.270359.464620 (Exim 4.92) (envelope-from ) id 1nITnb-0007DZ-6e; Fri, 11 Feb 2022 11:09:11 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 270359.464620; Fri, 11 Feb 2022 11:09:11 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1nITnb-0007DS-3a; Fri, 11 Feb 2022 11:09:11 +0000 Received: by outflank-mailman (input) for mailman id 270359; Fri, 11 Feb 2022 11:09:10 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1nITna-0007DM-DU for xen-devel@lists.xenproject.org; Fri, 11 Feb 2022 11:09:10 +0000 Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.111.102]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 08e87df1-8b2b-11ec-8eb8-a37418f5ba1a; Fri, 11 Feb 2022 12:09:09 +0100 (CET) Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01lp2051.outbound.protection.outlook.com [104.47.2.51]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-10-av687yQ9OHmWzqIhyCzKOg-1; Fri, 11 Feb 2022 12:09:08 +0100 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by AM9PR04MB8290.eurprd04.prod.outlook.com (2603:10a6:20b:3e3::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.19; Fri, 11 Feb 2022 11:09:07 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::d479:b728:345c:bd65]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::d479:b728:345c:bd65%5]) with mapi id 15.20.4975.015; Fri, 11 Feb 2022 11:09:06 +0000 X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 08e87df1-8b2b-11ec-8eb8-a37418f5ba1a DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1644577749; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vle0Ii9zLD/mplP4nqUmRUtRDq+Ksr5YXBw/LJA402c=; b=g3J8i4RCcLUrQti+O9pSmucRjsnRk/XqJbILZLMsZJW9JI8XXZ53533OwaZmAz7iyDe9Iy esu1p7Tv/7BViDI+ZW2H6ff64R/Zb4y6OA017M3aWfP3Gq64mQmxuFbbnWsLXQ4XDpkQBg U35Z5F2Y/fHyNk3X3LqoFWI5ra0JYIk= X-MC-Unique: av687yQ9OHmWzqIhyCzKOg-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=k0881IkRPU9aYIcVnH6EiY50VIb/f4rW/QWoRZmMzp1uOELhYHbVKVQptdED9nv7RQnwA5UqnYqSGyNrUZ2kQ8P/3WRs1Gy1+XHkphGhkXkViPLgcG2QdSHBXvinIUAjRnLe/G1zqFdwa3sylA1IV7UbWERQ1ICLXekladAWux9+zeUCqotGG7fjPn/7EiCsaffasXgizr5AbE287sFaYN3HHX0VH/+hpejSLAg4Cz1amq4HVVPZiI9oSo6eaQ6t/8qIaTsdIOoYUTKjQb4TlR66Sis4M6+ovSe6PEaUaum5GWz+PUX9IZwmBqIx37C6nhwl760TRhf5gsHN4BU+0g== 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=vle0Ii9zLD/mplP4nqUmRUtRDq+Ksr5YXBw/LJA402c=; b=MhxObvdoQHngComXdIr7k385Xz0UZkllJD/OR3qIfGst5JmNxdc66OblwQmmogIS9MGauPPlvCVUYMqVNrY/ePKqlleFmGPnkikyJNKS2tWsT1UgQV93swX4xR0RkAy9dB+uL+uSJK3u4i4j/43MezoiZpp8fwkOONSS27Fo/pPKPs7hyaQ3TwMNQ04LIXinqWxgzIBq76oOVwy6NARMtrnV+hhHITuf74E1rou4nH4RKOAnUEs+dpKpSUOF8Ibng9iA2ZRxLbGER4+yxKxGCKQ3zVE9BjsMo7opaVcIP8fcfnrXLnf/iAczJYIFQpapo79zdOmnOH/SgUr1iwcc7w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Message-ID: <0d06eaa2-a9b4-5791-e26e-31db0a954827@suse.com> Date: Fri, 11 Feb 2022 12:09:03 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.6.0 Content-Language: en-US To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?utf-8?q?Roger_Pau_Monn=C3=A9?= From: Jan Beulich Subject: [PATCH] x86emul: fix VPBLENDMW with mask and memory operand X-ClientProxiedBy: AS9PR07CA0001.eurprd07.prod.outlook.com (2603:10a6:20b:46c::11) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a7449490-e15e-4804-73e9-08d9ed4eebb2 X-MS-TrafficTypeDiagnostic: AM9PR04MB8290:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:6790; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: lLCvqgyE0umFVQmHFiN8XKSEiW0610DN7+Id8ndDXL2M3l3rOmWj6vKZP+nksQ4lSuSJNvah9/PUppvLR87XS0AGu6LCNE5/nq1mMwhwh7rb3FyFiLslRTcMIyhaiewt48oDPN70tGR/Q/Zx4W4jM4DVTZL+tx7SOLGSwEUZMNseZACpIy047gHoCFWNm626UFs2hCwjGHUU0T3rErSGkqQKXQAVEVb5evV+uMxzYzF8Aca1Prb5wssJBTs0UNAdVCJodUxj+E4SDWsykO14eg9ahmrqFX9GQf+9SIVKiwJrOXKJgIz+tILLuuNwxL96YhU7T8yHL+iVrlBTh86eDX0EYhksY+7Nlsc8fIdCg+gVVpNz+T+pSRMaqnfwP++hp8by9Ivz5aP3/EK6S4qnp3Gbq3GSptNWbrQuCNA4jSMl6IHZHBpSYe/r5dNw/DZImHNJEXkAVDXyhKWAXDcd+I8daWVfjSnpfYMRYgl9THzRfaHtsQFZeHeJaze+dBMc+PeUi/DSYHGoz5jtbAxm3LTvTlc9ImPlnB9GqQCIUaQIIXTx7WC1T7YOXMHZ8DG3O1FEBx4l0R1/hju9rHdTgcGsZq9tgl1vIjwDeUajDxLSHLPnnKTZmYBznfLKXdfRzRg0nR1gNbBEw8jWoTTKwKtEx5eRLraN4ROGrcXuW2XaDphfkpFI05yvIyUaHrNBCoWef2OSsXkkUt9lC9SeWBheoTxQQpYf0gBm9laKCI5ETgD1jgxeD4mBUqKZV2pY X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(2906002)(36756003)(508600001)(31686004)(4326008)(6666004)(66556008)(6506007)(31696002)(8676002)(66476007)(6486002)(6512007)(66946007)(26005)(2616005)(186003)(86362001)(54906003)(38100700002)(5660300002)(8936002)(6916009)(316002)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?lbdpoFiNHw8NXyOFqn33xcklLpSC?= =?utf-8?q?+fpuUnnaupbov2vcDjDcZG32lIvzYB0tu/nWVt9TUO7n9X7k8bel5YrItLTt5Pl9c?= =?utf-8?q?fv90r3Q7pwGnpHKGscn02kOlJOKGr4LIVJhqyt5ZzTYJg03lsMyaHd7Ua86XoozH6?= =?utf-8?q?PT5PpU1cgR16Hstu2gFa3LZtA1tmvkXDxq3mNsEyVOO9xMuCCdcwpIQY0QwWNNyXS?= =?utf-8?q?CMcyxe/jIw1k3Cj7+8qGW5LH9MoRY6HOHNp2dxeBEz4VsuQNV1ndzOTK7mWjwYUhU?= =?utf-8?q?qGpGZkbXpJNnezMxNm2fdbJb8xa61ZeQmeygBs7snf8AoWVdk6MEehD0Blqf2CohK?= =?utf-8?q?TfGSDghxyksDJZ/iYC3ixEzJ16wnwvSWXtJ+swOvxxx7ctmXcW1kmums5BuFyXvXr?= =?utf-8?q?HNHDKj35yKSuqH6Vtf866rzdllAYG/jT3CWbIKwkIVig5WJ7+ypxfX+aDwBx/zlZy?= =?utf-8?q?bflZyVN8QkkGJjYxX6FJ8XMya1n42LdB9WVqYgXzzQGeqF/zzJBvE2tdDsvR+FXuZ?= =?utf-8?q?l6Vas39F/IOGgrvat/i6S2bl3Ipi/crQPaNTtqVVjfcrWSv2WMPFPcvgo3OZezxR2?= =?utf-8?q?r3duC//TVpfxYyAZIwg0ulgrIAoKBQuniL0fh1G/YqrqGf/xRt2G+GMRlIdadSbYY?= =?utf-8?q?HgQJ3UD+Jk6LoTlN2bx4Gd55ib3IY+yzQKFki0y2NviVk4ROlZVoZ574B1p6qP3Vc?= =?utf-8?q?Nm728rXod/wcZtRtmQMABXQilyk2S/G9ArkglrWpq+h0VR7ZKGA3myRQYMbYsFGvi?= =?utf-8?q?gTutRX+fbc1nx2o3lMgV1NKYzI++uS8W7JwfsLAM7a/wgf0NHPSLCPekSKuraKsLl?= =?utf-8?q?kdY4dorS+7aXEgIYp7mCa43eJ/KVy2lkwCCs1O88QBN0lvkPMvEno0uwgN8zNJLUc?= =?utf-8?q?zS38p1AZn8UeJchLkYVNIigVqGRPpwjH6CYK7lsBsj3sRQ6cPOz2cxubq3oR2JomO?= =?utf-8?q?bLpDB3STyjw8JbzUqQE0Ewubo8pKpye9gIUY/Hc3F//TZkokXAia7MVQU8KuoshZF?= =?utf-8?q?s/DXc9Ph9cujU1g6L6t7TsD+Xmw/l14txndLTRNkTdHTjjqfDxDS1tZu70QCDHLtF?= =?utf-8?q?EhMZPUXE5DdI5cxCeb/yMY3masRwe2GqAgLmr3e3bT/bbvwhKSPq/L4ENDiHYOJi5?= =?utf-8?q?FtnEy40SCIVjKpLHpPBSrggfeLh5KWIuU0WsL6WROlSsUfDsFhE4rkX5NUsEpgDrM?= =?utf-8?q?gQT+psoGisR/faNbADf1ZqBrW37V2/uiIGVqR883E9rh1AuKfSArJpWQ41dZ9N23k?= =?utf-8?q?BzRgalP3ps9J3duaCuaPw5PXSorztSegyDeJeW03X15aVr7LPuGhn2nWF82yeELpK?= =?utf-8?q?MhndWInEQyafv7R2xxcjRQgBIi043BnZ/KpZ9MBb8TRjikElus3PLHGG6500qkq6P?= =?utf-8?q?wzTFxIH+xqKw7u0/rel+X6bdRvg+A2IxoS4p4B75A5zuiSW5rQt3KVEX2gFiyt5Wl?= =?utf-8?q?NVKh9eapOpSviKtGu3mEWUBnbSfk6pDzpbqMkRheWQdk7cD1jljH+YOfSnu5xhc3r?= =?utf-8?q?lE/MEjQ/Kv/h6IlVF4oecg+4Ic6KCGvdoN0/v9ZElpnJ7ObXPJxHss8=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: a7449490-e15e-4804-73e9-08d9ed4eebb2 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Feb 2022 11:09:06.8146 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: LEtRcKw3pXU9XezuIUKQRGrg8g4Oz9z3brlejLcUL+0/pz0TPvpWhJGAjl5uq6/MVmD3qdl/l/iUtaJz1zathA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8290 Element size for this opcode depends on EVEX.W, not the low opcode bit. Make use of AVX512BW being a prereq to AVX512_BITALG and move the case label there, adding an AVX512BW feature check. Signed-off-by: Jan Beulich Reviewed-by: Andrew Cooper --- a/xen/arch/x86/x86_emulate/x86_emulate.c +++ b/xen/arch/x86/x86_emulate/x86_emulate.c @@ -7401,7 +7401,6 @@ x86_emulate( case X86EMUL_OPC_EVEX_66(0x0f38, 0x0b): /* vpmulhrsw [xyz]mm/mem,[xyz]mm,[xyz]mm{k} */ case X86EMUL_OPC_EVEX_66(0x0f38, 0x1c): /* vpabsb [xyz]mm/mem,[xyz]mm{k} */ case X86EMUL_OPC_EVEX_66(0x0f38, 0x1d): /* vpabsw [xyz]mm/mem,[xyz]mm{k} */ - case X86EMUL_OPC_EVEX_66(0x0f38, 0x66): /* vpblendm{b,w} [xyz]mm/mem,[xyz]mm,[xyz]mm{k} */ host_and_vcpu_must_have(avx512bw); generate_exception_if(evex.brs, EXC_UD); elem_bytes = 1 << (b & 1); @@ -9558,6 +9557,9 @@ x86_emulate( /* fall through */ case X86EMUL_OPC_EVEX_66(0x0f38, 0x54): /* vpopcnt{b,w} [xyz]mm/mem,[xyz]mm{k} */ host_and_vcpu_must_have(avx512_bitalg); + /* fall through */ + case X86EMUL_OPC_EVEX_66(0x0f38, 0x66): /* vpblendm{b,w} [xyz]mm/mem,[xyz]mm,[xyz]mm{k} */ + host_and_vcpu_must_have(avx512bw); generate_exception_if(evex.brs, EXC_UD); elem_bytes = 1 << evex.w; goto avx512f_no_sae;