From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on2044.outbound.protection.outlook.com [40.107.8.44]) by sourceware.org (Postfix) with ESMTPS id 5273F3858D37 for ; Tue, 24 Oct 2023 06:02:32 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 5273F3858D37 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-Filter: OpenARC Filter v1.0.0 sourceware.org 5273F3858D37 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.8.44 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1698127354; cv=pass; b=YXs7xHJgr0fzq/ghLIGRaMbu5eRVu+4BFjHjfYneZQWqt7s0D6bkXkUJ3a+ziaokbtl5tZLIn4L9KrpsPJ3ajAqANKGYKshIe9YMapdIfPaY83trr5grxO6LPt+DYO8z1Z0H2t1l+ygSpASgfbZMIeR6R7ke3rPb9ny7aq/IKik= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1698127354; c=relaxed/simple; bh=NxR89YywG/kyp0+cWMj1z6anmrV+WT986CQkbMYh2zc=; h=DKIM-Signature:Message-ID:Date:Subject:To:From:MIME-Version; b=sNDv2jJtcR6t0K1mdAhcG/QXj/nXLe9Kdt3Fzw0ejXd7D8eYbhhepKB1Iz8b6mCwsdztpM+vsm0mGJc2QDE/1BP44C0CGZuvw4KTWsiSVsDQS6uvEA6LjY6KRZNXLHx55+aRtdbNT8K80lbY0B/BH0e2J0smXPlZ7sY7zKvFXZc= ARC-Authentication-Results: i=2; server2.sourceware.org ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=glz+0GObt2bW/SsC1qIT3gebspiDiWgwHWAEnOAzDJ8QNl1y9PHKIVfxKuJ2SAqqak10M0qBnDdSuB5iPy5EmcI8Z2uAres7jT0o+PKHm8mIa9CG8pf/rNgqOwB9UPlyRZwTOSZZTYo/MGAn67gmCa+fWjD1CEkaWv+aoaWiQq7K3A9KsgGt+n9aPHfDaHjVhpl37+cTfnkmLljgAzheyHHrqXo24kqyAXDQ9dl8xpCQTDYP/nPWMmh/vxA2ANBtIa5nz/DkqhgFULuqLpvtF1bumWonKUZCUU6NRnI62F5q24vEgQ94+MCe+luUqGHHo/XNwvYHqWyC2e0A44bwxQ== 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=nhbr9J/B2/A2oF5fosmvxuOJq9AyoJjShl4SL8qrFFw=; b=WRvmSo0CNCv93C5A/54kXpOsa+hsAJ/zPdbCgaDKG71O/+EdEweZ3EvuHzt7gdh6NbT22QeG3pDt/Hjhe8DTDHTY3tWcPwho+R9ODAeiRSohcoY130CI+zJ8Rf2JfEeES0POWqy1sQgR0k3vru7m1u1C0JL58w4hMscfkXts26vmMY9PQ57aZ6VmRfX9Dgl0sru7npX/VLz2FzKVgH6ClAetFG26czNKGmmZGFYFQ1e9YF9AfyswkXPSxU1l/OeHjMxbvDCtGucZckUuQ+qei3mJLJWc4ADgZQp7KJ0esSlSNhEhj1HbShpLOk5dgJoAg/9pPSV/Pvh8FapaXdDn9Q== 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=nhbr9J/B2/A2oF5fosmvxuOJq9AyoJjShl4SL8qrFFw=; b=idv6MXOAp4nSbbV6fv0vT/N1NbMnOIXdtnjAK0MH5UPvCMPyp9MzFp8A53AWGGxXxWM4KaVZ+6IGn5nRRR9ZMWiOoE1TLbfnisPK7AhbeSxxNFMW4xnwitLIAYQVZ4zhKBm03YnELmpQ54d4X2nn6+bpewb0THKVw7zdiRHW3TjSSyz6r9tgGtd3xDqY6sa5CNO0M4bzcbGQRd4hV62O8kEdCwpDhOd7/TvaRDjLdnFuD5VCObedf9KCGu1oT1xhaXGGr6FiW87mqMSOUV0HHUJLhRdHPDdnLWNgGrBtyhNFuolHU7gnEvFP5cX3cCSXECj7V6ee6TwogBU2VkiQiw== 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 GV1PR04MB9215.eurprd04.prod.outlook.com (2603:10a6:150:2a::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.11; Tue, 24 Oct 2023 06:02:27 +0000 Received: from DU2PR04MB8790.eurprd04.prod.outlook.com ([fe80::d924:b650:a2ad:7b25]) by DU2PR04MB8790.eurprd04.prod.outlook.com ([fe80::d924:b650:a2ad:7b25%3]) with mapi id 15.20.6933.011; Tue, 24 Oct 2023 06:02:27 +0000 Message-ID: Date: Tue, 24 Oct 2023 08:02:24 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 Subject: Re: [PATCH v2] RISC-V: Add support for 'Zacas' atomic CAS Content-Language: en-US To: Tsukasa OI References: <1279cd5fe3d0b809a20e18ac61f817017cca7ec9.1697946848.git.research_trasio@irq.a4lg.com> Cc: Binutils From: Jan Beulich In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR4P281CA0284.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e6::8) To DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|GV1PR04MB9215:EE_ X-MS-Office365-Filtering-Correlation-Id: ff7313c4-2d7f-4d13-8b06-08dbd456cccc X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: M1AN+T4ihqVL5kXy+ChEGByenq/63EbLmY8PiOaq7WKdKI8hllwv8SU7kXFXZuYWuEFtwtHbyKTSsRzbMWfVI7IvugRzVM4IJcrlfXNsBXbL66bWFRNXe2szgQdEHMscUeRfQO1a6RWBLeeGY2zQ4yIM2nq+r8Bq+aMXe82D4AQtXg0m7psOHCUtmS8/jeIK1ZDgPx3bGJMhbSlbZ1NPY7EL1Wm4P6skgfWhosjnZkWwwNPPnCnXJv81e2lCVgD61oK1RmWuuYQ47MyztXy6pwwGk6FZ3aDIINO6H1N6mZd8UHxbSVWNU7gwW7k2YWgd6ORk0Sx9f/61MZNMwEqKZs6rD5K6QvJTek4uJsciXToFeUaShi3sG8+Pd1AwrBKAJ8PGIvho945H/G+MYblpzgtOIFcJsQiZ8ZOCoV3eJXoUsl9gbhrCRdzXoHNjvcOpiPMcd4MnDQ50mMrmz7IK0fBPvA+gi0iY8JYweJxHbO/CQD+3UsMyyZhYKyu0GuO2ccm7+L79bw8VvNKpyZehTBQRU0QYFf3ZRFP1y6JPJsAX2KHWuEzPc9QyD+7ADBwzvGF4bGaGceEjK3AhLJ/4+/aDIFFcd+aFvXngAgbLWgLJe9XSfUy6MhEEOPutFUVOq6RglSLbhgUDAazcjy68GA== 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)(376002)(346002)(396003)(366004)(39860400002)(230922051799003)(64100799003)(186009)(451199024)(1800799009)(66946007)(66556008)(66476007)(6486002)(316002)(478600001)(6916009)(38100700002)(41300700001)(31686004)(86362001)(31696002)(5660300002)(8936002)(8676002)(53546011)(4326008)(2616005)(6506007)(26005)(6512007)(6666004)(36756003)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SDdrSlBmQzd4T0U1RlpFNDJMK0psWnVvQlgybjByTmJNUU43UTJnb3ZaNXJr?= =?utf-8?B?NGVVcW5HdEFkaFFQbXlFb2xzQ0dpZmdrdjB6bFppQnU3QWZDLy8vNStDNXI5?= =?utf-8?B?dkVJUEVwZFQ4amlXU0VNRFl6eWx4ODN0L3dRbHZ2SU1vd1IyanZEek1iQ21G?= =?utf-8?B?NENBLzN4ZTZ5dEQ5S1p1YlYyTzdZTEdQYkp5OU9DTTBlMERGNk1ab01Ib0JC?= =?utf-8?B?czJCa3hwTW5GUDNUYjg3NnR4Q2x6WUJvZkRJcHo4R2VaMDJsQnUxcGxIZStR?= =?utf-8?B?Nit6TmZqZXRxYlYvSGF6Rk1XVnJheEs1ci95QVByemcxaitNZEQ0TUJjNU1a?= =?utf-8?B?aHArOHQ5N1ZkczRENDNqaVFFRm9OcjYwUkJaaENMTW5LTG8zTVRKVGFOYi9V?= =?utf-8?B?cEdXYlVYKzRSNDMrekxCVENqODhhODVQNEUzTzVndHVrNGRWVjErU01oVjM0?= =?utf-8?B?UklhSnNRQ0JpY3VkOVduUFM5Q1ByZDNSWHRuby8yb0hDTmpEZVRIdVlJbVVL?= =?utf-8?B?bXhYVGh6a2xGcU9mYTRRWFZZSmQ3V0lGcDhpVUVOU0ttRzJkM3p5Ry9LQVNE?= =?utf-8?B?ODdDREcyVFNaUm9ITXFQUVJiTDdsajRjd2xwZFFENDJwbFN6ZEMwRlFlVmQ1?= =?utf-8?B?ZnhZOFhPM2xOeXNSdzM1OFJMaTE5N1E4RWQveDVFcmZkTFFhZnU4K29nSkJF?= =?utf-8?B?TzQ0WHgxRWluVDcyOWVRdm5xMGRaVVRETXF6RHRvZFNzejRUbU53M2svVWNT?= =?utf-8?B?US9waUVZa0VvbDRaeU1tUURlVlFyUlQ4M01ibTl5ZGU1aUZ4L2pqWVhkUUN1?= =?utf-8?B?SWxOVWUyalg5OHZyTU9KOXVyRzBUOHF0ZXRlK3Y3UmlsVWw1V3pXeDVTOGpX?= =?utf-8?B?MjlTcXlKYkx1OVFSQ2FRaXk5LzlLclU5b1VNT0Z4WDd5THBkcWNYeWNyQmxC?= =?utf-8?B?L29tZ2VjVE5uR1hpTk53d0JEbCt4R0FyOXY2SXJNelEzdjJjOCt0UzF4UE5Z?= =?utf-8?B?ZVBXYW9wcEp6cFdSOUU5ZlNkM0RhWTJ2Yy9yckZPalptMEFNTzYzNVZOT0R3?= =?utf-8?B?QjlnRnVIM3VYN2FBYUdRcU42aFdtOWliZzR4d1dla2tkQWV6V0VPZEpGVHZs?= =?utf-8?B?ZHc0Z2ZrV0hKRTRlSy81V1hyQmdsNDlHVWNKUUhXRkJWUEJQbk9VeS9zREIy?= =?utf-8?B?MXlpdVlaMVB1YXBFZVhoY1lIUXR1c0s3ZnpTZ1lqdi8zNmptb3JYVTZ5K3JN?= =?utf-8?B?MytKdzQ3NVdIUDRqRHY4WFE0bDg0VkhyUW1aME9NcU51cUo1WXEwVmw3Y2NM?= =?utf-8?B?QnFyaEQxdGtteDVNT1Vnajl3Q2VnVWxEYU1MNEtTSDZTN2RPV1ZqNG9pV1lL?= =?utf-8?B?alMra0VXdzNRYmorY003dVBkaGx0N21hdzVEbHEvNjlrR1JFMnlMb2owc1B2?= =?utf-8?B?ckViblhTbmE4TUQreWl4N2lTRElQaVhRbWUvYVRVMEljOUFlN3RMbXdONG9S?= =?utf-8?B?Y2lqKzhjbFZqVGJYVmRPaExjWHBDWThTbU84MGFSVWNnUnFqMnVtaVp0WlI4?= =?utf-8?B?MExXTk44enFtZzVjNnR0cll1aHdqRDNhdExibXlhOWpnMW5yTWRnYW9va2M5?= =?utf-8?B?QkYwbGEzZUhzVW96cUtrM2xEUlcxUG5WalV6VG0rQmlIQlB5UGxuMS9abEF1?= =?utf-8?B?bTZabkhJUE0rMnYxMk5IR2pxdmhaWmtTTkpJeUhnNkhMVE5zVWZKbHIzY2xW?= =?utf-8?B?UjlOcVcwdGQ5Z3czRkdHNHg0TVVoa0x5OVdMVDBnRW93Mm9KT3FrQThCMS9O?= =?utf-8?B?MVJDSnFXR1dIUGU5aFBtdVNoMm5vZS8yRVhXSjlEOTVjRWNDQ21OUlQxUVVX?= =?utf-8?B?N28wLzUyWXJlZkE3SytYQk8xUkNObHYyZFJsRDQwSTBNek9WVW56TVFtdUVa?= =?utf-8?B?T2tNMVFNR1greEJTY1llOVZDaU90RytJckZRMjh1OHBBaHUvSktSV2d3Z0pK?= =?utf-8?B?VW1ZSkk1d3RjZFVOMVl3TjhMcEhFczRKMzRoQzUrT3BZa3BtUFdlc041VGtY?= =?utf-8?B?V3dBeGhpemxFaStDcHN2RjFTV21JOGR6NEwxV1ludVAvdnZBbC9Sd0hKTGxD?= =?utf-8?Q?/UV0V7CDxJWnLBfVNIt75oxoh?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: ff7313c4-2d7f-4d13-8b06-08dbd456cccc X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Oct 2023 06:02:27.2852 (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: x6V0l6b3FLrqqMmoELdpNs3JpWw128E+t9TKebciXB6EyUzNWdUZmUzKbagMdEpV42mbZRqWEy0Hy9zwkb1fEg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR04MB9215 X-Spam-Status: No, score=-3028.4 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A,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: On 24.10.2023 06:07, Tsukasa OI wrote: > On 2023/10/23 15:47, Jan Beulich wrote: >> >> Mind me asking what good the former of the two really does? It's just >> match_opcode() aiui, properly obfuscated. >> >> Jan >> > > ****Excuse me?**** > > As a single patch set, I think Gianluca's patch with a minor fix will > work perfectly. But, the concept of register pairs / register groups > are not specific to 'Zacas', that's what I'm talking about and the > reason I think Gianluca's patch set's match function will not be a long > term solution (actually, I found Gianluca's patch set after I wrote > mine, but that wouldn't change my opinion). > > So, let me list all register group-related constraints in existing and > upcoming extensions (except all ones; x is "not applicable" and can be > theoretically replaced to "1" but it's probably better to be named "x" > to indicate that the instruction does not use "x" operand as register): > > Extension | RD | RS1 | RS2 | RS3 > ----------- | --- | --- | --- | --- > Zdinx | 2 | 2 | 2 | x > Zdinx | 2 | 2 | 2 | 2 > Zdinx | x | 2 | 2 | x > Zdinx | 1 | 2 | x | x > Zdinx | 2 | 1 | x | x > Zdinx | 2 | 2 | x | x > ----------- | --- | --- | --- | --- > Zqinx | 2 | 2 | 2 | x > Zqinx | 4 | 4 | 4 | x > Zqinx | 2 | 2 | 2 | 2 > Zqinx | 4 | 4 | 4 | 4 > Zqinx | x | 2 | 2 | x > Zqinx | x | 4 | 4 | x > Zqinx | 1 | 2 | x | x > Zqinx | 1 | 4 | x | x > Zqinx | 2 | 1 | x | x > Zqinx | 2 | 2 | x | x > Zqinx | 2 | 4 | x | x > Zqinx | 4 | 1 | x | x > Zqinx | 4 | 2 | x | x > Zqinx | 4 | 4 | x | x > ----------- | --- | --- | --- | --- > Zpsfoperand | 2 | 1 | 1 | x > Zpsfoperand | 2 | 2 | 1 | x > Zpsfoperand | 2 | 2 | 2 | x > ----------- | --- | --- | --- | --- > Zacas | 2 | 1 | 2 | x > > Lots of similar constraints but different values. Don't you think a > generator macro is the best solution for this kind of situation? Certainly, and I didn't put the macro under question. "The former of the two" was referring to the invocation of the macro with all 1 arguments. Interestingly this case also doesn't appear in the table above (for, perhaps, the very reason I was asking the question). Jan