From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on2084.outbound.protection.outlook.com [40.107.8.84]) by sourceware.org (Postfix) with ESMTPS id 1516D385CC83 for ; Fri, 15 Sep 2023 08:49:13 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 1516D385CC83 Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=suse.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BUlMdQ1QHKZ2uXLzo+/OFn3gzTT+amZJkWOgEomDi9Bo7lFNL8ApMVD/ZY7tPji+I9GOQFwGrfxvcgF7s3UmPgZ6ci7nkmhkQgopqzKGI/SNE2Tc03aCA/75/fDAFOXNoJNGVLYHAGOsO/Nh7LI0IXeNHYNL60Qlqs5Wtp25N2PQSjKr6ExGI9H36xYIWmECXkrnVQMHRV60uWz68cpyNQikQCuCnQFXyfJMeuQPfehkxmsrM/2wYJHAyKj9UdMujkA/7auaP5/bLU/W7ZwMXPxTrv8o7MbYoFkA+r9gSUpYwHA0ZZeNzJtwm1G7UW1uuUZF2xZoMIaWEZhMc7hukQ== 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=In4EbmEwIY8LqRxIhsKilKClMWQo3yittxI6QamXKV0=; b=agLP6h1PgXB3LnzGNPqs6XWqrNOy5AAEEVkNVIot9Rhg1K060PKrJhd9IBUfmJnDb6HVUVkMd3Nojgc+YGm5f+ys42vmsALWqtgp3diz0ZcHIqMnc2I3RDKhOhRO1YljRJ9CRFa8xHFN7CxGTi3WEm4GxWS+kf83cmPnO3U6LZ7su/jIUVtZXNbkeovlJ40KlaWdNl9gmxIUam33T8eKkjsysNXaLJIcUWuKA6BYCo1N/UJGR0b+mqGNeVifonjiPTjPTtR64Tn73Ity4utxe6G6/4osRY8bzH7yM+bl/FqBtgXD0/RCTY12cgRBfNBbMxcsFLeg9zTkOWC1aV6p9Q== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=In4EbmEwIY8LqRxIhsKilKClMWQo3yittxI6QamXKV0=; b=1VxBjesIbA3uJoRNOhmxeQmco9wDQaosVJMMau5IwCwYA7NyXgmt7HR+DO+mVqlk0q65hqVZUsxdsB6qH71B/628C63zPD3P8GMe8xjuPZ5JpLY0RgmYkNEddsEccch4k6UcYwtLXtOhoehXYZDGA7Z9kj1axGdP1E0+7p/fFov3I1130h2dtf6HVham71mn1wyNWVHQZSHfNk3HWued7I/9U04gnKjCDsuLKXDk1VYhPl6PK62bLt5AeZkKhN3LHUTLZdyRVuv/KyQ6ME4oxsrfW0YXyR+j3j/1BKZpjYTTGkiTa+auYK6tMjCraQCqKnFcw3pQyTQ7wEsmxs81YQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; 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:49:10 +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:49:10 +0000 Message-ID: Date: Fri, 15 Sep 2023 10:49:09 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 Subject: [PATCH RFC 4/4] x86: fold F16C VEX and EVEX templates Content-Language: en-US To: Binutils Cc: "H.J. Lu" References: <0690c179-ac98-d127-5ff4-b5abb725b6ae@suse.com> From: Jan Beulich In-Reply-To: <0690c179-ac98-d127-5ff4-b5abb725b6ae@suse.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR2P281CA0124.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:9d::18) 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: 131622e4-8c9c-4743-d9c4-08dbb5c8a13e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: z+Z2RnpV9bnboCaTSVmo8oGda8x6xxO0KUS7bRgj6zFizHFONjaPG0dpJUdwJcIOLka7IMUQtJ5V/BOg/HKZQFAxYbrq0ZCK5TrwcP/MaKwLL0i4KOcJLRfZoEJElIGdqwYSHSIeLrj/3wTiMyYqk79OhxDNuhZ9uc9OW1dBez5NvhxHjEPXN6gmEaiNneSbiFiUpe6OsT+2gF+7BNkhmKkBRjOSgI3tY9PPC5Def0QHEZd7XnvdijNq3V9tR5i9mwacWsHJCKOxhDOSe2aBdlzXYNQMGdviSJ67U7B4WlPineqpqEBMJDrXPBJXKo2KVxxuax1LT4QG7wnx/mBEei2RvKNnnS2BbRq/ndVoP4Bs6nNBJE+G/ffIGIdy93TnGTq2fPjwWEzBw4mXTOP6nFz8PKcREtp90/3m4XCBC1E+cF00CBwvIBu0hV0h1parObdcNkNQf9JIO6iMEnExPCnSnPmjiRYebWnCiN8HgGRnxdz9rf/f5RIHy2woX1BmNfcZmNgDZ5C6JniOLvkc4k0f9IKQlu+QQz9E3xLWeKyKLumg88LLsstuPcuuAtD5dko/wm57g7GvNAaElU5joPaRzhxtLqk7aNGOYmmXEJCRkHV8OPPjqG2gyBD+JzYiZ6tkcE3stz47V5jC9Jm7zQ== 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?B?aHVxYkUvMk5QUnBZbDRuejdIK0tvdVBhZWlmbkNQSzVGRkc5MG9nNk1qaGRQ?= =?utf-8?B?RGQwK0cwd291ZWhqTEw4MUhzaFRxQzNuWFdINHRndmVvQy8vM0hKK1BvMjN2?= =?utf-8?B?aXhGUWJqeEFZMUJtNGNlRWNWZkpoeWM2VFZUWm9tU0thUHFwdjB2RFB4ZWw1?= =?utf-8?B?MGhMbncxNHRyUDRmYlptSmpzaGJjcWt1Qi9Ud0VTWDY0U2N2N0NSMU16Tisr?= =?utf-8?B?b2xpVUVUMlRVTFlDMUwxK3FuNWNaZWFjWDFaUm1uMkNFYUxzTGVPU1FRaW52?= =?utf-8?B?NlBTZVM3cHFoMHlEZmQ0bjlmQ25LWHVtOFpQNnVSOXdsU0dLdkp2cXZJRFIz?= =?utf-8?B?N2Rsck1RdDBxZVVBNk11MHpIRnc0cFkvM0YvalJ0MDhmNjloRklocE1lOXg2?= =?utf-8?B?Sng3dGhrcW5WL0pSajdBMkNhUzI2ZXJBbCtwbkZGVkdXL1ltcjJId1BkclVZ?= =?utf-8?B?NXdrU1AvV0dWTk53L0w1clVta2YyNHY4S09OenZTblEwQmx5WDIvS0lidTZO?= =?utf-8?B?dURiakdlVUY4Zzc0SjB4TWVBN2NEU2g4allaK2ppREhsRy9GaWRvRVh6a2dq?= =?utf-8?B?TlJ6QjVRVzlXV0JqVVdCUkM4dmMxT2pwdkdhenNXWEIvNE5mL2dHSWdaNWw2?= =?utf-8?B?WnhDenZFbkk3amZsTkZsNmk4TlZxak1WSUNWN0Z1TnY2Z2t4ZW9yY3dyN3VJ?= =?utf-8?B?VFQxaGJPSWxHZ2Z5d3VaVGI2cjgwck00NWxMQlZJNE1CU2hnZHV5Y3d4QzJS?= =?utf-8?B?Y2F4R21SRzF3d2NSd0toMmxabmRENmZGWGhCcEdkK0pJMzV6VXg2c2w4S1pX?= =?utf-8?B?Nzc3VDNnMkpxNjdhd01KdnJ6dUpSSVlyRm1vaUFzY3FjTVRrMExmT1ArTXVm?= =?utf-8?B?NktLMXIzK050dXIwSGJsalY3OENqSWs3MTNLbE9sUUhUY3d6ZEtKOU5IZW1j?= =?utf-8?B?ZTBuUE1qNEZLdStyVXhNYnZKdlpnWVE5ekRiTFQwUmZiOVkwaWVDNW5nWW1X?= =?utf-8?B?bXQ3K0pSTDlPRGNmNnV5SVNCenNlYWdxVVVSQzlSeVljcnVId2dFeEFzcE55?= =?utf-8?B?bnlocHJCZTdHdFh5QzhGSWxYcUJzUU45MmRJVTFULzh6UnowY0Vra2N4SlBF?= =?utf-8?B?Y2VNME85ZkRjbXB4Yk9wcG91b3FOMTd1amFJTVp1V05icjMxZk45MDFEQzVp?= =?utf-8?B?N01hRUFldGZ5Tk4yb2pXRmJrbG81SExjZ0g5Z3RYbXU1bnNGSDQyQlRMcVJF?= =?utf-8?B?a0dxb3o3ZXJLVml3T1owZ1ZpaVdzdXBOcGxjSmNIUGNrQjJpRWJwRVZ0elM3?= =?utf-8?B?VGNuTnpqaWRpYmVXai8yS1RydnF1d3NPKzhqZFlDNXdqTXhWR1NSakhjOVN6?= =?utf-8?B?bHFpdmFrbWVnT1J5NGU4YnJaWGFRUjYrMFlXYVNxblc1bnRoeG9UbXJNZ3Jq?= =?utf-8?B?MkIxVi9vekxDa0RtZTNpcDVzcmhGdjlyZTF1Z01lZ25ZMExHZndxdmpFMkY4?= =?utf-8?B?bk9oWld6NDF2N0o5UGhXamdwbHBpVWsyTlBGUWI1UytUQzNSTndTcHUwRTRp?= =?utf-8?B?RXFISm0rdGd6K3lFMUVTZmZCRkFmTElCSzRNZitIbHFrRU00NmdScDkrNlo4?= =?utf-8?B?WXV3VENjaU1Sdm9oTmErTHNPMHFxYllqcHhkY28yVUI4ZGNxSHR6REppejFl?= =?utf-8?B?VEtqS1Z1R0Fnc3RHcUpKN3JzRXNnV05xcjJtaE9MK2xIRVc0MFBJZXdWNURw?= =?utf-8?B?cFFFWXpjQ3poa3B0Y0VVSm1xeHN3VHpDRVhJQ0c2QUwwQkQ4SjJWUVpLTi84?= =?utf-8?B?TWEyQTdvTGV0KzBmSkhoMUk3K1V6S3pnd0tKK0x0bS9mWllkQmRLeFJhR2E2?= =?utf-8?B?QXhPZHhvN0xYaGVHeWJ6dGNna2ozTFJWSzA0aVp3MXlvM0lOanBDWml2Zm5r?= =?utf-8?B?UzhWck1HTUFtRG9KN1UxUlFSc2NyeGNQSTIxSnQyNStLZXQ3RlRpdDVzSHRK?= =?utf-8?B?Z3VpSUpXdGUzNE9saGptQU9rR1F3RDlnMGdVVUFXbDhOazNVeXlJSGFHbW5P?= =?utf-8?B?VHhmR3p6ZUZ3TVQ4ZHc5SGxnYUtxNUZENmtLS2QvYjBBcDZUSWFGaW5YRi8r?= =?utf-8?Q?wpn1yUGw4xSOCdyRcz6QUAdNy?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 131622e4-8c9c-4743-d9c4-08dbb5c8a13e 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:49:10.7391 (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: PVuCFpP2X0XfAGptVgEYylefSCHSd+o7aP/TB//OPuv9SwpSa2OX6RMbSNakdGszHF+JR49ajx6JlDyNsZ5KjQ== 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 List-Id: Following the folding of some generic AVX/AVX2 templates with their AVX512F counterpart ones, do this for F16C ones as well, requiring one further adjustment to cpu_flags_match(). Note that this has a perhaps unexpected effect, resulting from F16C 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. --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -1949,6 +1949,8 @@ cpu_flags_match (const insn_template *t) : cpu.bitfield.cpuavx) && (!x.bitfield.cpufma || cpu.bitfield.cpufma || cpu_arch_flags.bitfield.cpuavx512f) + && (!x.bitfield.cpuf16c || cpu.bitfield.cpuf16c + || 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 @@ -1793,10 +1793,10 @@ rdgsbase, 0xf30fae/1, FSGSBase, Modrm|Ig rdrand, 0xfc7/6, RdRnd, Modrm|NoSuf, { Reg16|Reg32|Reg64 } wrfsbase, 0xf30fae/2, FSGSBase, Modrm|IgnoreSize|NoSuf, { Reg32|Reg64 } wrgsbase, 0xf30fae/3, FSGSBase, Modrm|IgnoreSize|NoSuf, { Reg32|Reg64 } -vcvtph2ps, 0x6613, F16C, Modrm|Vex|Space0F38|VexW0|NoSuf, { Qword|Unspecified|BaseIndex|RegXMM, RegXMM } -vcvtph2ps, 0x6613, F16C, Modrm|Vex=2|Space0F38|VexW=1|NoSuf, { Unspecified|BaseIndex|RegXMM, RegYMM } -vcvtps2ph, 0x661d, F16C, Modrm|Vex|Space0F3A|VexW0|NoSuf, { Imm8, RegXMM, Qword|Unspecified|BaseIndex|RegXMM } -vcvtps2ph, 0x661d, F16C, Modrm|Vex=2|Space0F3A|VexW=1|NoSuf, { Imm8, RegYMM, Unspecified|BaseIndex|RegXMM } +vcvtph2ps, 0x6613, F16C|AVX|AVX512F|AVX512VL, Modrm|Vex128|EVex128|Masking|Space0F38|VexW0|Disp8MemShift=3|NoSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM } +vcvtph2ps, 0x6613, F16C|AVX|AVX512F|AVX512VL, Modrm|Vex256|EVex256|Masking|Space0F38|VexW0|Disp8MemShift=4|NoSuf, { RegXMM|Unspecified|BaseIndex, RegYMM } +vcvtps2ph, 0x661D, F16C|AVX|AVX512F|AVX512VL, Modrm|Vex128|EVex128|Masking|Space0F3A|VexW0|Disp8MemShift=3|NoSuf, { Imm8, RegXMM, RegXMM|Qword|Unspecified|BaseIndex } +vcvtps2ph, 0x661D, F16C|AVX|AVX512F|AVX512VL, Modrm|Vex256|EVex256|Masking|Space0F3A|VexW0|Disp8MemShift=4|NoSuf, { Imm8, RegYMM, RegXMM|Unspecified|BaseIndex } // FMA instructions @@ -2525,15 +2525,9 @@ vcvtdq2pd, 0xF3E6, AVX512F|AVX512VL, Mod vcvtudq2pd, 0xF37A, AVX512F|AVX512VL, Modrm|EVex128|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Dword|Qword|Unspecified|BaseIndex, RegXMM } vcvtudq2pd, 0xF37A, AVX512F|AVX512VL, Modrm|EVex256|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=4|NoSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegYMM } -vcvtph2ps, 0x6613, AVX512F|AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexW0|Disp8MemShift=3|NoSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM } -vcvtph2ps, 0x6613, AVX512F|AVX512VL, Modrm|EVex=3|Masking|Space0F38|VexW=1|Disp8MemShift=4|NoSuf, { RegXMM|Unspecified|BaseIndex, RegYMM } - vcvtps2pd, 0x5A, AVX512F|AVX512VL, Modrm|EVex128|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=3|NoSuf, { RegXMM|Dword|Qword|Unspecified|BaseIndex, RegXMM } vcvtps2pd, 0x5A, AVX512F|AVX512VL, Modrm|EVex256|Masking|Space0F|VexW0|Broadcast|Disp8MemShift=4|NoSuf, { RegXMM|Dword|Unspecified|BaseIndex, RegYMM } -vcvtps2ph, 0x661D, AVX512F|AVX512VL, Modrm|EVex128|Masking|Space0F3A|VexW0|Disp8MemShift=3|NoSuf, { Imm8, RegXMM, RegXMM|Qword|Unspecified|BaseIndex } -vcvtps2ph, 0x661D, AVX512F|AVX512VL, Modrm|EVex256|Masking|Space0F3A|VexW0|Disp8MemShift=4|NoSuf, { Imm8, RegYMM, RegXMM|Unspecified|BaseIndex } - vmovddup, 0xF212, AVX512F|AVX512VL, Modrm|EVex=2|Masking|Space0F|VexW1|Disp8MemShift=3|NoSuf, { RegXMM|Qword|Unspecified|BaseIndex, RegXMM } vpmovdb, 0xF331, AVX512F|AVX512VL, Modrm|EVex=2|Masking|Space0F38|VexW0|Disp8MemShift=2|NoSuf, { RegXMM, RegXMM|Dword|Unspecified|BaseIndex }