From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-VI1-obe.outbound.protection.outlook.com (mail-vi1eur03on2076.outbound.protection.outlook.com [40.107.103.76]) by sourceware.org (Postfix) with ESMTPS id F28A93858C39 for ; Fri, 14 Oct 2022 07:07:08 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org F28A93858C39 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=QHIgQYS17HQMrRJnszlPL/THz9V8SIfPCu4jqBFGwbq26cpJDEAMb/Im106k1l9WGEqoiGeGjm2ZcPYIncpk29GIWadFvehrobTM6yQsvbwM04SXRZvdTey1iQKk7tWObKNkVr/xViZ+EriOG0rFcrqjZnj4XY2owMUtNTedwUSR0NYll7Hw7IbrdY29q3YEDVyGlfRCDAosx015gHKkd11cOwqNGL85zenmTmTL8Xis3w5Gg65JLEUOe+lGhwXdWxfsFNwpLI5i260HbURPU9BlUlhYaVMW5D5bVFm+kfIMrN1kISoyViGHTkLAOLSUXHXZU8vnhk8nBq2U4M+1Og== 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=cn+7j+Dk+3WdCpwpkefOJdUI8dZ8wDkS9hxaslnmt94=; b=dW0RKW8VmQNIdNFajqbXkhuSW1yYq6u5fNJRp5zoXKRoNHZgHCqg/x2g6GIPvPg+rDoHStXRAgvc6pTyo9G6rgMivHhW6Eq+W8cDTJsdlN8nBk+s/fr8PHW0I0FtpOGssp7aXybni5PMJ7P5ijoeEIdgj9Hb/EmrY4AokWPV8FrZxJX5pdWIIi4cpeWH5OA/JpX7n9joEnWcjGq1Vo7q5z7E5CLh3qM8i0oP5+pNOvxHuC9LaCZx1W3it/IfI0pZmCUcJjWn4VIXFo0rMjQZeTD2s/rDtorlIlACaB601IIU5VoqP5QAdbfL+5RX1KS0MN8WJsoBTz57+W9ljl1N7w== 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=cn+7j+Dk+3WdCpwpkefOJdUI8dZ8wDkS9hxaslnmt94=; b=K7EZTShg/cK1c54w0AifYtUPT8125ODrpwed2YyvK81VZLYlC2WJx7n9tlvszbXmY0zgL+HgHQJaSfYK3QLefT/rWglSPsC9Ak1APqgCOBPPX2LX9aSrKVb3V9nzNwlXHMyrvJepEJd4QxD4y1NQBsL8APtlq02BBvwfoFRNbIrcW7GGJzMdwkj1MHztEkmcDH07I0Qt5SzE2My/d9fkcGvpj1tAJ4H1f7X5756CNrbUPXzLjW6A5nnAyMahxhUiMsUobEjG7DULV7Nwdth5m9kyeZCDKCd/ogadm08i0fXgD+ybionNymObN8Vu5G/tdO1C/bfk+I6SHY90tWDMyw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) by DB9PR04MB8155.eurprd04.prod.outlook.com (2603:10a6:10:24d::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5709.21; Fri, 14 Oct 2022 07:07:06 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::2459:15ae:e6cb:218a]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::2459:15ae:e6cb:218a%7]) with mapi id 15.20.5723.026; Fri, 14 Oct 2022 07:07:06 +0000 Message-ID: <8ad79a0f-e90b-07e3-93e3-70924aaf4965@suse.com> Date: Fri, 14 Oct 2022 09:07:04 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.3.2 Subject: Re: [PATCH v3 1/2] RISC-V: Fallback for instructions longer than 64b Content-Language: en-US To: Nelson Chu Cc: Kito Cheng , binutils@sourceware.org, Tsukasa OI References: From: Jan Beulich In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR0P281CA0063.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:49::11) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB8155:EE_ X-MS-Office365-Filtering-Correlation-Id: 3b706497-6a62-44b3-91bc-08daadb2b3da X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: jJZfUMuc5BkIfEbn9oL+mJLVluazB3ID04iMFAFmpJJul+wJLWmBIsTP33Wpbt7gP5TGUXyHQ8zqYpTjQk0nNC4cyQeyFTaXNDdFuL4HEp0QG2PTEGd6Db45U6nUzYrihK7sa/egpAKLrSBEGCFEAF73+VQgDIL6Nhhes2dSYj2JwQxthUbxYhSEVRj6N9Mf+EYy5SciQndhUjVvfQ4LiqncfxssbR9Fz2m2zRGIQZFam7u99YRSYY2OB94Xq31zMLLfi2zd7L3q5l3UHmKUIa9jwkBsy29ABQs/eXaYHW9tKW0QGaoR0gdoQ6t0g4GC6VU9ZUo/bZeLKRsLay0R0rBP2LmfoZ8wBwahMqoFyEVLWveKmIXug73ZkhrFHwI21rhgUga/qyMPtSpgojDfRH8EVl+0TTrYrWdJXbC5EytfLVAqdT7FlIclr7fFgrWu3qtJSfP2RLElejHFCI9kJzY1UpZBzDIyCQePqCfR5/eDcDr9B77xPG/xys/ApNRcYyVy3b6kf392E3jPYlqUkwDBl+bBpU093aZkBgbsqRxip/DRaYynbpkO+A0i2dfqdZNfuXjtaE+FPJIYqmPD/URNGkMG8kh2rOSMakCY2yyFfs1QZ8jBByjls0JhP9IHw1XYEqI01aJg0RcuxzRlpaNGfy9i3+l/g5m/7DunjUdxbN+9oX0ML8/A1AsOSg4fbHbrHmqdTQ9Roe1KmhEe2UiRZuscb4/9du0Mr3RNnYGZdwOz8dWGRW5E3cNFop/JH4sImHLMNIKGAap4j+VMR+BqurR3uWbtYPsHYHFsNEQm2XE6OUG1TY4pCPRhGYgkKYz0uMydpN7KFAccBF01U14zptxINXDvqjcgPQ0MnPI= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(136003)(366004)(346002)(376002)(39860400002)(451199015)(2906002)(478600001)(66946007)(6512007)(26005)(6486002)(2616005)(6506007)(186003)(53546011)(83380400001)(54906003)(86362001)(6916009)(8936002)(66476007)(5660300002)(316002)(8676002)(4326008)(38100700002)(66556008)(31696002)(966005)(41300700001)(31686004)(36756003)(148743002)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?UzdsajhUa0paL3MzK2FOUmppekpjRlY2ZkQ5NlBYNTlZVXJvYUdLUmRxdkNa?= =?utf-8?B?OEZzKy9GNzVzb2paT1hCVmphTm1hQjZjVUZuRDJBTkx6ZVNJWTZSZ1lXNDFF?= =?utf-8?B?QjN4SGpkSlVDZzg5cHQyNmR3TGd2NFMxNEtrcGVCbHhTVGw0N3d4QmZORDFU?= =?utf-8?B?aGluS0RoanhEN1RpcGFYZXEza21mMGFUdTV3QW94K2ZQNUxOWGNldWsxQmpi?= =?utf-8?B?MHE1UWovT0ttd0F5TGJtTk1VaFl5TlJEdi9TK0t1eXNjdFlMMzBpeUtoK1lZ?= =?utf-8?B?Skl3SzJhSklrb0NoZ1RNYjYzRFNxV1B3Vit3emN2bzI3SFA2d3VnZ0p4b0NB?= =?utf-8?B?bEpzTHdPaVlBRHVOREtQVU5rSkE2L1BGQSs2SFlmT0IyYUhjbk1oY1ROelQ3?= =?utf-8?B?VHJEY2c3eitmSTdkZnNXMVhZNENKSXluSzdMUkhsSzVKOTc3QldjZDVxSE1T?= =?utf-8?B?YnA2NTlKbzN2OFY3bUp0d3pKT0M3K1UzQ0R1R1JyT053TlgyRkJRcUVpdHh0?= =?utf-8?B?eVlZVXltbXZPRzZzRmM3WVd5QnJSaW02MVllWWo0NjNCaWRHbVAweGhycFlz?= =?utf-8?B?TEpyMDVNcy9oV0VHcVhxaG10c0lEOVB0N2cvUTNxbjI2NjRFVnVRRm84YnBn?= =?utf-8?B?YUtKNXJEV3pRSFgyeEQyTVFuc0pWME9Mb21neWZXVHdhOTJSZlZzYlBzMWR6?= =?utf-8?B?dVduTGg5am95azZDbGpqRjFwYmNNek1TK053Y2VPeE00dW5rNVllMnJMd3Rh?= =?utf-8?B?clNBYWhsYXRsQTYzNmtVako2Mk1xcTVDcENOcjBVc1c1SWdHYTlFTUJvTUgv?= =?utf-8?B?K2U5SmhaeGFRSlZCMDE5Rm1nV2Q4S3lrdGVHb3hwcFlSZTE4V1Zsa3lydVU3?= =?utf-8?B?Ry9Cbk1ONDhzYit1eDZBTWRYV0FuZWhBMVNJUjNSSnFmT05IRXdtbDJsWWdr?= =?utf-8?B?dGtITFoxS3I0VUJIdUhybGY5M3BzdkVLc1E4TU5wQWpWQkZMc0N2YzBwc1Bh?= =?utf-8?B?Y0JpcGU0bG0rdFlieHJqQ0UxWWZMMFZWcHhsYlN6RkFNaGZDYmxMTkNJLzBX?= =?utf-8?B?aWhqTDd5eWRoYVUxNmxWWVJmL0RLT2RnSm1tQ2JlcW43MTVhTzExZzd4MWhS?= =?utf-8?B?eVNOTldUMWFCc1hmVjRWVjNyZHExYXB4eVo4WkNobDV6ZG40c2FKOTZoNmhy?= =?utf-8?B?TkpubWNEbVJXZlJwY213Z1Y3WTcrdmtRWG0rNWpqajBiRm9lVTZTM0o4Z1VM?= =?utf-8?B?R3FGR1pTajBrTHdvUUlDdDB4ZjVFRS9xNHRNdXFvOENEeFZLSzR3R2VpaFN5?= =?utf-8?B?czEwcFAyd3VCOHJIWis2YnFzZmVJbG9BWXlLVmRoRzNhYWtZVER2akV0a0R4?= =?utf-8?B?TEVXSXpYbmFpQnhLR0p5WnpiaTUvM090WFlQQ3BLOGVmaVl4ekVLdzg3WGQ4?= =?utf-8?B?cW5XUTh3VXNXQ3M1MFpaRmdYVGJIdC9qZGJuZ1NjRTBSNU52SUkxWHA5ZXFr?= =?utf-8?B?T1NNODR3MFRuWm1ld3BFeUZZbWJWdnkxNm1oQTFDdThNWE9ZN21nUFI3YVY0?= =?utf-8?B?NnpkOUZsaXJ6Z2YxUk4rRXh2eXpWMGMvWXgxRGNMN0JpLzJGdzRvZDZYMk1C?= =?utf-8?B?TzQwUDNqUkdoMXNidGg1Zm9rTTdqSndRRDFiK1JydjFtN0h3MFlReGpkZ1ZM?= =?utf-8?B?MThDNHh6ZEZTTUtkdzNQd0wvNHZZZzk1UjRlNSt1MGlhd0ViU0dLYjV5NDJm?= =?utf-8?B?UEw5MkE2Z002ejhhODJYczFhQmdQMm9hcmVrbHVGUXJXaEhxdmRWL2RTQXA0?= =?utf-8?B?aCtYYnZhQ3ozK1pBZEV2SmVoZWtxU2dXcHZFS0hwVCtyMGNzanFoa0xMRGd0?= =?utf-8?B?SE5UUlNlUjFlZUl0NjhhRmhBZWp6NHRHRG9EM2w3RWFZTnNKamxzS29VUUVr?= =?utf-8?B?WUY2cklzY3pOK3o4dXpLaVpLeHFNbWpYWjNVSHk1SVhnbm5ub0V2dFVSUVpv?= =?utf-8?B?VUpJSXR6aVRWNE83R1p5TVRHaVBmbjQ1VXhZUTFuemVFTU5XeW43SlJKMHFo?= =?utf-8?B?K2ZoM3JuT1IwM1ZOM0txSEVEZE5URW9ieFJhb1FTd3BYSE8zSWg4OFFXQXNi?= =?utf-8?Q?A1/aLBPdA/ZesthHIMPYs+/Vd?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3b706497-6a62-44b3-91bc-08daadb2b3da X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Oct 2022 07:07:06.0826 (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: tVHGU8qZB6CyFGsSVz2I3ZRJv5Rsn+HX9QoUGK9NeAGG71Myed9ycK79xlK3Xl5xJjPPA/S4u07R5HHytpodtw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8155 X-Spam-Status: No, score=-3037.3 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,NICE_REPLY_A,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 14.10.2022 03:32, Nelson Chu wrote: > In fact we don't really need this change, since so far the parameter > length of validate_riscv_insn will only be 2 and 4, > https://github.com/bminor/binutils-gdb/blob/master/gas/config/tc-riscv.c#L1349 Hmm, it is clearly said ... > On Thu, Oct 6, 2022 at 5:56 PM Tsukasa OI wrote: >> >> We don't support instructions longer than 64-bits yet. Still, we can >> modify validate_riscv_insn function to prevent unexpected behavior by >> limiting the "length" of an instruction to 64-bit (or less). ... here that the change is to avoid surprises going forward. Jan >> gas/ChangeLog: >> >> * config/tc-riscv.c (validate_riscv_insn): Fix function >> description comment based on current spec. Limit instruction >> length up to 64-bit for now. Make sure that required_bits does >> not corrupt even if unsigned long long is longer than 64-bit. >> --- >> gas/config/tc-riscv.c | 13 ++++++++----- >> 1 file changed, 8 insertions(+), 5 deletions(-) >> >> diff --git a/gas/config/tc-riscv.c b/gas/config/tc-riscv.c >> index 22385d1baa0..41d6dfc6062 100644 >> --- a/gas/config/tc-riscv.c >> +++ b/gas/config/tc-riscv.c >> @@ -1109,7 +1109,8 @@ arg_lookup (char **s, const char *const *array, size_t size, unsigned *regnop) >> >> /* For consistency checking, verify that all bits are specified either >> by the match/mask part of the instruction definition, or by the >> - operand list. The `length` could be 0, 4 or 8, 0 for auto detection. */ >> + operand list. The `length` could be the actual instruction length or >> + 0 for auto-detection. */ >> >> static bool >> validate_riscv_insn (const struct riscv_opcode *opc, int length) >> @@ -1120,11 +1121,13 @@ validate_riscv_insn (const struct riscv_opcode *opc, int length) >> insn_t required_bits; >> >> if (length == 0) >> - insn_width = 8 * riscv_insn_length (opc->match); >> - else >> - insn_width = 8 * length; >> + length = riscv_insn_length (opc->match); >> + /* We don't support instructions longer than 64-bits yet. */ >> + if (length > 8) >> + length = 8; >> + insn_width = 8 * length; >> >> - required_bits = ~0ULL >> (64 - insn_width); >> + required_bits = ((insn_t)~0ULL) >> (64 - insn_width); >> >> if ((used_bits & opc->match) != (opc->match & required_bits)) >> { >> -- >> 2.34.1 >>