From patchwork Tue Sep 19 15:45:31 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 76396 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 531873858418 for ; Tue, 19 Sep 2023 15:46:42 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 531873858418 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1695138402; bh=ZuLFUnOnjksehRNTyl1SkMk3P4vWcQ2aBnEdu1qA5m8=; 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=BwfgsmRp6LocFWFJiKn2/d1J5F8KNni6dILr9zeuf2hwr8cYVbchn2LcRmGxADvG2 c0HGyVJWHkBawEI9LYA0IxGdPlTeOLEl/VBoa2AD+qfbsByIn8GAxHdUqYJ+xbxU3E Wihj5J8MYMs6tjDc9F/mxEtwIF1r1s0DCHy52wIg= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from EUR02-AM0-obe.outbound.protection.outlook.com (mail-am0eur02on2080.outbound.protection.outlook.com [40.107.247.80]) by sourceware.org (Postfix) with ESMTPS id 518F43857355 for ; Tue, 19 Sep 2023 15:45:39 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 518F43857355 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CTtMMaaUIbJSyuILe8729ungW+Y9krB1jy2+B58jhKMGtq1yKBhPDkBXeCrvS1B0tvLaKKo36Jlfs10hVYME+rJ5W0EpZ77G6hYVZR5u0ArYqp5NIZZHnqSv8cbJL0zHZGlhcd5PSiuXWf+7JVoI1QbdfQ7GcxMjaVL3a1+xM+j6+wVeMvlm4F7Q3/YFE1KclEb5LDQPtzieL5/zgmg5Fbx1XMowLxpfx/96whn72uT2+tplmsYuQ2gvnGTZ8hJk1Kpf73RH1yR7ZPH6WLDK0QuT/jZYTBEMjQoYow2jkiIUA+pW9w5teuaTSXGO6HCcr+LwjNqKjbivrH0c53eHaA== 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=ZuLFUnOnjksehRNTyl1SkMk3P4vWcQ2aBnEdu1qA5m8=; b=FdJvCeV17t1rYkoeabvE8YcKstpea3y/jfxlxysv3lZoI7X+Bd6ZVjK2CpUU2YILteD4vu5ldANMETpuifSOnPn+0GyElh7HwWo645WAZ3lHEteHAw2wEreE3f8z1GNq+Bdi7y92id3i+W3fRhlfqb7qA6JFv/RqyQNzL31rYGRcS/438leshEh4rC0b3Pmdy3azgPyIqu5/CwppCUO7A32X+bJM2YxDQytsnitVv2ImxxLjlwNitbLm1Lu5KLTqz700cMfJXUbSpOZ4DCPn1FnNXbg2qYAtVYWFN/0z0efdQH0+WBgHHCzOSGrr+Fr1d7cogCIKeaE7iBFMj1OAGg== 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 AM9PR04MB8194.eurprd04.prod.outlook.com (2603:10a6:20b:3e6::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.27; Tue, 19 Sep 2023 15:45:33 +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.026; Tue, 19 Sep 2023 15:45:33 +0000 Message-ID: <82732557-00aa-9532-b27b-3669c93ba706@suse.com> Date: Tue, 19 Sep 2023 17:45:31 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 Subject: [PATCH v2 3/4] x86: fold FMA VEX and EVEX templates Content-Language: en-US To: Binutils Cc: "H.J. Lu" References: In-Reply-To: X-ClientProxiedBy: FR0P281CA0168.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:b4::17) To DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8194:EE_ X-MS-Office365-Filtering-Correlation-Id: d5f994a8-1552-4cb3-9c3e-08dbb9277582 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: qywMMzH5P/xOQZjWruyfA2IdmkJ5wiGlGxIKLV/G7+ijkbr2HbZiX7RSpr6612BKYrzuHD/IVt8s4fa+ztwTt+2qZbevJvm1P4m4QRuET2glZDxV51sHVDGgKGTn6Lkjjd+218nH/nOiwU+3VeG2r4xbSuFb/+Mx3xVGt72Sy/5r7JaTYTPfMOaL52h4KU5PYRnAJXfBO7AZpF8V/o+l1HoSHLGsiOXUKv/uwkJqp9n+kIc31F89IbPyTx3cnAT2qAdur/8t6upCCe5HhHJVNRAbxMtay5fvMuWgMT+6lWBiyaKMn7eTzlNMYBSQh1UafowKZV21oJ1NMkKQDIMk/uvhhMFXNMfLcNrwUeoPZjap3NrOc9YDom6ZWrYxJheGtwqb4xUWLZz0bzUUQXhSn235uB2U4sBbLq1gIwxw/SwYzpfeQgme+sQVJsGsdE5/YPnDLjJPu5yRmhi5k+r70yqFEVpLF/f9tOFnd9IuWM5CmlzUWys/uzG1ejM1KcM6ieqW+ylatKROCpdzJbRwY1773HskshJhj6/mrSXdble7N0ip2JHBJDV44EMegmyKFcA8HbfqLebg5K53ctmfcsrEVY6ctG1g7jYqd4P4D3keGtW24qhW0xezDT/hwtm0pkip3X8kSxOrr8fDaxvi+Q== 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)(396003)(39860400002)(366004)(136003)(376002)(346002)(451199024)(186009)(1800799009)(36756003)(31686004)(5660300002)(8676002)(86362001)(41300700001)(4326008)(8936002)(6506007)(6486002)(2616005)(26005)(6512007)(2906002)(66946007)(66556008)(478600001)(66476007)(31696002)(38100700002)(316002)(6916009)(43740500002)(45980500001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?qOkc+styp7gjN6cwBtzjxE56aGbQ?= =?utf-8?q?1nb8l33BuVWNP13hxJxTM38xjJY0sCyA8IRn12V6t3VRN7GyCtWTSeUOYLob8+AJG?= =?utf-8?q?uQEVN4yIRVcNSvZTOjHYU6mABN5e5LHZnPVqMVQ15bavAU6iUwwJP8+uO0+RqiQ9w?= =?utf-8?q?jpYGoKmDvxvJ3Pa/xnIQBJuo7kcfoJxKAVVfs3FUQTy0kiEikFC51BlgObF3UA7Oo?= =?utf-8?q?cd/VfXEFppU583NBohs1mZBZvqZwflymuvr2e/7wPhYUhmy5tkh8F6Z1zRlyYiKQq?= =?utf-8?q?Ap/W9tDYbBp+qLGdCnzY6StToL/34VUvCBH5PVfqZ7TwA31mJBGlPccjqylimGuun?= =?utf-8?q?QfNLxLL2Z5J02ZFRzeOdnbwvaEF8AAhnxDC8nXzG7sal0nQipKdzcdDZ9nR5ovlb1?= =?utf-8?q?fhXkkBadfSX9ry+hyg7JvoYK+VWmp4mnH9QRCeZ/UZUHEmOGYDmmSp5GFHY9XJsbx?= =?utf-8?q?YW3eQmt4haAOKZryPSnx1r0sMwh2nWWIyC8ewcIYG0fjnbcMjvBtuZxlxp+2aZHkm?= =?utf-8?q?+AQ2F60yx0AOe6n6KhNtGSX5dfsl/eldE4Dd+rtXXVqKDXy44Iq8YzHNKc+aXC9QT?= =?utf-8?q?ERONI+6CnNWk6cOPVYCdr50mMqjp0ztSrYuhRo+8Gp3ZbnY360Jd5LTm7Y95MdqdW?= =?utf-8?q?LqRSfWzfwhcI60hvxsdBKyIRQ2CcKIZs8nV9//C2KbzhlSU5DFWrTMv5k5XTbqxVY?= =?utf-8?q?3zpCeMR5/iRscWFspwsMV6/V2QvsOCVVFluujtKE/oUCKxTUSAEmx/9EJp0j9QZM0?= =?utf-8?q?v9FOy38wkL5VS3F5ClW88Y022X7ozVh+Mu3WAiYcf1DwpFxsPN2ICzqPqrRxxQJyX?= =?utf-8?q?UNwi1c6sMrdqa8YOT0Z6/T3gM0oHmW3N1jtKkgNaXR0hcEB30OK0hCthJU2z6Qvez?= =?utf-8?q?84/Tjxczqaihs3JCgkvgcR32H5V+yIrC1yzvkiUhKWgXI2b7HJpsXrs0Zj+BDjR1x?= =?utf-8?q?i7Q0MK+PcXPepP9kwZcnZHqgeem/EoCqItaOLYXJvM5awhXrATBMeU581A+YkQcJG?= =?utf-8?q?rvd4T0OI/TSL4nfU7LLA1B1noQOyhya/FCassaEnDv44cTNGkQUrDWB2rr+hbrct8?= =?utf-8?q?5LqjI2a/gc5+Er3UdB6Pz5EuTEQSQQ6kga7gl2TWpFFc0y49tNKBFccRtqUJwC+vU?= =?utf-8?q?yCaMerRcZfMHt1OZcZA4AxcksRqQMe+tLFirE31wSN00Jdr8ZHRi3R20oIWMTLVGl?= =?utf-8?q?oy8b3RaqMaQCJ9U0RYpaqVjujsVJXNk/3lLErA/cjldXOolK9uoPjbExQvQ9ML6gN?= =?utf-8?q?VWu3Kgevi7KV4Tf757J2iKfhHmKidjG+C47kq/BqAeAjJMjlenZff8xfo3U8xp4Qe?= =?utf-8?q?YlwdqzS8UnH48bcxCZuQ+YZeSiFX2I+HXheKgtA2tUdNJ65BQx1RXUls7KyUxV6f6?= =?utf-8?q?Qyn2pEBQBHNrxZtZTWyS1dLcGBQPDaSmNKHCSA9EtS0XIdiJvYStJOOpsIQHjb66g?= =?utf-8?q?m7yJYHCfVniIK+Q93E82VNndwgY0je0Orj+ezTd1CUIKhhSQXKh0POribvlw9e1Th?= =?utf-8?q?AMp44zMrM6GQ?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: d5f994a8-1552-4cb3-9c3e-08dbb9277582 X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Sep 2023 15:45:33.0454 (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: Km3yPtMUj5C+OgLLbcnzQRDrGBp1SZLtFoVqQy8ADkcE0W4LUknKfDqyQ0sugTxiH4yubnPgTQ165pLQ9kIP8w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8194 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(). --- v2: Eliminate unwanted side effect. --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -1926,6 +1926,8 @@ cpu_flags_match (const insn_template *t) { x.bitfield.cpuavx512f = 0; x.bitfield.cpuavx512vl = 0; + if (x.bitfield.cpufma && !cpu.bitfield.cpufma) + x.bitfield.cpuavx = 0; } } } @@ -1949,6 +1951,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 }