From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2053.outbound.protection.outlook.com [40.107.22.53]) by sourceware.org (Postfix) with ESMTPS id 8D9B93858C74 for ; Thu, 13 Jul 2023 10:03:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 8D9B93858C74 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=Vz90EYMNuk0RkN6uE4WMbA51k/Ma7oMPdGfcqba45t/cR3ZoXidPxgHmf47Hu9TXBRt35xGGXvyRdBl3zesU+ZxF3PjzY2Lj6PSlxFfnzj/gKALc88exNX/gJqLj/APrY7CtoAe9YCuoxA4xjur9IOL41OXsM5Nl8wxEvp1WQd+PRQQwaA+UE0QI3ZZZjyxs/jgW5x9MKOcN7wSWiYILOj1QeUytcS+Yire8reMVkF38OYVuS9FMaJ19G6FzRkdZchRq1xvHVf5ZPmkgnk/qa0YepLUthuFzq98OAyAh5ORE8yqPbkzyLnSlRE9Thclq/60WyNr2BNx7rbPMTWF2zw== 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=RZzk/aPBOclS5baRjAGg7ftYTq45eA3D/fPI0PccCRM=; b=A70k9TWG60nPXbeSLaNqzLbxu6uM2LFBON/2Ucyjasa9jlkWe6SWVJakTKnsoHHouws3kXpcB7Ns/pHvlYoS7L1+BYamqzCtbukJXavQV4/2Ci9c7KqkoJKeIrFW8DnoBO3TfYDCN7XtHS8vvIbR+JDFquoFuAgYeNWvvaj2qeEh4NVF9JPdw50lwEE+s2/giLqNLtEHa5cyj0+gGSlz4oLopWijQ0RbmQ2eRxXsgwl9E/jqjoO4ONMjfQa1PTjPg3ZDUAZNPCZQeOSSIgxcFda3LotPbkT8XHquVWG4z/EDMcN30q2GJ6StCoBRwWZ5oPraF6ofomvhorUpRZF6DA== 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=RZzk/aPBOclS5baRjAGg7ftYTq45eA3D/fPI0PccCRM=; b=2m8VzF141Nzzk8jIGwP3AzW8PdkaJc6eBt9vnDyi4z9kZdOhdN5YhU1oheCQkbsChErUBmxBxo6HtMDZ5wFzR2ecd2e8rAkn9GrXIGBYNbpAwSOLEDxunVBD9BtqQCSJ9mUQxQ/aI2UrYZ9EHFBwkTcwA6WxFMeHZYhYGkDLZfF6oO7/i9d760bYQ0yv1ad21nN65EfJpb/Ui5EnDB3RvMzzYsXZtEM4GlFzTriPWIZOsFQOC3NMqCPSPaL6m/djUh2+S+O764dUDgeXH2ScvdskU77LUhrv8NFAyrcGJEA4krkYx5foRX8GFMaTGdaZnxvHUngLa+ux4JbZrwbjIA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from AS8PR04MB8788.eurprd04.prod.outlook.com (2603:10a6:20b:42f::21) by VI1PR04MB10027.eurprd04.prod.outlook.com (2603:10a6:800:1e1::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6565.30; Thu, 13 Jul 2023 10:02:57 +0000 Received: from AS8PR04MB8788.eurprd04.prod.outlook.com ([fe80::cbc0:69aa:c9a2:198e]) by AS8PR04MB8788.eurprd04.prod.outlook.com ([fe80::cbc0:69aa:c9a2:198e%7]) with mapi id 15.20.6565.016; Thu, 13 Jul 2023 10:02:57 +0000 Message-ID: <5a822c87-7be8-ba36-c8c1-84fa673f5bbc@suse.com> Date: Thu, 13 Jul 2023 12:02:55 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Subject: Re: [PATCH 2/5] Support Intel SHA512 Content-Language: en-US To: Haochen Jiang Cc: hjl.tools@gmail.com, amodra@gmail.com, binutils@sourceware.org References: <20230713063303.205862-1-haochen.jiang@intel.com> <20230713063303.205862-3-haochen.jiang@intel.com> From: Jan Beulich In-Reply-To: <20230713063303.205862-3-haochen.jiang@intel.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR0P281CA0055.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:49::15) To AS8PR04MB8788.eurprd04.prod.outlook.com (2603:10a6:20b:42f::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8PR04MB8788:EE_|VI1PR04MB10027:EE_ X-MS-Office365-Filtering-Correlation-Id: 8bb1990a-6b70-471d-042e-08db83885564 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: DIUQTSrgXa9MLqo8befuadpdDJ2tZ3Ckr628om3NngU0BOdkqBNK98VYCejp8qHTeENic43qvOJYAt7UPwxHZ+C6k04Fy9gk0dtA9neKgwGSKkDAP3V4zNBgphewr8dgfK/W7KZRsLUWRaIVTwTLME1ma0p015AAYjuqCih7UkemScqm88YhOXOjqqCtBj0s17n8QrXiT4qbjcULDr3ExhbeHvwHUUqq0IIayLAk7O9XU2u9ne3w3QXiXuEwRrxaUJPN1lVstORVxzSO/Phy4GUQ+tQ1h80dPsJv0K/2rnVpsCVHpt9/NWhiCLnNj9uQZXdBLhgy3VTkGVF09AAPQj39GkeYM9BhmiyvCKneQUbJfE9tKhwfR4U02MQfjqoO+KqP7JumPPSKlKHCKG7Ajzwzu15QIYn/QsszAHAAdYG6KTbUq9EMaa5QajcEvM2rtdSiBtxBRz8oZ13YSDahdTV4y70lXzkF0by0UPksExBT6TwPuBvgiW1R1HjQ5F8EmrQroi3iui/oNCixaZbtwWBYnbQWnedacbMzuUV6J4+O5J7/eN0wbuXP0sU/2g+kRzzWwTi+e3TiaDwi+f/YfNLOzVla1XLmcTMS9AiRiGF0890QZIfP0a+38h0MCPshuoRUnJytC3CWrgfms0mgNQ== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR04MB8788.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(39860400002)(376002)(346002)(136003)(396003)(451199021)(186003)(2616005)(6506007)(2906002)(6512007)(53546011)(478600001)(26005)(4326008)(41300700001)(66556008)(66476007)(5660300002)(316002)(8676002)(6916009)(8936002)(66946007)(6486002)(36756003)(38100700002)(86362001)(31696002)(31686004)(66899021)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?a05sQ3crTWVTaFN6ZWZQSUMwUGJndmtKZDJocTl0d2RzeWpTTFlybUdHZ0hy?= =?utf-8?B?YU55TVBYYVhrZi82SENnSXdvSSs2TVhDMGJWSnhCTFZPSXE0OXVBc0JJam1k?= =?utf-8?B?NUhubjExRUxtU2RuZENUcTFDZ2cyZ2RXK2JvekRXaisxcGZ1VENla1pZTi9t?= =?utf-8?B?Mnh1TDlYR2lHM2xrYjM1ZExmVGZJMi9oeVVwYldtTkFUeHI1K3V6SENIMjBD?= =?utf-8?B?WFlNNGd0WlR2MXZqRUF5eHdGdHdrLzJ0QjZOempGQnNrMzhza2lJTzRhL0g3?= =?utf-8?B?UVRUcHgvRTVMVVRjOUlXREN3ZmQ4aDFTQjl5VUFVQXRRRjFWTTFEaDZwWnpm?= =?utf-8?B?Y2w5REdMNHF2aGoxNEVNQ205MTA5azVXUHRiWVF5VWVJQ3YxY0tsK2R2bVFJ?= =?utf-8?B?WmN0dGY1dDhYSVBtZCtjcTN0eWhPYXg4YzgvYXlJd3M3M1Iza3RCWU1qL1JX?= =?utf-8?B?WVVwR3crbHl4dFJwWXFPejNGNTA5S0lUS0UyeDdqU3RYdXNoaGNvaGcvTjdq?= =?utf-8?B?R2Z6dCtmV2QxdHNTclNXZDZTZFM0VzgxSGtNcmxwd01ObWpPbVpIeTZ2eWxH?= =?utf-8?B?OGhwd1ZIaUZEQWMzc3pTTkdUNlpHaGd5TWs3ZHJHZGN6bDdLVy9BbFZOYU1F?= =?utf-8?B?Snc4TUkyb0NCZ0FUanhpeDVlTXlUSmdjWCs1Q1RNVHovWlBiVzJoNlVjcXhO?= =?utf-8?B?SkFzWWJQckNxU2g2aWNLRFlrV3YxU1V3SGhjOWQxZ0ZVQlhXK3djUGxOSk1r?= =?utf-8?B?TWhYVDY5NGRncXIxRklEK1BVRk5UbVpKZW9HcWdQTk9xRGVUYWR1LzVQTFBv?= =?utf-8?B?ODAvb01vdk5DUEtFYWZwVUtmOHRRc1AzTmI2TG5kQ21PUkpGQVpUbFE4ckhF?= =?utf-8?B?OWRhbERQa3RMWS9MVHNYeTJaUFZxSnczdkw2WHBLM2FSNjlMUmpDVEcveGFX?= =?utf-8?B?K3J4dGhsU0Y2NCtYUjBWRkxIUWZPNDZwYTEvWFVYclVodTlDMDVSS2dYL04y?= =?utf-8?B?RTA2RU54UWIrd1A0d1ZMQ1pOZDV1c0Z1OE1ES1JlaGthZVFDY2RVbW1QWUEv?= =?utf-8?B?MmFnQUp6aDZjaDk1QnhQNFlpc2NrWlRKbG1pbnNQV2dMOUw5Sk1nSUJIZHAx?= =?utf-8?B?WlN4SFY1UHhtTDRxb01MdUZaWXBMTkJLamlOYW9jckFOOFArdFNnUUlKSDdH?= =?utf-8?B?YlM3bzdnSnM1WHNsN1JzWDBHaS94cS8waU5MV2lKQTh6bFIwUDFobTlJK2l4?= =?utf-8?B?RlFWb0FLTTRrcVpjSjBvbVBFUEhoaHdtYkNSU2V5bkdYdE5lRTcrR2lGZHQ5?= =?utf-8?B?dTRKTjJqZ3IzWVBKZUltR3BTbGgrL1ZXeFhpaTRGQ1cxZTF5bjRCOWVuU1pN?= =?utf-8?B?QnRjY1NPem5NemVwZkkyVEsrTGVvZWJEOGNNK0xIeXRjYWFMazcyQngwMXJl?= =?utf-8?B?NGdLZ2FRWTZxa3laQkxhSnhRWlRUM242akZyZUZGd29wekxLNjNGM2NpYW1S?= =?utf-8?B?ckl4NWJvclU0Q3ExTjRPM2pOQ3R6RVF1UW5VVjJJQS9tWFN3enZ2RDV1TVh0?= =?utf-8?B?NExwc1RIc1FFOEJsSVZLMU1zUWlQZ2o5Q0tDZUMvMngybjFYRHY1blZJbVBa?= =?utf-8?B?eDFva2JKQURwR3A0cVI2UGJ0TGEyYTYwaUdRU2ZqZFNPbTFsbUU3YmJaOUZK?= =?utf-8?B?emVkN0x4SlJ6eHJkd2ZZZlR3NnJPcCs2MDZwVDRkM0IxUC84aWNwdmVtaUZJ?= =?utf-8?B?Q0QwWWtRcTdoRWJkUDFrZEFaQnZDTks5UlJpaUkrVWNGblkyVTM3YUNaN2Jx?= =?utf-8?B?Z1k0bEJwNlRuLzFiUEpXNXU2TzBxYWxKSXhqT0FDM1NiQ3B0S3Bac3o4TEdH?= =?utf-8?B?M1VHQ2JSZjU1MkdVQ2tIc1hZck51ZVZNdEd1QTMrMHRtRnZPQnF5ajNyOFpW?= =?utf-8?B?QnFnNGJORGs5QkhLRHdYMElmNmZieGVUaWMzcmZQdU0zQ21WWWJWR0FodFdC?= =?utf-8?B?NjdHdFlnUmtUUnBWdFRDZG9IK2hCV1NsTFRzYVpXSmY3d3A1eTAvbGF5Z0Rk?= =?utf-8?B?cVlVZURYblorQVZCSFlnM01jOVJHWWR4TS8zUE1JWmQrc3QrbktocUJOYkdi?= =?utf-8?Q?2DRZ2Yz80slnvM8NVhuzGkzD0?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8bb1990a-6b70-471d-042e-08db83885564 X-MS-Exchange-CrossTenant-AuthSource: AS8PR04MB8788.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jul 2023 10:02:57.5404 (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: 1VMAbL6OQAcjW3MSEUapQQ5a5qabEPgAgQ++DDjWKnz9fx/l5X8CZM+mGxc1yjfQIvjC0z3lDxS0JTYfu9vCZQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB10027 X-Spam-Status: No, score=-3027.0 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,KAM_NUMSUBJECT,NICE_REPLY_A,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Up-front question on title and naming in the patch: Doc indeed says just SHA512 (same for SM3 and SM4), but are you (including those who assigned those names) sure that's going to stay this way by the time this is merged into the SDM? Considering other ISA names, AVX-SHA512 would seem more consistent to me. On 13.07.2023 08:33, Haochen Jiang wrote: > In SHA512 patch, I have considered to eliminate the ModR/M table pass > for vsha512msg1 and vsha512rnds2 since you just introduced OP_R with > Uxmm. > > However, xmm_mode in OP_R requires VEX128 or less. But unfortunately, > for both instructions, they are VEX256. Therefore, I still keep the > ModR/M table pass in the patch. I guess I don't (fully) understand. Uxmm and xmm_mode aren't well suited here anyway. What's wrong with introducing #define Rxmmq { OP_R, xmmq_mode } (or Uxmmq) and using it there, rejecting VEX.L==0 just like VEX.L==1 is rejected for xmm_mode? > --- a/gas/testsuite/gas/i386/i386.exp > +++ b/gas/testsuite/gas/i386/i386.exp > @@ -498,6 +498,8 @@ if [gas_32_check] then { > run_list_test "amx-complex-inval" > run_dump_test "avx-vnni-int16" > run_dump_test "avx-vnni-int16-intel" > + run_dump_test "sha512" > + run_dump_test "sha512-intel" Perhaps worth having further tests proving that both assembler and disassembler correctly deal with (invalid) memory operands / encodings? (The disassembler part may not need to be a separate test; I think we already have one which could be extended: disassem.[sd] and its 64-bit counterpart.) > --- a/opcodes/i386-gen.c > +++ b/opcodes/i386-gen.c > @@ -168,6 +168,8 @@ static const dependency isa_dependencies[] = > "LKGS" }, > { "AVX_VNNI_INT16", > "AVX2" }, > + { "SHA512", > + "AVX" }, Like for the earlier patch this wants to move up a little. I also question that it's AVX that's the baseline feature here. While correct for SM3, I expect it needs to be AVX2 both here and for SM4, for AVX offering no real 256-bit integer operations. (Obviously this wants taking care of in the doc as well.) > --- a/opcodes/i386-opc.tbl > +++ b/opcodes/i386-opc.tbl > @@ -3375,3 +3375,11 @@ vpdpwsud, 0xf3d2, AVX_VNNI_INT16, Modrm|Vex|Space0F38|VexVVVV|VexW0|CheckOperand > vpdpwsuds, 0xf3d3, AVX_VNNI_INT16, Modrm|Vex|Space0F38|VexVVVV|VexW0|CheckOperandSize|NoSuf, { RegXMM|RegYMM|Unspecified|BaseIndex, RegXMM|RegYMM, RegXMM|RegYMM } > > // AVX_VNNI_INT16 instructions end. > + > +// SHA512 instructions. > + > +vsha512rnds2, 0xf2cb, SHA512, Vex256|Space0F38|Modrm|VexVVVV|VexW0|NoSuf, { RegXMM, RegYMM, RegYMM } > +vsha512msg1, 0xf2cc, SHA512, Vex256|Space0F38|Modrm|VexW0|NoSuf, { RegXMM, RegYMM } > +vsha512msg2, 0xf2cd, SHA512, Vex256|Space0F38|Modrm|VexW0|NoSuf, { RegYMM, RegYMM } Can we please stick to Modrm coming first? Jan