From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-eopbgr150054.outbound.protection.outlook.com [40.107.15.54]) by sourceware.org (Postfix) with ESMTPS id 52D513854559 for ; Wed, 23 Nov 2022 09:04:48 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 52D513854559 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=CuvWcatYD/pS6rlovvgjx86OumRM/DPXvRVSZjVKhm+kUF1sclzXPPrZaJnk7dTgZSUUzyuXCOTnxIp9RfRg/ONWSItiKpDUcYT1nYszuhDNkPLLa/s6ZXkfa3+FUnx2YNvfotdRqqzfScYpSWmfazJqDeWCyEelJEs+wCvaY4/BMkMpl+2gMeNQ7zj62hj2OledCLQgOlfz2SiOTkBcLvGlGLt1rRXyp9IKARS5IWmay6YXdwOPf9U5RiTNlJAY6jqVgIEJ3kywp6i2rXl2lfzNjE4yMLD0pu1+nQ4N9oimI0iRz8GYHGPBjKlanLA2LSmuhgUzvg+IlMVuY9LFkg== 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=vTp6OhSjcNDDgt/WS1uKec2isMuQzP3CFsrQVGfkUtw=; b=Igdelgc3blPSm3PuwxNA0S6nz4O0n6TOtxGfjrovL0ohuWnio+uRYJhwNo8ol0edsHD7F2QTpcqaUKVx07k/Jv+/IlQqTQcSLkCYW7Ukin9aGLNnYqdvrbotIxMDIoTvVyaUb3q/ehpAFWzx004Z7BqIm4oGGid4VqWSLmQqkP2SJv0IN1CnGLqUwwhI1YTAtXGM4qYUq81TkgK2tCyk9qRnYIjc3cnE1kGOeXbPGDu77F/cP5iHLeEC01f5R6Bii0e4nRHOF2QfsbeDiRR6mMZBqanZgch+wvpAXKELvWOjc2/3YxiDYdMiFmmFxPJaCfy1dQl3paLfOWd0vpz93w== 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=vTp6OhSjcNDDgt/WS1uKec2isMuQzP3CFsrQVGfkUtw=; b=QJ2k8/reO4gKUblIpI1RS7i6LkyVLkiSAxYNgY3JZXht2BzASf0NmCr+SVY+Oo+u79x8wLpWaKtRj/V7QypL/rMtMDbfygbiU5VAe+YElLoMZgAAVO0VloyHbUyDa3RC9mQvYevX5XSpE8WDPwzn8OMnX0uLuOSUN+djtu2iRyPQTM07ajtFZxbCiL2hxDYiNkWD9K9jBwwdwI47MY4VOZFO1xIzstJ+lTMD0jjYOJLp59V2/m+XvXotCORPu5RchjHWJkxspK10lCzkm467GRy1uQqOJh9V6VMO9i0allmf4w8MGXh5nbVnxtyt524M0T7Y9EMdOCZqv8KTU6PpLg== 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 AS1PR04MB9557.eurprd04.prod.outlook.com (2603:10a6:20b:481::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.17; Wed, 23 Nov 2022 09:04:45 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5834.015; Wed, 23 Nov 2022 09:04:45 +0000 Message-ID: Date: Wed, 23 Nov 2022 10:04:44 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.5.0 Subject: Re: [PATCH v2 2/2] RISC-V: Better support for long instructions Content-Language: en-US To: Tsukasa OI Cc: binutils@sourceware.org, Nelson Chu References: From: Jan Beulich In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR0P281CA0069.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:49::22) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS1PR04MB9557:EE_ X-MS-Office365-Filtering-Correlation-Id: 067ac3d8-734d-473d-4ffe-08dacd31c431 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: dHHiVF8ecMSChL3NuRS8rNv3JMkIxJhW9+mW2PnOAYazBsBR9M9dQN4baZw7r0u7MtTav/incTUDwy1lQLjoa3snGkqJJw1ij/o7Zc5EnqQ6tOQICmsGibzfsR8abBXOipwH9V+nH1M1gVLtGTeSx9/nzMDtwNH79xq+ZMPas0LwYI88KfsSzqWZcy7TcmI2iJf240Ob7iVCMDdAJgkPL044+F9BZ5h4IacYv4h0FjjiSKoRUjN9ygeNtfs2uNpRPxkLutaqlhkLS8SipVLLp8DnoC3EhGgDtdVWRbMXGALFQqN/g+/B8BOJGij28SokBT2UjqNMGl0+5+GiqsqWERNmNueNDljUCkrqDCFS+JYiwrRXS3cqSV6iX2jnuf7qj3TB8QPevwTmLxn29j7h8lK+oZ550OeNpW7iocK7Gj/I6qIXKvpULr7wDCDHksq73HN0l5D1JC2ruEDHgz8fHZr/1RSuua1PeJdIRcEUYxLpcukJMMMYDh9Ob7LXaE/Do+fer3tf8nAsCu/VsKZ2qbbXsUlGuSyDDJmanQYfju0JIgdJoscmzMNvsulJeh+f/AOMX+xK8kXKxKXhCp9atBINPq1ciYm77K34nyy/QfojyaPZ6ZNkAs6L3IIbPr/HW+dt2dxuWNvKlmk/E/1bGn0w1ExGyRCP5gCa0M1ipoAR3uDO/WKQhPb/9I2dfAo0ZHqioELRxrlzPMXuBXxlg8H8OtBqmw9Z+xacqcHiA9o= 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)(376002)(396003)(136003)(39860400002)(366004)(346002)(451199015)(8676002)(36756003)(31686004)(86362001)(31696002)(38100700002)(53546011)(6486002)(8936002)(2906002)(4326008)(41300700001)(5660300002)(26005)(83380400001)(66476007)(316002)(6916009)(66556008)(66946007)(186003)(2616005)(6506007)(478600001)(6512007)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VUlxd0sxWGlVN2FmSWRaOFNpMFZSOVpNVHdpK3lSY1R5Mk8wejMwRmNxSGo1?= =?utf-8?B?dzN0RXNrWmVQWXFURXRqbStlTUF0M1RHcWNVblBxUERBNlJPS0dSaU5GUnlD?= =?utf-8?B?RVZtK3hYZ1RkMEZLcVJCL2VLUTg3QWJpWWEvcDRQa0hXeUE0U1VrbkVocEZU?= =?utf-8?B?Vi9DaDFBN24rWUEvRWNUQnROK2JublZYQlVKZkpBbE9UemdYWDRSUVFjL3Vp?= =?utf-8?B?Y0Z2TGVaUUZoaEgxdmVtdVJpVi9SRzNqRGtnMkNIUW5yTFVDTnZRMU1ydjVM?= =?utf-8?B?TFBLdW5jajdlSVo5SHpyOEFTaXd1aEhING1aR3JaTWJwVnJnVERjdFJPNllJ?= =?utf-8?B?cXdrTEVmQkZlUS9iM2N3dVlHV09OWWJCSWQyY1NESnI3TnEwTjEzMlVWNHA1?= =?utf-8?B?Tm5DYVg0QXdmcUc5dHZqQ2hHM2VmYUdWZlhuV1liaE9XcVRCSW5MZVFNM1hP?= =?utf-8?B?SWlJbGU4Ym8zbzN0Ti83Rk94UEE0OWJ0UXhQYWY5YjNBRTNOWWNuaXY5OHhw?= =?utf-8?B?ZWJiN2VLVkExVUpHSHNmSnpWblkzYklLZGNuQ1NYWTlGa0VSMjBtY2lTVlhz?= =?utf-8?B?RDkzUGlTQTJXRkIwMEYvYlI1V0FNR3VFczVRQVZBeUdvcGE0VW5ycHVIc2JI?= =?utf-8?B?R1JpajVVMldkN0RDVUExcFVSYmdiQ1dnSjcxalJVKzY4YUJwd3JERU4zRElF?= =?utf-8?B?TkEwOTlaZWNDY21ZamlMY0dmYi9qamI1VG9zK0F5VVltU0RnR243QzdXcDdT?= =?utf-8?B?VDdPK2hBQjU2alNYVWd1MVBZZVJEaTFVTU1nOS9lRFoxbDVmTXZLVlJnMURo?= =?utf-8?B?UTRvV3ROZVRKL1hXZWh0M21hbngrR3ROOWl2eHprR05oZno1blYrQ3U2cjR1?= =?utf-8?B?TWo0U3NqZFJPSFlXem9nMlN1eTBwRWVYenRoRHBZZkRjemlkN00yOVRHeTM2?= =?utf-8?B?c2NzSm5wUjVjS2pMTjF3YzZ4NTY2V0thQmZIazZEZTJOdzQ3NUF0ZmRnYTd6?= =?utf-8?B?a2oxQlRiMEhQeWNVenhydG9jSG8vdHRDQ0ZhOGMrY09lNE4vM0JFK08xUlFu?= =?utf-8?B?RjJXZ2p1bkV4TVY0V2ZGOHhKT2hVcmo5ZzFmTE5LS2VzcDZ3T1BLK05mNGdy?= =?utf-8?B?d0FaLzBteTI2blB4eXpsYTV1S0tZRGlqUFY2a0VjMmp2UklxMm81MHNMUjBT?= =?utf-8?B?b2tXN1U4eEdYelhtb3M1cUg3ajFuQ09pcHFCdkFqd0JLZldVUzd5cXNHVzF3?= =?utf-8?B?bkVpZS9oL0cxUXhWTy9aem9haDhNNmttQVJaUDgwclpydHdsKzNNY09EQUw1?= =?utf-8?B?Y2kycHo3ejFPL0w3MUNRWHZ0VW9UTUFDVUliMXphZzUyMno1QUREOTJkYXNj?= =?utf-8?B?REduV2hYTWJaV3VBeXRPV0MxdGxmeVhKbko4WERUZVBWdy9sMndGTjNlS1U4?= =?utf-8?B?cEdrNWRoRWlqYzZSaWs0UGQxSGF4MFczNHg1aDUwYys2VUh1T3psU283RmY3?= =?utf-8?B?Z2tFTlNqRElRWm4yak9OWEsyQWlkdUN4dkRvSkowUDdhczJrRHIwaXk2SDBi?= =?utf-8?B?M0pBc0Myd0NjTlZKVmdvL1FLZXZNMHptVzAwUlM5VUhzZWxoUC84clkyMWsx?= =?utf-8?B?WmYwTXJGclk1cWVZaWJiekR5K3RtYlE5TWFYRGl6OHllWXRTNHNvRXprT2l3?= =?utf-8?B?QVQycjI4c2xUUWtubk01cmNaYXdWcmhWWFYzVXFHZ29SMElyd0VqOERPOWxT?= =?utf-8?B?YVZwbzdVVksxcVpQTU5SSWJVQnIxZ3dZTGJGT2xpNCt4VldUbFYycmplWFQw?= =?utf-8?B?MzBTNFJ1bTlwbHUwMkpyWGc2emhsRVJGZ1lCRStjaVpia2d0Tm42V29TTWNY?= =?utf-8?B?OFBodkg3YmRwbTQ2UzNDdnJhTlpaRmpJU0o1RDd0SXlQTVRWM2hBcFA2Rysz?= =?utf-8?B?WGJQeWJQQ09KTzZCblAyOHIrTnNYWUpGOVFUY3dsczZIWlhEMEFMQWxnQ1pq?= =?utf-8?B?MmxkQiswSlN1ZThFOW9HMThJamIzRkI2YTB4QWMxa2lONStYbzI2WjJrY3Zn?= =?utf-8?B?WlB2Y3RhQUFPcWhnbWdaUmRybkJRVDROMDViT2ZOWml1eC9aV3hIYmtDRG5O?= =?utf-8?Q?fhEduNlmMIjxvPxcF68KrxZxe?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 067ac3d8-734d-473d-4ffe-08dacd31c431 X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Nov 2022 09:04:45.6722 (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: ZV1U5cOdaJOnIjnpNo6+qapWJQkbS/XaCi7kEn3oAlWr+3Nd83WdiqbZ1L0sbsQuU4z9WeSXQZcR06FmzCktEg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1PR04MB9557 X-Spam-Status: No, score=-3029.2 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 23.11.2022 09:30, Tsukasa OI wrote: > From: Tsukasa OI > > Commit bb996692bd96 ("RISC-V/gas: allow generating up to 176-bit > instructions with .insn") tried to start supporting long instructions but > it was insufficient. > > 1. It heavily depended on the bignum internals (radix of 2^16), > 2. It generates "value conflicts with instruction length" even if a big > number instruction encoding does not exceed its expected length, > 3. Because long opcode was handled separately (from struct riscv_cl_insn), > some information like DWARF line number correspondence was missing and > 4. On the disassembler, disassembler dump was limited up to 64-bit. > For long (unknown) instructions, instruction bits are incorrectly > zeroed out. > > To solve these problems, this commit: > > 1. Handles bignum (and its encodings) precisely, > 2. Incorporates long opcode handling into regular > struct riscv_cl_insn-handling functions and > 3. Adds packet argument to support dumping instructions > longer than 64-bits. > > gas/ChangeLog: > > * config/tc-riscv.c (struct riscv_cl_insn): Add long opcode field. > (create_insn) Clear long opcode marker. > (install_insn) Install longer opcode as well. > (s_riscv_insn) Likewise. > (riscv_ip_hardcode): Make big number handling stricter. Length and > the value conflicts only if the bignum size exceeds the expected > maximum length. > * testsuite/gas/riscv/insn.s: Add testcases such that big number > handling is required. > * testsuite/gas/riscv/insn.d: Likewise. > * testsuite/gas/riscv/insn-na.d: Likewise. > * testsuite/gas/riscv/insn-dwarf.d: Likewise. > > opcodes/ChangeLog: > > * riscv-dis.c (riscv_disassemble_insn): Print unknown instruction > using the new argument packet. > (riscv_disassemble_data): Add unused argument packet. > (print_insn_riscv): Pass packet to the disassemble function. The code changes look okay to me. For the testsuite additions I have voiced my reservations, and I've given further background in an earlier reply still on the v1 sub-thread. Whatever the resolution there would imo want to be applied here as well. As to mixing assembler and disassembler changes in the same patch: Is this strictly necessary here for some reason? Generally I would suggest to split such, but once again I wouldn't insist on you doing so ... Jan