From patchwork Fri Sep 15 08:48:42 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 76107 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 879973856090 for ; Fri, 15 Sep 2023 08:49:51 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 879973856090 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1694767791; bh=A1jFMW3M2qvOBBoe3qsBCGuqg2GrDSGur13ki+iGT0s=; h=Date:Subject:To:Cc:References:In-Reply-To:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=fWLI2vh7MGGZCtkbzQyRifiLvtjybR1pEAnw4qpVM6QCcfH+ZdWSaeJwIwMuAuXX6 z72PpbrtOvZU6KdP//ifkWkBbkNScwu/6FO/Mq/2RZrJQuiFM9c0bv+Fcf7/SE4f6k yIdeTBYZZhFijzJ9kwPeMA6gs8D/3ioHfdhEhqjs= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2045.outbound.protection.outlook.com [40.107.7.45]) by sourceware.org (Postfix) with ESMTPS id 157AF3856243 for ; Fri, 15 Sep 2023 08:48:47 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 157AF3856243 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Dw/LBjdNc35/0Fnav6PT8aArmFxgoWaXq1DqxQqy8I+YsDW90wPJgJ+PY0aeJzJ3kaRdMLeFjhQv2wLwshPjhEoInm6wxCUu8ZrcIaBucy6oxs6sxK6AMUHSpKWKup8TOO7diQgu5edeUbFe+w2T1KWcGCDgCsCanm7a4tNkYiQXr+6DXpslD7AAbFNGTaToR68W1xacmcGsilWnwYMu5uQ8yF64aMWrNY2Hfh3f7TTecPfosxTaaldD3w96227WtXC3Pu9dWTPUdmW/Ysfxp45A0Lyi89zn2FK+B8fJJPDi/s4vQJ4VAd9mlCrzCiF1qi5LmdoaXi3wnwTSpxOkfw== 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=A1jFMW3M2qvOBBoe3qsBCGuqg2GrDSGur13ki+iGT0s=; b=ZIfp6Yq4157Qrsu+oGNEsd/al2IyO9O5gA4DJJvWxjdZg7vweLdUOrcqLw+DX/81ZTJsecZ1vwO5a1ZP+hkZs9rYjuA9+7g6vTDstEMfoil3MOyTsjrj7ERcEscCqdX1Xaz5TZZvV9H5HztYJh0i7sJjJolkNQ9QngfLNV7igAmtRi1rzbhZn61Oxhh7Hqg72X1z+T5rg9OaHcu1YBRkgkfd5dJn10wTcw/8VOh6J8u9B1s4P2Csq9QVvjg0s/0+HdvEIpfzha+5E0FxE5lKKt+x1xqo0jdS01NsauuVEQtuY5KXKIWECBRFZ0ZI4JM91L8MCV/9QEmWNa6hPSfC6A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23) by DBAPR04MB7320.eurprd04.prod.outlook.com (2603:10a6:10:1a8::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.21; Fri, 15 Sep 2023 08:48:44 +0000 Received: from DU2PR04MB8790.eurprd04.prod.outlook.com ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com ([fe80::f749:b27f:2187:6654%6]) with mapi id 15.20.6792.020; Fri, 15 Sep 2023 08:48:44 +0000 Message-ID: <737ed0bc-7dc2-19e6-5138-8891f0c2fd15@suse.com> Date: Fri, 15 Sep 2023 10:48:42 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 Subject: [PATCH RFC 3/4] x86: fold FMA VEX and EVEX templates Content-Language: en-US To: Binutils Cc: "H.J. Lu" References: <0690c179-ac98-d127-5ff4-b5abb725b6ae@suse.com> In-Reply-To: <0690c179-ac98-d127-5ff4-b5abb725b6ae@suse.com> X-ClientProxiedBy: FR2P281CA0130.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:9e::11) To DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DBAPR04MB7320:EE_ X-MS-Office365-Filtering-Correlation-Id: dc1f78d2-0905-49ff-7609-08dbb5c8916a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: PlslWCYOty/M4+W1NDZoXgcI+K0aZ7eMWHHeGzfL1jgSdEWItX6pO4LL0cvP1sNykYwhM0TxX6ak+CGnEdLVq9itOSnu0TgZD9sP9pU815+++x1B4QSWRNknFncK81ojXD4MdHlSI0BJExJCACIzTfpcz/0dJW4yEhz+RKnmW4NPV7mdlY8ntL5MikoW+gXyZ43ZC8aygpFDXOPh3aasT/ypK1AG/irDOVoMFCMTTspJz6jIFnMJB0p8vWkVC7Nkynzpi4lSnx3r0YTFs8qvbghSpc9RZSg5aKp4Rt+AfaBCAELpuRQsCGXDUvmus3iBZfdc9BIurpPxiwCrjpiw+Pur5G8/rxR4a2NYsFSt37gRVm20jOLSuCfxaUsmSVkEvHKcVIBhEjl8vvMeGHxidKcpRJYNPbnhbvsmAhQfXZkdDymmztQN9AI1aJflhVf9YrcgXWv2B2/zEF3z4f8k3KsD7EraAy0r2AI8bpH+2xjuXj5TNhwHU0aPEAnrA7Y7RKbIbJWUIsd/rVBOUiKSUJDKt2YYHA6o+lsE2/HgV3ic0BkOBpYh+hGSJ9jn2/KyVh96wHbEZHXqZoV6XMh0DNbL63Db8+WH3PoPJq/8crjCvjTALEwAsngY3REWk3Yizt9sT+k6ZnL75poiPax9mQ== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DU2PR04MB8790.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(136003)(366004)(39860400002)(346002)(376002)(396003)(451199024)(1800799009)(186009)(6506007)(6486002)(36756003)(31696002)(86362001)(26005)(66946007)(6512007)(2906002)(66556008)(38100700002)(478600001)(2616005)(31686004)(5660300002)(66476007)(4326008)(316002)(6916009)(41300700001)(8936002)(8676002)(45980500001)(43740500002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?C9ul4AXOHVwEUC69vEvXtZ8ghCNZ?= =?utf-8?q?QL6pOOi7wVQN9P6I988nx2Jq0FNlVPKSueEFMoh4HEPVAiYGHvLwboP5hZ+iu3aZY?= =?utf-8?q?U/A1AVUMUpYvMFrNuKiGF29GwI7lMqzJB0BYPgPrxEGK8C8ej0d3B1lm8yG95rNqS?= =?utf-8?q?DjwSWzzWGE0B8TPJe4biPZGSpPmCJl88iyZnR0pfZ/sq9kYuNesLei1pnfsImKWM4?= =?utf-8?q?C6/MlzjjTWnzXLs2G7Tpd5Cg+cv7HF/bE6bUGtUrNS3w/6LIuJp6RyuCk3MG10dni?= =?utf-8?q?6ZQ9p3n3BC83bHxTeVMpKdL7DKR9M5LVatQoz/BgaFdRf27GRs/AaKLujlk4XTjzg?= =?utf-8?q?6alGpeBlK2C9+Xx9di8YJZ/ODz1TCvsNyIUhJY0VmQgV2l4Bh0+aIQvDNkp2kaVnZ?= =?utf-8?q?s0DQ0cWxHRPRA5bjcyh92GRVppf61OChF52c6WPfRb0YMbw7QpxugCg884JNdZxh/?= =?utf-8?q?JFU8HRhs/t1tK0kU9K1LQtp7l90dhfxBzV4o3cGk2Z7OzBT7ig6iuX+5ChlnIS3QW?= =?utf-8?q?rWuYAb5tziQ7IR+8U0NMfX2Gy7L5Q+lKiAp6pnpk3IR4+AX+WPy+LluWWMY8XzLpk?= =?utf-8?q?OkudG17QsyeUQYMHaLyW8LIRRaWJOIRfa3hnvvPQDIUKf/rnckHEvzhRqldimN+v7?= =?utf-8?q?U1F+hVtuboXakTN+5hjFB019ihhyWFA6+Qv+3FpMKlCCc8YcCEpiTH+Dy/3milUox?= =?utf-8?q?9EiilWvvRTgHFi+xtUEotoNiGXECxBQ/nGfymDlniXTqxbUZeVRvqbgWqgbf9ChET?= =?utf-8?q?zGqhdKpDtdQg5wMV6Z3gGwzoU/3ZPH9c2pFsH+wrgOkviNKbewoTsotnutvA2axqW?= =?utf-8?q?MQ7ZvJzZt0KQEnvY6LBORmujbP1oaYPsialG72KkHRv8SlIUsdF/pVstKYKGTeZXj?= =?utf-8?q?+yPw+QTS2h5Ys5aDPt8KwOX+DWVjVYsYTLLtb5hh2VXgtB7R/ibsw7dIVb7SY7z8W?= =?utf-8?q?1P7vHwbkczS302+4McoANNneYO6YvDRP3tRGHD7jxPejFxgiBj2eUhsxRY8Ruhl+X?= =?utf-8?q?hdRBF74V7/gq7PVxOWDqNPMIW+se4Qs7k5MONM7k1qS2TseqtuRuhv/4EF7dkr6Q3?= =?utf-8?q?bSAq/0l7JtfhygfjOAf/g7hGChw5uVPYifCgNZE4fo4jAZaE0xKuLY75T3wEg647W?= =?utf-8?q?6W8M2Ay7qLgfLtQEaED4LkSRsmQ6iPAHmeWt4n2FzA0VrXkYL5a4lIRzldxN1rqgj?= =?utf-8?q?YCPjDsHECV4h/5LaPqI2ecqOaNmx/9iu/lpgOdctikqfsqhR4R+G9aEebRl0Zy2Da?= =?utf-8?q?2933V1tDhlBEOzY/rnH8YgGchn2yAYnehdY4EWsUoJncXG5j7ZMvfnSjR7TGFsbxb?= =?utf-8?q?7wSPsC95KBU49zRdkkFhjEzy2R/mZhVco1A+hJOerwxVFto+GLJaILouxxN5+DjLM?= =?utf-8?q?evE4rvFa1I7uPlXTpoS8d83wEfVbRUJ6RkYkZARfIACeimAggoQ693ebqrT5eWCt3?= =?utf-8?q?Bjimqw3YxuicWe1FmA7za3QKDVeAwkc6qxP6QIOLF+otL0YBbkMiJLmilNV4GNuhz?= =?utf-8?q?VspJiflFIlGH?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: dc1f78d2-0905-49ff-7609-08dbb5c8916a X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Sep 2023 08:48:44.1976 (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: Sw/CgQBVMMSLQTvuMeKRIKsSQ3us5RcHHgcfBqIT4+wyySp2EW5/Wx2mT6mupmwd7hC9P3MKhTF84otqlI6q9w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7320 X-Spam-Status: No, score=-3026.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Jan Beulich via Binutils From: Jan Beulich Reply-To: Jan Beulich Errors-To: binutils-bounces+patchwork=sourceware.org@sourceware.org Sender: "Binutils" Following the folding of some generic AVX/AVX2 templates with their AVX512F counterpart ones, do this for FMA ones as well, requiring one further adjustment to cpu_flags_match(). Note that this has a perhaps unexpected effect, resulting from FMA not being listed as a prereq of AVX512F: With just the latter enabled, VEX-encodings can now be emitted (but still not 128- or 256-bit EVEX-encodings, where AVX512VL of course continues to be required). --- RFC: Considering earlier discussion, the mentioned side effect likely means we don't really want this change, despite the significant reduction of the number of templates. --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -1947,6 +1947,8 @@ cpu_flags_match (const insn_template *t) if ((need_evex_encoding () ? cpu.bitfield.cpuavx512f : cpu.bitfield.cpuavx) + && (!x.bitfield.cpufma || cpu.bitfield.cpufma + || cpu_arch_flags.bitfield.cpuavx512f) && (!x.bitfield.cpugfni || cpu.bitfield.cpugfni) && (!x.bitfield.cpuvaes || cpu.bitfield.cpuvaes) && (!x.bitfield.cpuvpclmulqdq || cpu.bitfield.cpuvpclmulqdq)) --- a/opcodes/i386-opc.tbl +++ b/opcodes/i386-opc.tbl @@ -1802,16 +1802,21 @@ vcvtps2ph, 0x661d, F16C, Modrm|Vex=2|Spa -vfmaddp, 0x6688 | 0x, FMA, Modrm|Vex|Space0F38|VexVVVV||CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } -vfmadds, 0x6689 | 0x, FMA, Modrm|VexLIG|Space0F38|VexVVVV||NoSuf, { |Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } -vfmaddsubp, 0x6686 | 0x, FMA, Modrm|Vex|Space0F38|VexVVVV||CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } -vfmsubp, 0x668a | 0x, FMA, Modrm|Vex|Space0F38|VexVVVV||CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } -vfmsubs, 0x668b | 0x, FMA, Modrm|VexLIG|Space0F38|VexVVVV||NoSuf, { |Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } -vfmsubaddp, 0x6687 | 0x, FMA, Modrm|Vex|Space0F38|VexVVVV||CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } -vfnmaddp, 0x668c | 0x, FMA, Modrm|Vex|Space0F38|VexVVVV||CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } -vfnmadds, 0x668d | 0x, FMA, Modrm|VexLIG|Space0F38|VexVVVV||NoSuf, { |Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } -vfnmsubp, 0x668e | 0x, FMA, Modrm|Vex|Space0F38|VexVVVV||CheckOperandSize|NoSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } -vfnmsubs, 0x668f | 0x, FMA, Modrm|VexLIG|Space0F38|VexVVVV||NoSuf, { |Unspecified|BaseIndex|RegXMM, RegXMM, RegXMM } + + +vfmaddp, 0x6688 | 0x, , Modrm||Masking||VexVVVV||Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|StaticRounding|SAE, { RegXMM|RegYMM|RegZMM||Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } +vfmadds, 0x6689 | 0x, , Modrm||Masking||VexVVVV||Disp8MemShift|NoSuf|StaticRounding|SAE, { RegXMM||Unspecified|BaseIndex, RegXMM, RegXMM } +vfmaddsubp, 0x6686 | 0x, , Modrm||Masking||VexVVVV||Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|StaticRounding|SAE, { RegXMM|RegYMM|RegZMM||Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } +vfmsubp, 0x668a | 0x, , Modrm||Masking||VexVVVV||Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|StaticRounding|SAE, { RegXMM|RegYMM|RegZMM||Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } +vfmsubs, 0x668b | 0x, , Modrm||Masking||VexVVVV||Disp8MemShift|NoSuf|StaticRounding|SAE, { RegXMM||Unspecified|BaseIndex, RegXMM, RegXMM } +vfmsubaddp, 0x6687 | 0x, , Modrm||Masking||VexVVVV||Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|StaticRounding|SAE, { RegXMM|RegYMM|RegZMM||Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } +vfnmaddp, 0x668c | 0x, , Modrm||Masking||VexVVVV||Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|StaticRounding|SAE, { RegXMM|RegYMM|RegZMM||Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } +vfnmadds, 0x668d | 0x, , Modrm||Masking||VexVVVV||Disp8MemShift|NoSuf|StaticRounding|SAE, { RegXMM||Unspecified|BaseIndex, RegXMM, RegXMM } +vfnmsubp, 0x668e | 0x, , Modrm||Masking||VexVVVV||Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|StaticRounding|SAE, { RegXMM|RegYMM|RegZMM||Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } +vfnmsubs, 0x668f | 0x, , Modrm||Masking||VexVVVV||Disp8MemShift|NoSuf|StaticRounding|SAE, { RegXMM||Unspecified|BaseIndex, RegXMM, RegXMM } // HLE prefixes @@ -2087,11 +2092,6 @@ vpclmulhqhqdq, 0x6644/0x11, VPCLMULQDQ|A // AVX512F instructions. - - // is used for EVEX instructions with x/y suffixes. , 0x27, vrndscalep, 0x08 | , , Modrm|Masking|Space0F3A||Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|SAE, { Imm8, RegXMM|RegYMM|RegZMM||Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } vrndscales, 0x0a | , , Modrm|EVexLIG|Masking|Space0F3A|VexVVVV||Disp8MemShift|NoSuf|SAE, { Imm8, RegXMM||Unspecified|BaseIndex, RegXMM, RegXMM } -vfmaddp, 0x6688 | 0x, , Modrm|Masking||VexVVVV||Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|StaticRounding|SAE, { RegXMM|RegYMM|RegZMM||Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } -vfmadds, 0x6689 | 0x, , Modrm|EVexLIG|Masking||VexVVVV||Disp8MemShift|NoSuf|StaticRounding|SAE, { RegXMM||Unspecified|BaseIndex, RegXMM, RegXMM } -vfmaddsubp, 0x6686 | 0x, , Modrm|Masking||VexVVVV||Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|StaticRounding|SAE, { RegXMM|RegYMM|RegZMM||Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } -vfmsubp, 0x668a | 0x, , Modrm|Masking||VexVVVV||Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|StaticRounding|SAE, { RegXMM|RegYMM|RegZMM||Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } -vfmsubs, 0x668b | 0x, , Modrm|EVexLIG|Masking||VexVVVV||Disp8MemShift|NoSuf|StaticRounding|SAE, { RegXMM||Unspecified|BaseIndex, RegXMM, RegXMM } -vfmsubaddp, 0x6687 | 0x, , Modrm|Masking||VexVVVV||Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|StaticRounding|SAE, { RegXMM|RegYMM|RegZMM||Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } -vfnmaddp, 0x668c | 0x, , Modrm|Masking||VexVVVV||Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|StaticRounding|SAE, { RegXMM|RegYMM|RegZMM||Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } -vfnmadds, 0x668d | 0x, , Modrm|EVexLIG|Masking||VexVVVV||Disp8MemShift|NoSuf|StaticRounding|SAE, { RegXMM||Unspecified|BaseIndex, RegXMM, RegXMM } -vfnmsubp, 0x668e | 0x, , Modrm|Masking||VexVVVV||Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|StaticRounding|SAE, { RegXMM|RegYMM|RegZMM||Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } -vfnmsubs, 0x668f | 0x, , Modrm|EVexLIG|Masking||VexVVVV||Disp8MemShift|NoSuf|StaticRounding|SAE, { RegXMM||Unspecified|BaseIndex, RegXMM, RegXMM } - vscalefp, 0x662c, , Modrm|Masking||VexVVVV||Broadcast|Disp8ShiftVL|CheckOperandSize|NoSuf|StaticRounding|SAE, { RegXMM|RegYMM|RegZMM||Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } vscalefs, 0x662d, , Modrm|EVexLIG|Masking||VexVVVV||Disp8MemShift|NoSuf|StaticRounding|SAE, { RegXMM||Unspecified|BaseIndex, RegXMM, RegXMM }