From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on2070.outbound.protection.outlook.com [40.107.104.70]) by sourceware.org (Postfix) with ESMTPS id E58C4385700E for ; Tue, 24 Jan 2023 15:24:35 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E58C4385700E 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=MpSPSUTrKzaHM5qOCuxdUuN4NfXwSagT8ofAWo5dq/L9kbcfFNOowoZVIELPbG9mmJRjkXwynPf21GUf4qc1PGkiRQ7HnZgi+0HnNtsuS5nBiOVuaxcHBPxoAyBKg3CONxSVJyPpwe2RyH5yS77TCPI/h/TMlPmFVdMqwAL/WyH52VMoxtA3xmMTKgM0EW4SNfvIAldGmojevPdWfy88K0ds4Y97mgvKWO0cEIfVW2a6kH0F7GkbPHhctEkQmTwS1obYNownHdewo6NI7o91oDoERd6TXjcLctt1SkNBD6QYoiOQpV1GaOCn/Vr4NjnRDgiU5PqY1f9YiP7PH3KPzg== 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=fEFz2U94vlJfRrdHQ+JCb2n6o1kmEqrQW56XUFsP4rA=; b=L2tL9UrHRcrBtgp1Hu4Bw4A1uQdyNKRs3SbdlUDLAu7a0TFsrwoIbjr7p68hMFWOBFr8qxEwYDVxwSu3gaM1zeyPp2AIX9vk6bUm/HzqiW55mRdooNOur7+wiw0wHG5XhtLLIiyY/9nzMZFxtcC7KErfv2SrVr6uQUU4cR77WFChPF05g1ec7xMjWp6mRb6TEhyHdDpaqmf8vF70guOtiXmqdmO1VbiRrC3ihChw1LFbkLmapwKE8vfJkgbfgbsfibsxnGT7nboeNzaJiCXHXLhNHeGW9/ezkPN5UEXoflERiW2eGbiWYqg/OvUNMoluAC2YUsoU96lDIjsjVybvgQ== 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=fEFz2U94vlJfRrdHQ+JCb2n6o1kmEqrQW56XUFsP4rA=; b=0vO4xxjeZSjj+PwPLc+c+4OYOROtWphG8Wq7SMsUjnS4zVTBx3GI0OTe6N8qlpqrJt9MOaWDjxyy8V+iayxddvWY64jsSTS1Es/FnRtl1lgOzlbQMWm1bfstKttRD3tBBHr5yWkdtJJOaF1p7C8L1/rRs6mHWOxpEydovvAY+1I8oMNFzGAAAQR9WqjGR5i1bB3ufMlR59JXdsPnJ1CmOFAVQqZgdjldCqv4AQlf1yMO86N+17coDUoRx2gsNEeDNTOPM92f4/Fpqv9/KNZtzenOaQPtluWVilFhKfZ5MVzhDHFOCTaDvZcnObTw+rDMd5FdePGN5XcSRB4UCqzZHg== 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 PA4PR04MB7824.eurprd04.prod.outlook.com (2603:10a6:102:cd::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.33; Tue, 24 Jan 2023 15:24:33 +0000 Received: from VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::2991:58a4:e308:4389]) by VE1PR04MB6560.eurprd04.prod.outlook.com ([fe80::2991:58a4:e308:4389%7]) with mapi id 15.20.6002.033; Tue, 24 Jan 2023 15:24:33 +0000 Message-ID: <4e1ac6f6-8aa5-9605-0969-40f66549c181@suse.com> Date: Tue, 24 Jan 2023 16:24:32 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 Content-Language: en-US To: Binutils Cc: Palmer Dabbelt , Andrew Waterman , Jim Wilson , Nelson Chu From: Jan Beulich Subject: [PATCH] RISC-V: make C-extension JAL available again for (32-bit) assembly Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR3P281CA0189.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a4::12) To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PA4PR04MB7824:EE_ X-MS-Office365-Filtering-Correlation-Id: 1240f2ab-f60a-4424-0787-08dafe1f1868 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: rpPXvIqGJcmhKBjAk4qqdsOiwj+UqxO8oSaZHHVTqpDNd89CcH/PQ5tHN50CRJ2aYG+XJNWybzCxMb+zXfif/AuzaWIfmKNurMzaFuk8LZPIGesC8omdbPcLeimbNusCyXxBxyO79eBAlj/UTt07F9Ggp707ft+KmgJtLXm52j1kiOPlisa3W1YHH3RNhirxR2yCHmLqwRXNNc9fYq1BzIDTr6ToLJelWcZVglixje9v/yFPjT1zzGd6Qxub1TytTu68s6TBz1lTXwEjGdiWje3z8Pt6A7i8wKd16zruFldVU0w7Ri5bQIgOKzSVCx3dT17L0ddOsoF1P7nYJ6BsehiD0BPyn/eSW31/xRJtZNLgQtnRMDgnS0E/3fEedfIkcDR8tQB4B0u1DXsN+v7KimZGypK5S8ZAPmS/9BNdU3NtHd+JaJwylmBHzO7Hnc7+aBunV5HBFzZrZ8tXmDXePsmr/Zpx8OoHPQnd9KaFNNuh28VL2+9EBZlLjLW32D+XV4V9bg4RQXO0N8kYC1DBs6iU1U3R31vw4mcOFRsX4IMPM+1+AbIu88kmnqcAs58Ft9kC7waGxUzwEg/zrwP+XAVeHBRM05WHRE6dks3tViexSJiwm1eVkDizVt31hSZJ1CurZ1LM/ugWzrfYft+0BpHOb9FXR8mW38Hn/+aBLkyHGJWEp1kPpl17Rp+A+VpzSUWHSYgEwVdOyZKagkLPEj9HHBEOsuYh18vNCsaQxiF4RLApqAjWK39YLtiZHI0OBYM2L369I6b8T+zlgusizw== 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)(366004)(39860400002)(376002)(136003)(346002)(451199015)(38100700002)(41300700001)(86362001)(2906002)(8936002)(5660300002)(4326008)(316002)(6512007)(6916009)(26005)(6506007)(186003)(8676002)(66476007)(66556008)(54906003)(2616005)(478600001)(6486002)(66946007)(31686004)(31696002)(36756003)(131093003)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Y0FiMVBlTXZ4SXV3eGJqbFVpaDR4SzE4TS9pZHNSNDZiNjRUTHBvV215UzNV?= =?utf-8?B?VERBUGFzV2dmbHRHVkRiSHRCcnlDUVJNQTdVZGMwUVF1czViMmtiUUpLTXlW?= =?utf-8?B?cVdVWStiSzBqWHJKQXFZeWt6ZFBmY1lQbGN1M0tZSEkxOFN1cHYxejVLdy80?= =?utf-8?B?Y0dtcHBCTktDVDNqZTVnTkhxWWcyYzhUVndvaldJZjhaMEdtUDNJcGRQREZ1?= =?utf-8?B?U2xSUjA1dFU4dm9NSy90SHNrNzZaTGhaYVJzSW1FT3h4UGlMczY4eGVzUm4z?= =?utf-8?B?YW4rUjRJY0xhWTlwY3RUT2dyTkovcG5wdFpHdU9xZWJ1SGdpSE5ycDlkN3pz?= =?utf-8?B?dXpIR1h3SVRNMnZKS3hZaVRuMXg2SVJUQ0lhR3V2amVza0ZXVG9jdXFnWWtu?= =?utf-8?B?Tk1qVDU4SktNYVU1OFY5czlLNGVpei83b3FYWC9PRFd2NTJkWkVRVFhEWUFh?= =?utf-8?B?Yng2S3pLTEdDMXhKY3RLLzlaUFc1ZTNRVXI1MTdSVkNKQ3JtMnJMU2N3TU8y?= =?utf-8?B?bHJiV01LcENvVWtCZUdveER5NGtWZUpqRWpsTnVEME5abC95SGlleStTdUt1?= =?utf-8?B?YWJYazQ3QkIyaW1WV21RMzdVRWYwdng4Ky9HeE1xRGNEY3MyK3NaMDFuQWpL?= =?utf-8?B?Qnh6V2wxdHphWERSY2lVdG9ReWZJb1JwMy9wTzdxb3h3Nm9rYWpBQ2xoT3U5?= =?utf-8?B?VFdhcXdqNGVFM1loMWJabTRHTklyVm5rRWZyRXdGY2pOQnhOSlJqN1JzYzlj?= =?utf-8?B?QnhMSWNnMjBhTDBIUFBhMEhqQkNJTkVwNy94UHBhYkNVWDZYOUNVaDVXMGg5?= =?utf-8?B?bnI0L3pKV29UL1VCYXZ2YkltQWdNdktYQjhjOUlpaElhZW9HczJNMEYxMEpK?= =?utf-8?B?UzdFMHJKaVpZODBzSHlGYlE5Vk9IOEtCOWE2NmtBbnhRV1haRUVWYktxWGN3?= =?utf-8?B?V01DNmwrcWdIZ3FyaW5LbmJoN1BVQmtnbld1RzhRZ2xKK2k0MjVVVzJWOFdx?= =?utf-8?B?NXMraVowQ1F5ZjM5SnRpV0QzQXRJTEM0T0Fvenc0NEVPUWpNRDFwb2laY2Rj?= =?utf-8?B?VjQrSmFqWWlxRm1CRGhyZ0p3ZmFleHFRd3ZlSmdPUjk3cjRwL0RFSEM0WlZP?= =?utf-8?B?Z09BK2VlcjZlQzlKUStjdWZKZ20vQm5aclZsOHRQWFZHZ1k3Uk4xK2RDaDlN?= =?utf-8?B?L21JWVpuelgyTHBVNlArZldmYkdCY1llV1VkYU9RTHlPUXVBZi9HeGU3aUlk?= =?utf-8?B?VCtPc3FYVTNSY1hLWWIvdldId2IwYWw2UlE1MWxHMkFSU3R1NDk1MXp1bG4z?= =?utf-8?B?V2ZaV1VmU0F6Z3lkczluS3RjZVhLUm1JUW5PRVA2MWJVUTZwMDZOaUgzUTd5?= =?utf-8?B?c083RGNROG5oeFdoSlFHZUNiZHEwNkNLajQrWkdwZGI3eFpCR1BPMW05RE9p?= =?utf-8?B?UHhnbW1Iank1RU5PZC9HTWN1eGxQZVJDYjJIL0FCZkpZMERVb0hzR2RlTHYv?= =?utf-8?B?RExRSVNXbVk3NWp6UWIvbnFET0tJUkNaSjhCSGtpK1lLWW91azE0eGZUdXNx?= =?utf-8?B?bGpXRlBXMXMvVFFzQzdCZXczK3R0c0JFd08rbUUwcjRqeHVBUUo2RVowaHNz?= =?utf-8?B?YjJ4SS8xQXBGWSsxeHRVL0paQ2ZCdmZTRXNwRm43UnltbGFOQVNCZlZEM1Iy?= =?utf-8?B?T0t5SUtTdXBQTXgrK1VVODNJYUc4U2p6dVJXdEIrU3hCdVFBcTd5eC9hWWVY?= =?utf-8?B?bXFGNkxpRmQ4K1UxTmI3UmZ5NTUwRlBpWmhOY0I3UG9ubld1eXAwNkNuTUdq?= =?utf-8?B?SUJibXNLV1FsQ1BCTDBRM1I3WWN4dmRvakUxQzhRa1RRUzFSMzNXYnFxbU9F?= =?utf-8?B?b0VCbm85OEhRWmxFZC92azM5NnNhNHd1RmZmeVlRWXdGdm9ZTHhyQm1GeG1w?= =?utf-8?B?VTF1ZVliNkJxaUdJdlF4Tlk1WEJjOHRZUG1PNGhqUHZhMkFUeGYvWGZ4ZEQ0?= =?utf-8?B?YVdaa0ZoZHBYRk9XaVQyZlBYek8yNEpqYVM0c1Q5eENKRkY1YzRxdk9BaHd3?= =?utf-8?B?bjBycEZjakJrc1UrVS9ZZDZ4clVyd1BjcDdocHFiWjh5bU1YWGs0K25yZ21m?= =?utf-8?Q?eaTsKAwCFAKsV4VuPh7vOHNcO?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1240f2ab-f60a-4424-0787-08dafe1f1868 X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jan 2023 15:24:33.4977 (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: JMi8pbCZeEveFI+yMtEfG9QuoljAKd7JVM/DWDO2AisKFvHNFixPx6d+vhW11eCl3dj/JXF7QIZp9fKssoGj1Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7824 X-Spam-Status: No, score=-3028.6 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS,TXREP,URIBL_BLOCKED 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: Along with the normal JAL alias, the C-extension one should have been moved as well by 839189bc932e ("RISC-V: re-arrange opcode table for consistent alias handling"), for the assembler to actually be able to use it where/when possible. Since neither this nor any other compressed branch insn was being tested so far, take the opportunity and introduce a new testcase covering those. --- Pretty clearly this should also go on the 2.40 branch. --- a/opcodes/riscv-opc.c +++ b/opcodes/riscv-opc.c @@ -340,9 +340,9 @@ const struct riscv_opcode riscv_opcodes[ {"jalr", 0, INSN_CLASS_I, "d,s,j", MATCH_JALR, MASK_JALR, match_opcode, INSN_JSR }, {"j", 0, INSN_CLASS_C, "Ca", MATCH_C_J, MASK_C_J, match_opcode, INSN_ALIAS|INSN_BRANCH }, {"j", 0, INSN_CLASS_I, "a", MATCH_JAL, MASK_JAL|MASK_RD, match_opcode, INSN_ALIAS|INSN_BRANCH }, +{"jal", 32, INSN_CLASS_C, "Ca", MATCH_C_JAL, MASK_C_JAL, match_opcode, INSN_ALIAS|INSN_JSR }, {"jal", 0, INSN_CLASS_I, "a", MATCH_JAL|(X_RA << OP_SH_RD), MASK_JAL|MASK_RD, match_opcode, INSN_ALIAS|INSN_JSR }, {"jal", 0, INSN_CLASS_I, "d,a", MATCH_JAL, MASK_JAL, match_opcode, INSN_JSR }, -{"jal", 32, INSN_CLASS_C, "Ca", MATCH_C_JAL, MASK_C_JAL, match_opcode, INSN_ALIAS|INSN_JSR }, {"call", 0, INSN_CLASS_I, "d,c", (X_T1 << OP_SH_RS1), (int) M_CALL, match_never, INSN_MACRO }, {"call", 0, INSN_CLASS_I, "c", (X_RA << OP_SH_RS1)|(X_RA << OP_SH_RD), (int) M_CALL, match_never, INSN_MACRO }, {"tail", 0, INSN_CLASS_I, "c", (X_T1 << OP_SH_RS1), (int) M_CALL, match_never, INSN_MACRO }, --- /dev/null +++ b/gas/testsuite/gas/riscv/c-branch-na.d @@ -0,0 +1,20 @@ +#as: -march=rv32ic +#source: c-branch.s +#objdump: -drw -Mno-aliases + +.*:[ ]+file format .* + + +Disassembly of section .text: + +0+ : +[ ]+[0-9a-f]+:[ ]+c001[ ]+c\.beqz[ ]+s0,0 [ ]+0: R_RISCV_RVC_BRANCH .* +[ ]+[0-9a-f]+:[ ]+dcfd[ ]+c\.beqz[ ]+s1,0 [ ]+2: R_RISCV_RVC_BRANCH .* +[ ]+[0-9a-f]+:[ ]+fc75[ ]+c\.bnez[ ]+s0,0 [ ]+4: R_RISCV_RVC_BRANCH .* +[ ]+[0-9a-f]+:[ ]+fced[ ]+c\.bnez[ ]+s1,0 [ ]+6: R_RISCV_RVC_BRANCH .* +[ ]+[0-9a-f]+:[ ]+bfe5[ ]+c\.j[ ]+0 [ ]+8: R_RISCV_RVC_JUMP .* +[ ]+[0-9a-f]+:[ ]+3fdd[ ]+c\.jal[ ]+0 [ ]+a: R_RISCV_RVC_JUMP .* +[ ]+[0-9a-f]+:[ ]+9302[ ]+c\.jalr[ ]+t1 +[ ]+[0-9a-f]+:[ ]+8382[ ]+c\.jr[ ]+t2 +[ ]+[0-9a-f]+:[ ]+8082[ ]+c\.jr[ ]+ra +#... --- /dev/null +++ b/gas/testsuite/gas/riscv/c-branch.d @@ -0,0 +1,19 @@ +#as: -march=rv64ic +#objdump: -drw + +.*:[ ]+file format .* + + +Disassembly of section .text: + +0+ : +[ ]+[0-9a-f]+:[ ]+c001[ ]+beqz[ ]+s0,0 [ ]+0: R_RISCV_RVC_BRANCH .* +[ ]+[0-9a-f]+:[ ]+dcfd[ ]+beqz[ ]+s1,0 [ ]+2: R_RISCV_RVC_BRANCH .* +[ ]+[0-9a-f]+:[ ]+fc75[ ]+bnez[ ]+s0,0 [ ]+4: R_RISCV_RVC_BRANCH .* +[ ]+[0-9a-f]+:[ ]+fced[ ]+bnez[ ]+s1,0 [ ]+6: R_RISCV_RVC_BRANCH .* +[ ]+[0-9a-f]+:[ ]+bfe5[ ]+j[ ]+0 [ ]+8: R_RISCV_RVC_JUMP .* +[ ]+[0-9a-f]+:[ ]+ff7ff0ef[ ]+jal[ ]+0 [ ]+a: R_RISCV_JAL .* +[ ]+[0-9a-f]+:[ ]+9302[ ]+jalr[ ]+t1 +[ ]+[0-9a-f]+:[ ]+8382[ ]+jr[ ]+t2 +[ ]+[0-9a-f]+:[ ]+8082[ ]+ret +#... --- /dev/null +++ b/gas/testsuite/gas/riscv/c-branch.s @@ -0,0 +1,11 @@ + .text +target: + beq x8, x0, target + beqz x9, target + bne x8, x0, target + bnez x9, target + j target + jal target + jalr x6 + jr x7 + ret