From patchwork Mon Oct 30 14:46:12 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 159771 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:d641:0:b0:403:3b70:6f57 with SMTP id cy1csp2269951vqb; Mon, 30 Oct 2023 07:46:23 -0700 (PDT) X-Google-Smtp-Source: AGHT+IE0cC8vx/+4Svww2OlLpjgrkYqRMod7E56oymgAn9Lp4r7+fsIGEw2WchWCFk4LmdHfoZRA X-Received: by 2002:a1f:2f81:0:b0:49a:a3ee:d280 with SMTP id v123-20020a1f2f81000000b0049aa3eed280mr8076877vkv.16.1698677183028; Mon, 30 Oct 2023 07:46:23 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1698677183; cv=pass; d=google.com; s=arc-20160816; b=jLBU+8+Heq6PVh7AaTNec9ga+9BIM+i7WcTbx+l8Ccy6Rc+acPwqb1EvhDGx/7mv7Q AXWUgStypmQXvZYJ1v/ZRwCIO5/3X71/0zjOd7AVawwoxQVZ8Rb1iCNXx3X0mmFjnyKW mAudt6ya46ydgq71BAB0MPZ1gwRpuASrff+kKM6yxbtU6WurB8rM3WoDNWqt2IIl6zua KpS1B0V44oLG5tov6lAtVM49lVeknN7NfRpssV0B9RsLyPJsSRDuMNn6xsVbR5qpEZVQ owlN00GOSJdN1ULRxxcHOU1/HD3XIZrsHXI7CKRlBevm1toFCNFO6i1ccsglyBhnhHyT 260g== ARC-Message-Signature: i=3; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:mime-version :content-transfer-encoding:in-reply-to:references:cc:to:from :content-language:subject:user-agent:date:message-id:dkim-signature :arc-filter:dmarc-filter:delivered-to; bh=3sxCXENukPgdrkHzLgj7FohlC/t8FSqEPUIRrBCn9SY=; fh=VT6N6QD4amIFxZr9T34bK4bL2a91CdTGSC+SgZliO78=; b=rewTFcm12q14qDoIn5VM2Do8Crjtl/4dUmmLH5K1beUZAU0M07InqGN29v2LZI+8xK kpjC1ofujLZhu5J7et79nfFkWCuCIS2vIzwmO6LwDgd1QaqdFCXyHpjV+NRQ2BYnk+62 hCOh+UVNwdOUpJGjJeeV2zTQXYVmI2Sdn7bCvPOC6lqkSUApVH7VyZZm9XNGRZr9jibO 9DgyvClxv44ThzP8eyCpZ9YblPrkO63OczmUxggciZxP3ZiB/LEMfO1OecGiLqoth4Dp CBdvdtJSmtxqSfHPsTR/Iyp30x2bzljNPbf59t1f0d1vPzlVt+DfKiEsWCnmdIRHk4cW bjSA== ARC-Authentication-Results: i=3; mx.google.com; dkim=pass header.i=@suse.com header.s=selector1 header.b="4vam/f9o"; arc=pass (i=2); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Received: from server2.sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id v15-20020ad448cf000000b00656467cfef8si5628626qvx.254.2023.10.30.07.46.22 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 30 Oct 2023 07:46:22 -0700 (PDT) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=selector1 header.b="4vam/f9o"; arc=pass (i=2); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 7B8D83861861 for ; Mon, 30 Oct 2023 14:46:22 +0000 (GMT) X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2071.outbound.protection.outlook.com [40.107.7.71]) by sourceware.org (Postfix) with ESMTPS id 5BE663857343 for ; Mon, 30 Oct 2023 14:46:14 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 5BE663857343 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 5BE663857343 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.7.71 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1698677177; cv=pass; b=mBBTJsQmA7bWWCWeHn2c1qQpsib1Gu0if6JZimKyNJWT4BzgPrNvq2E2ay1C9Tb28UTcSIYg1Iutd5MOZPtfwIC3/guO7adIElFHLNY8FYMmJfh8POqlUcgHbd/wT3o74e6b7dxRtjVY1QVJ+8DUMKV820/LnHjb/2S912EVS64= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1698677177; c=relaxed/simple; bh=0+pPO/rQ5U4+Z/CeNwiddvIMUbes5hx5u/8RISQ6fHA=; h=DKIM-Signature:Message-ID:Date:Subject:From:To:MIME-Version; b=vMy7vm5pXXsk4BHTWog3NZx70NR1RDqzimdrNXuom8cxzbqHVWiAPVrrNq6hoSGpKXpW1OuUDN++wryEyDBZpGBDkAohj96Um0JIreIGx3bxHtlRRXIhbCOrkHcDxrBZntTHg3qmkxkPWO4LT+CF472W96Nz0pLaF58ab38cR0M= ARC-Authentication-Results: i=2; server2.sourceware.org ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DoDoxHpndx8MHTqDah/Rgn5Ba0r7LiMHn8qyhPoQle9CZIlgcGtIYBKg9Ah4NT/3FWlJ30DVgqJ9/DVb22OKtrpf+fzmf/4G4GQgjpF2QCYsadwhubhuVbBuTB3XmGJZ9e2NqvjcPWCSwlPJz2FrqIBYcvhdIuCjwdUfKRaPeUi6qwo2US4ElVv+6UEfZYS5MlUpHWi1+UiPuajZLh9k/yx/VQSJaf966uVHK18r5G/cA0TYo2BlvelZMobjw3LTxPjKBNPqhYxCy8uS1e/WacrxQzzfjCRFVEGw681wcmxfbitpxBERkPjDK8YJr9odUCzzkgUUDpahGgN7VETt5Q== 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=3sxCXENukPgdrkHzLgj7FohlC/t8FSqEPUIRrBCn9SY=; b=MNf9c/WF9eoOsFJ1SFBuYFmuNsMOx1goG+o4dmVy2HhRn3awprHMZ0DqqrZizvHR07r6wljgsfM7of+uBmva9JlB3tw6O6GSDYgc0ctEzbe1KkeQuZ0HQMbkSH9VF6MfBWBzxHjZsI1ZAOdCerzk92OG4KLP5xLwHS/QyX0Nv1nJuDittP6oxXMkG0k722Ggy2xRy/jcpj1HMUdg34ZQRL/4j5+4O1tD0F9sVHw4P+8CH/in7y4+lsJLaUkcgq9/TvBhYfuXpv06jcdtUAuo6dMwrloPpzIOi5q7tSUa9PtGJMU1HEiafUjS6Fbzyn8ZkpjvemQYA6xVfMZWvkYTUA== 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=3sxCXENukPgdrkHzLgj7FohlC/t8FSqEPUIRrBCn9SY=; b=4vam/f9oilIVBqd01IIkKNAv4VKm070Wi/dm+HhrhHKvMb5RSX7KFFH2wLKzIOS31OOZbOdPSz3Eop71wecn33p4UVRJdsC2KdpDhxjNOATZXknEEq8aLLPaUqaOo4qvN2KZUdyJj91JjwlokGSJp4tIk/aQwYJkhZMzl7Ng9extIiDaI8W6dmDBa3vFsM6l2dxF6PKXa0RuPHE+1pYBD7tlddULydcyNjGSHXUCcP2sfunbJqwsxmyTG2onuQLk3GrnxdMKtJz7Pa4uxfcHhEFddkQ5W8i+unS1UZYV+vyc52yczRlzpfuNrwh+IN9k3/Nf+Q0u49TS5uTw2KyEQQ== 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 PA4PR04MB7968.eurprd04.prod.outlook.com (2603:10a6:102:c0::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.11; Mon, 30 Oct 2023 14:46:11 +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.6954.016; Mon, 30 Oct 2023 14:46:11 +0000 Message-ID: Date: Mon, 30 Oct 2023 15:46:12 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 Subject: [PATCH 1/4] RISC-V: make FLQ/FSQ macro-insns work Content-Language: en-US From: Jan Beulich To: Binutils Cc: Palmer Dabbelt , Andrew Waterman , Jim Wilson , Nelson Chu References: In-Reply-To: X-ClientProxiedBy: FR4P281CA0157.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ba::12) To DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB7968:EE_ X-MS-Office365-Filtering-Correlation-Id: 1a99b0ec-dd84-4e00-b236-08dbd956f562 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 4UzhBl44cRMmHSrKGDHamLD3aTxjj18SYyO1e33YRWF64DQX3Y6l50dnrAcFqvqeFnHYLV4VFeFo0oL1S+9+9PnlJEIFmIVPRpKcFChLy1v3kF7hXlBIn8ryKLEA8WubuT2/UKEjiE6gEWWpJIMEVro13cg20yN3OmFHwUbNtmDwIC1Xb5r0A8kQ17JXC2fnniS1Dh5JYBouK0bIs+PFzpw9pFOvecv4uLED6S3g9VTAK3CiLSTKFu+vu6nvgTMriaQO7TyiG1Pt+CjZrHqtC+sUwthINmRXNYs4wjuL8C50IiaL5PqQmccvy+yKoOOAXCG4g6KMdS1BJzhtMbqlRwvXUHDRjfVddA0p8IhjmH7CqANxPFhm2DqqSRo5ZkmzYACQnojTy/2Olg6E9s0/CTQdcd5gMEgxgNGOK1wCSsL1ylduSr/d/DzKdS/xUyhBDnSlfYprGkzQIHmf3XAjU2UFBFVcfOHsdGkHcpUZsGpDuT7JakXRelDStc4OYAMPPR0BvLRzpz7mraqee97ZS3ZMAC3C838d3s4u6KkkLq6+7yFKI64awewJy7NXey6CSANRhMnQRCVn7PYYmj6ummOTtIJDNgOOTs2CJpLhG0sW13WSgXk/vqxB+c4ORmRdLOwy+6VXctF2rnkiD/76UQ== 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)(396003)(366004)(346002)(39860400002)(376002)(230922051799003)(64100799003)(451199024)(186009)(1800799009)(86362001)(31686004)(2616005)(5660300002)(38100700002)(6512007)(30864003)(4326008)(26005)(6506007)(41300700001)(36756003)(66946007)(6486002)(31696002)(8936002)(2906002)(54906003)(66476007)(6916009)(478600001)(8676002)(66556008)(316002)(43740500002)(45980500001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?GmaxFz6yUn1jsolLmmepXOm7yVGL?= =?utf-8?q?V/hTxlyjaDW/38ZUqspBBUpOGctT+jKqqeEDOIzoCJEizvZXn+V/tqdcVcQrjI7ik?= =?utf-8?q?Mj2XvP2Ug73vyPQ6uaCgNHhewTz1L/wtDGnJaW7Nu0LvGaQgDUeN1ssD/sJ6JzK06?= =?utf-8?q?lSjN4a4VxN8Q/Xkd4nv+sLT8PO8KkK+d52ynGnrkqVTtsHj1QuTy5RZMRn5vfrUke?= =?utf-8?q?SztBUL1UKitP0212YJZqi/JieAN5EIQLizqFIwQ5QulOVGdCvOanvongNVjOtjKfU?= =?utf-8?q?jmKxUg7ENLrVmP+554hiDZrBTxYw5fWbGMq6UfZtAl4bL2c3spC/xB/AZBcAG8KXp?= =?utf-8?q?NTSLHf5O67rJjka0YtKNj69EfN8YDX7949u3+XJRpViZu16o5zxaZ20R6k/czeTcu?= =?utf-8?q?8Bx0+ynpPUZH9HCDSERDiEg8v098z/pmJ9M1C17se/DT5Nipqjv3Tl86vJNkxZRlb?= =?utf-8?q?SIJQEVxJT2rxdoWSgbHJIvGm46Uw1WnhXsSbJyun7Ckk1AgNP8OOZ0gRFchQVgTy7?= =?utf-8?q?y19gjXff7OJVc1aPLl/4ICMWt3dzTYRmPvHLSigJccNK3gihPZPrmmJnFPqFO4Wrg?= =?utf-8?q?ZdYtb+moYKU9ngtRJlGdBPhTolb9S/FNFBnJrw+FacKDF8SwWDzqrf92mf3y3NnPg?= =?utf-8?q?LW+TxqKNTnfzM6iiBSh7zl6Hfm09RBBJKyS+skRd1v3y6VV3j0TARTwf9qtvV6EtU?= =?utf-8?q?8NCyX3tQeSPALAd4qaE4oDzo1S0oi96yTQMLuxqd4dcwHuI08R6Try4nbcTn39M1/?= =?utf-8?q?B31jGpo9nKBszQMAEsB74pJHpISXDbX0egv9qBTMxnLE2EjLg7W0WsBCF6it8kWo1?= =?utf-8?q?VLWa8lGxzLYwB5tZjgD6LqYfVXCR9ff9m6OlkR7YzNYuaJ6fPQSEFxYauF7moqYJq?= =?utf-8?q?5SlxfSOekmVjGLy4Y21bz+5Rw3jC6DdvPzIpV5ZAw+IyEi067E8xQp0HqDIOgGkdO?= =?utf-8?q?6/DAAi/lEselLCFIr4bk9pzb4JkH5VU24G7/YhqH0LqzYLGx1nF2erAxQCobyPu9Y?= =?utf-8?q?YmdxcFGxrK5tsz1kKMsCq6w5NF0DsP3hcb2ezXJQ4v3NboYDaKmNnSTLXU1TBe9ou?= =?utf-8?q?KSBP9FGaAXpxs15KT51OOjylDsVBQNXP3rYZD0MhZItkdddz3Pe6UQoyJtLUNgBnt?= =?utf-8?q?8E4dLwTuKvJFlCfTomDq4Yo20MYroDmUP8u3GYmT/Ju1SmXNtPsB7iWF7w6HDyGHc?= =?utf-8?q?gf5wKmqHWKxbQGMDBksaTR/iXJcZVkoWnQWZf1kLrxmydpuIi1T1lpBGw6anyuWuR?= =?utf-8?q?2310DV1dbXD4Y1CN/Yexv03bKT7Cza4fxbj0aVabZqklyWs8rNhGkgGUIlgIgrF4f?= =?utf-8?q?Wuy3++7j2Orz2l6EmyCSu9D4iq+RCclTalR9cpY33Ibxgm3ITnI0y0b4Xzr3fmbus?= =?utf-8?q?xO6lfq+fjcfBaGaVMCInomxjuwrtKZD3EXWcDK/SQHV5o8M/g/DcAWUFsClRaUeVL?= =?utf-8?q?sp3GAdxyoLUauPmNP+2Kv3UFAVXKgkRkhDoQCh4KKAQnDtokKvgx8dcx8AVkaB6R/?= =?utf-8?q?O2KtPs+kHwzR?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1a99b0ec-dd84-4e00-b236-08dbd956f562 X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Oct 2023 14:46:11.1857 (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: zbarKMeKPzlOm/RJqy0Qoi12fCIe93zjrgQez8IFckmBXd9gaiG/YVWjbD7verpFbVdIB7mfgEuDmorla51uXA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7968 X-Spam-Status: No, score=-3026.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, 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 X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: binutils-bounces+ouuuleilei=gmail.com@sourceware.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1781192125842029239 X-GMAIL-MSGID: 1781192125842029239 When support for the Q extension was added, the libopcodes side of these macro-insns was properly covered, but no backing support in gas was added. In new testcases cover not just these, but all Q-extension insns. --- a/gas/config/tc-riscv.c +++ b/gas/config/tc-riscv.c @@ -2101,6 +2101,11 @@ macro (struct riscv_cl_insn *ip, express BFD_RELOC_RISCV_PCREL_HI20, BFD_RELOC_RISCV_PCREL_LO12_I); break; + case M_FLQ: + pcrel_load (rd, rs1, imm_expr, "flq", + BFD_RELOC_RISCV_PCREL_HI20, BFD_RELOC_RISCV_PCREL_LO12_I); + break; + case M_SB: pcrel_store (rs2, rs1, imm_expr, "sb", BFD_RELOC_RISCV_PCREL_HI20, BFD_RELOC_RISCV_PCREL_LO12_S); @@ -2131,6 +2136,11 @@ macro (struct riscv_cl_insn *ip, express BFD_RELOC_RISCV_PCREL_HI20, BFD_RELOC_RISCV_PCREL_LO12_S); break; + case M_FSQ: + pcrel_store (rs2, rs1, imm_expr, "fsq", + BFD_RELOC_RISCV_PCREL_HI20, BFD_RELOC_RISCV_PCREL_LO12_S); + break; + case M_CALL: riscv_call (rd, rs1, imm_expr, *imm_reloc); break; --- /dev/null +++ b/gas/testsuite/gas/riscv/fp-q-insns-32.d @@ -0,0 +1,120 @@ +#as: -march=rv32iq +#name: Q extension (32-bit) +#objdump: -dwrMnumeric + +.*:[ ]+file format .* + + +Disassembly of section .text: + +0+ : +[ ]+[0-9a-f]+:[ ]+26002fd3[ ]+fabs\.q[ ]+f31,f0 +[ ]+[0-9a-f]+:[ ]+27ffa053[ ]+fabs\.q[ ]+f0,f31 +[ ]+[0-9a-f]+:[ ]+06007fd3[ ]+fadd\.q[ ]+f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+060ff053[ ]+fadd\.q[ ]+f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+07f07053[ ]+fadd\.q[ ]+f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+06000053[ ]+fadd\.q[ ]+f0,f0,f0,rne +[ ]+[0-9a-f]+:[ ]+06001053[ ]+fadd\.q[ ]+f0,f0,f0,rtz +[ ]+[0-9a-f]+:[ ]+06002053[ ]+fadd\.q[ ]+f0,f0,f0,rdn +[ ]+[0-9a-f]+:[ ]+06003053[ ]+fadd\.q[ ]+f0,f0,f0,rup +[ ]+[0-9a-f]+:[ ]+06004053[ ]+fadd\.q[ ]+f0,f0,f0,rmm +[ ]+[0-9a-f]+:[ ]+e6001fd3[ ]+fclass\.q[ ]+x31,f0 +[ ]+[0-9a-f]+:[ ]+e60f9053[ ]+fclass\.q[ ]+x0,f31 +[ ]+[0-9a-f]+:[ ]+42307fd3[ ]+fcvt\.d\.q[ ]+f31,f0 +[ ]+[0-9a-f]+:[ ]+423ff053[ ]+fcvt\.d\.q[ ]+f0,f31 +[ ]+[0-9a-f]+:[ ]+42300053[ ]+fcvt\.d\.q[ ]+f0,f0,rne +[ ]+[0-9a-f]+:[ ]+46100fd3[ ]+fcvt\.q\.d[ ]+f31,f0 +[ ]+[0-9a-f]+:[ ]+461f8053[ ]+fcvt\.q\.d[ ]+f0,f31 +[ ]+[0-9a-f]+:[ ]+46000fd3[ ]+fcvt\.q\.s[ ]+f31,f0 +[ ]+[0-9a-f]+:[ ]+460f8053[ ]+fcvt\.q\.s[ ]+f0,f31 +[ ]+[0-9a-f]+:[ ]+d6000fd3[ ]+fcvt\.q\.w[ ]+f31,x0 +[ ]+[0-9a-f]+:[ ]+d60f8053[ ]+fcvt\.q\.w[ ]+f0,x31 +[ ]+[0-9a-f]+:[ ]+d6100053[ ]+fcvt\.q\.wu[ ]+f0,x0 +[ ]+[0-9a-f]+:[ ]+40307fd3[ ]+fcvt\.s\.q[ ]+f31,f0 +[ ]+[0-9a-f]+:[ ]+403ff053[ ]+fcvt\.s\.q[ ]+f0,f31 +[ ]+[0-9a-f]+:[ ]+40300053[ ]+fcvt\.s\.q[ ]+f0,f0,rne +[ ]+[0-9a-f]+:[ ]+c6007fd3[ ]+fcvt\.w\.q[ ]+x31,f0 +[ ]+[0-9a-f]+:[ ]+c60ff053[ ]+fcvt\.w\.q[ ]+x0,f31 +[ ]+[0-9a-f]+:[ ]+c6000053[ ]+fcvt\.w\.q[ ]+x0,f0,rne +[ ]+[0-9a-f]+:[ ]+c6107053[ ]+fcvt\.wu\.q[ ]+x0,f0 +[ ]+[0-9a-f]+:[ ]+1e007fd3[ ]+fdiv\.q[ ]+f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+1e0ff053[ ]+fdiv\.q[ ]+f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+1ff07053[ ]+fdiv\.q[ ]+f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+1e000053[ ]+fdiv\.q[ ]+f0,f0,f0,rne +[ ]+[0-9a-f]+:[ ]+a6002fd3[ ]+feq\.q[ ]+x31,f0,f0 +[ ]+[0-9a-f]+:[ ]+a60fa053[ ]+feq\.q[ ]+x0,f31,f0 +[ ]+[0-9a-f]+:[ ]+a7f02053[ ]+feq\.q[ ]+x0,f0,f31 +[ ]+[0-9a-f]+:[ ]+a6000fd3[ ]+fle\.q[ ]+x31,f0,f0 +[ ]+[0-9a-f]+:[ ]+a7f00053[ ]+fle\.q[ ]+x0,f0,f31 +[ ]+[0-9a-f]+:[ ]+a60f8053[ ]+fle\.q[ ]+x0,f31,f0 +[ ]+[0-9a-f]+:[ ]+a6001fd3[ ]+flt\.q[ ]+x31,f0,f0 +[ ]+[0-9a-f]+:[ ]+a7f01053[ ]+flt\.q[ ]+x0,f0,f31 +[ ]+[0-9a-f]+:[ ]+a60f9053[ ]+flt\.q[ ]+x0,f31,f0 +[ ]+[0-9a-f]+:[ ]+a6000fd3[ ]+fle\.q[ ]+x31,f0,f0 +[ ]+[0-9a-f]+:[ ]+a60f8053[ ]+fle\.q[ ]+x0,f31,f0 +[ ]+[0-9a-f]+:[ ]+a7f00053[ ]+fle\.q[ ]+x0,f0,f31 +[ ]+[0-9a-f]+:[ ]+00004f87[ ]+flq[ ]+f31,0\(x0\) # 0( <.*>)? +[ ]+[0-9a-f]+:[ ]+7ff04007[ ]+flq[ ]+f0,2047\(x0\) # 7ff( <.*>)? +[ ]+[0-9a-f]+:[ ]+80004007[ ]+flq[ ]+f0,-2048\(x0\) # fffff800( <.*>)? +[ ]+[0-9a-f]+:[ ]+000fc007[ ]+flq[ ]+f0,0\(x31\) +[ ]+[0-9a-f]+:[ ]+00000f97[ ]+auipc[ ]+x31,0x0[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_HI20[ ]+qvar +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* +[ ]+[0-9a-f]+:[ ]+000fc007[ ]+flq[ ]+f0,0\(x31\) # [0-9a-f]+( <.*>)?[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_LO12_I[ ]+.* +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* +[ ]+[0-9a-f]+:[ ]+a6001fd3[ ]+flt\.q[ ]+x31,f0,f0 +[ ]+[0-9a-f]+:[ ]+a60f9053[ ]+flt\.q[ ]+x0,f31,f0 +[ ]+[0-9a-f]+:[ ]+a7f01053[ ]+flt\.q[ ]+x0,f0,f31 +[ ]+[0-9a-f]+:[ ]+06007fc3[ ]+fmadd\.q[ ]+f31,f0,f0,f0 +[ ]+[0-9a-f]+:[ ]+060ff043[ ]+fmadd\.q[ ]+f0,f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+07f07043[ ]+fmadd\.q[ ]+f0,f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+fe007043[ ]+fmadd\.q[ ]+f0,f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+06000043[ ]+fmadd\.q[ ]+f0,f0,f0,f0,rne +[ ]+[0-9a-f]+:[ ]+2e001fd3[ ]+fmax\.q[ ]+f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+2e0f9053[ ]+fmax\.q[ ]+f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+2ff01053[ ]+fmax\.q[ ]+f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+2e000fd3[ ]+fmin\.q[ ]+f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+2e0f8053[ ]+fmin\.q[ ]+f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+2ff00053[ ]+fmin\.q[ ]+f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+06007fc7[ ]+fmsub\.q[ ]+f31,f0,f0,f0 +[ ]+[0-9a-f]+:[ ]+060ff047[ ]+fmsub\.q[ ]+f0,f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+07f07047[ ]+fmsub\.q[ ]+f0,f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+fe007047[ ]+fmsub\.q[ ]+f0,f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+06000047[ ]+fmsub\.q[ ]+f0,f0,f0,f0,rne +[ ]+[0-9a-f]+:[ ]+16007fd3[ ]+fmul\.q[ ]+f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+160ff053[ ]+fmul\.q[ ]+f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+17f07053[ ]+fmul\.q[ ]+f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+16000053[ ]+fmul\.q[ ]+f0,f0,f0,rne +[ ]+[0-9a-f]+:[ ]+26000fd3[ ]+fmv\.q[ ]+f31,f0 +[ ]+[0-9a-f]+:[ ]+27ff8053[ ]+fmv\.q[ ]+f0,f31 +[ ]+[0-9a-f]+:[ ]+26001fd3[ ]+fneg\.q[ ]+f31,f0 +[ ]+[0-9a-f]+:[ ]+27ff9053[ ]+fneg\.q[ ]+f0,f31 +[ ]+[0-9a-f]+:[ ]+06007fcf[ ]+fnmadd\.q[ ]+f31,f0,f0,f0 +[ ]+[0-9a-f]+:[ ]+060ff04f[ ]+fnmadd\.q[ ]+f0,f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+07f0704f[ ]+fnmadd\.q[ ]+f0,f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+fe00704f[ ]+fnmadd\.q[ ]+f0,f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+0600004f[ ]+fnmadd\.q[ ]+f0,f0,f0,f0,rne +[ ]+[0-9a-f]+:[ ]+0600704b[ ]+fnmsub\.q[ ]+f0,f0,f0,f0 +[ ]+[0-9a-f]+:[ ]+060ff04b[ ]+fnmsub\.q[ ]+f0,f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+07f0704b[ ]+fnmsub\.q[ ]+f0,f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+fe00704b[ ]+fnmsub\.q[ ]+f0,f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+0600004b[ ]+fnmsub\.q[ ]+f0,f0,f0,f0,rne +[ ]+[0-9a-f]+:[ ]+26100fd3[ ]+fsgnj\.q[ ]+f31,f0,f1 +[ ]+[0-9a-f]+:[ ]+260f8053[ ]+fsgnj\.q[ ]+f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+27f00053[ ]+fsgnj\.q[ ]+f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+26009053[ ]+fsgnjn\.q[ ]+f0,f1,f0 +[ ]+[0-9a-f]+:[ ]+2600a053[ ]+fsgnjx\.q[ ]+f0,f1,f0 +[ ]+[0-9a-f]+:[ ]+01f04027[ ]+fsq[ ]+f31,0\(x0\) # 0( <.*>)? +[ ]+[0-9a-f]+:[ ]+00004fa7[ ]+fsq[ ]+f0,31\(x0\) # 1f( <.*>)? +[ ]+[0-9a-f]+:[ ]+fe004027[ ]+fsq[ ]+f0,-32\(x0\) # ffffffe0( <.*>)? +[ ]+[0-9a-f]+:[ ]+000fc027[ ]+fsq[ ]+f0,0\(x31\) +[ ]+[0-9a-f]+:[ ]+00000f97[ ]+auipc[ ]+x31,0x0[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_HI20[ ]+qvar +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* +[ ]+[0-9a-f]+:[ ]+000fc027[ ]+fsq[ ]+f0,0\(x31\) # [0-9a-f]+( <.*>)?[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_LO12_S[ ]+.* +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* +[ ]+[0-9a-f]+:[ ]+5e007fd3[ ]+fsqrt\.q[ ]+f31,f0 +[ ]+[0-9a-f]+:[ ]+5e0ff053[ ]+fsqrt\.q[ ]+f0,f31 +[ ]+[0-9a-f]+:[ ]+5e000053[ ]+fsqrt\.q[ ]+f0,f0,rne +[ ]+[0-9a-f]+:[ ]+0e007fd3[ ]+fsub\.q[ ]+f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+0e0ff053[ ]+fsub\.q[ ]+f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+0ff07053[ ]+fsub\.q[ ]+f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+0e000053[ ]+fsub\.q[ ]+f0,f0,f0,rne --- /dev/null +++ b/gas/testsuite/gas/riscv/fp-q-insns-32.s @@ -0,0 +1,128 @@ +Q: + fabs.q f31, f0 + fabs.q f0, f31 + + fadd.q f31, f0, f0 + fadd.q f0, f31, f0 + fadd.q f0, f0, f31 + fadd.q f0, f0, f0, rne + fadd.q f0, f0, f0, rtz + fadd.q f0, f0, f0, rdn + fadd.q f0, f0, f0, rup + fadd.q f0, f0, f0, rmm + + fclass.q x31, f0 + fclass.q x0, f31 + + fcvt.d.q f31, f0 + fcvt.d.q f0, f31 + fcvt.d.q f0, f0, rne + fcvt.q.d f31, f0 + fcvt.q.d f0, f31 + fcvt.q.s f31, f0 + fcvt.q.s f0, f31 + fcvt.q.w f31, x0 + fcvt.q.w f0, x31 + fcvt.q.wu f0, x0 + fcvt.s.q f31, f0 + fcvt.s.q f0, f31 + fcvt.s.q f0, f0, rne + fcvt.w.q x31, f0 + fcvt.w.q x0, f31 + fcvt.w.q x0, f0, rne + fcvt.wu.q x0, f0 + + fdiv.q f31, f0, f0 + fdiv.q f0, f31, f0 + fdiv.q f0, f0, f31 + fdiv.q f0, f0, f0, rne + + feq.q x31, f0, f0 + feq.q x0, f31, f0 + feq.q x0, f0, f31 + + fge.q x31, f0, f0 + fge.q x0, f31, f0 + fge.q x0, f0, f31 + + fgt.q x31, f0, f0 + fgt.q x0, f31, f0 + fgt.q x0, f0, f31 + + fle.q x31, f0, f0 + fle.q x0, f31, f0 + fle.q x0, f0, f31 + + flq f31, (x0) + flq f0, 0x7ff(x0) + flq f0, -0x800(x0) + flq f0, (x31) + flq f0, qvar, x31 + + flt.q x31, f0, f0 + flt.q x0, f31, f0 + flt.q x0, f0, f31 + + fmadd.q f31, f0, f0, f0 + fmadd.q f0, f31, f0, f0 + fmadd.q f0, f0, f31, f0 + fmadd.q f0, f0, f0, f31 + fmadd.q f0, f0, f0, f0, rne + + fmax.q f31, f0, f0 + fmax.q f0, f31, f0 + fmax.q f0, f0, f31 + + fmin.q f31, f0, f0 + fmin.q f0, f31, f0 + fmin.q f0, f0, f31 + + fmsub.q f31, f0, f0, f0 + fmsub.q f0, f31, f0, f0 + fmsub.q f0, f0, f31, f0 + fmsub.q f0, f0, f0, f31 + fmsub.q f0, f0, f0, f0, rne + + fmul.q f31, f0, f0 + fmul.q f0, f31, f0 + fmul.q f0, f0, f31 + fmul.q f0, f0, f0, rne + + fmv.q f31, f0 + fmv.q f0, f31 + + fneg.q f31, f0 + fneg.q f0, f31 + + fnmadd.q f31, f0, f0, f0 + fnmadd.q f0, f31, f0, f0 + fnmadd.q f0, f0, f31, f0 + fnmadd.q f0, f0, f0, f31 + fnmadd.q f0, f0, f0, f0, rne + + fnmsub.q f0, f0, f0, f0 + fnmsub.q f0, f31, f0, f0 + fnmsub.q f0, f0, f31, f0 + fnmsub.q f0, f0, f0, f31 + fnmsub.q f0, f0, f0, f0, rne + + fsgnj.q f31, f0, f1 + fsgnj.q f0, f31, f0 + fsgnj.q f0, f0, f31 + fsgnjn.q f0, f1, f0 + fsgnjx.q f0, f1, f0 + + fsq f31, (x0) + fsq f0, 0x1f(x0) + fsq f0, -0x20(x0) + fsq f0, (x31) + fsq f0, qvar, x31 + + fsqrt.q f31, f0 + fsqrt.q f0, f31 + fsqrt.q f0, f0, rne + + fsub.q f31, f0, f0 + fsub.q f0, f31, f0 + fsub.q f0, f0, f31 + fsub.q f0, f0, f0, rne --- /dev/null +++ b/gas/testsuite/gas/riscv/fp-q-insns-64.d @@ -0,0 +1,125 @@ +#as: -march=rv64iq +#name: Q extension (64-bit) +#objdump: -dwrMnumeric + +.*:[ ]+file format .* + + +Disassembly of section .text: + +0+ : +[ ]+[0-9a-f]+:[ ]+26002fd3[ ]+fabs\.q[ ]+f31,f0 +[ ]+[0-9a-f]+:[ ]+27ffa053[ ]+fabs\.q[ ]+f0,f31 +[ ]+[0-9a-f]+:[ ]+06007fd3[ ]+fadd\.q[ ]+f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+060ff053[ ]+fadd\.q[ ]+f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+07f07053[ ]+fadd\.q[ ]+f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+06000053[ ]+fadd\.q[ ]+f0,f0,f0,rne +[ ]+[0-9a-f]+:[ ]+06001053[ ]+fadd\.q[ ]+f0,f0,f0,rtz +[ ]+[0-9a-f]+:[ ]+06002053[ ]+fadd\.q[ ]+f0,f0,f0,rdn +[ ]+[0-9a-f]+:[ ]+06003053[ ]+fadd\.q[ ]+f0,f0,f0,rup +[ ]+[0-9a-f]+:[ ]+06004053[ ]+fadd\.q[ ]+f0,f0,f0,rmm +[ ]+[0-9a-f]+:[ ]+e6001fd3[ ]+fclass\.q[ ]+x31,f0 +[ ]+[0-9a-f]+:[ ]+e60f9053[ ]+fclass\.q[ ]+x0,f31 +[ ]+[0-9a-f]+:[ ]+42307fd3[ ]+fcvt\.d\.q[ ]+f31,f0 +[ ]+[0-9a-f]+:[ ]+423ff053[ ]+fcvt\.d\.q[ ]+f0,f31 +[ ]+[0-9a-f]+:[ ]+42300053[ ]+fcvt\.d\.q[ ]+f0,f0,rne +[ ]+[0-9a-f]+:[ ]+c6207053[ ]+fcvt\.l\.q[ ]+x0,f0 +[ ]+[0-9a-f]+:[ ]+c6200053[ ]+fcvt\.l\.q[ ]+x0,f0,rne +[ ]+[0-9a-f]+:[ ]+c6307053[ ]+fcvt\.lu\.q[ ]+x0,f0 +[ ]+[0-9a-f]+:[ ]+46100fd3[ ]+fcvt\.q\.d[ ]+f31,f0 +[ ]+[0-9a-f]+:[ ]+461f8053[ ]+fcvt\.q\.d[ ]+f0,f31 +[ ]+[0-9a-f]+:[ ]+d6200053[ ]+fcvt\.q\.l[ ]+f0,x0 +[ ]+[0-9a-f]+:[ ]+d6300053[ ]+fcvt\.q\.lu[ ]+f0,x0 +[ ]+[0-9a-f]+:[ ]+46000fd3[ ]+fcvt\.q\.s[ ]+f31,f0 +[ ]+[0-9a-f]+:[ ]+460f8053[ ]+fcvt\.q\.s[ ]+f0,f31 +[ ]+[0-9a-f]+:[ ]+d6000fd3[ ]+fcvt\.q\.w[ ]+f31,x0 +[ ]+[0-9a-f]+:[ ]+d60f8053[ ]+fcvt\.q\.w[ ]+f0,x31 +[ ]+[0-9a-f]+:[ ]+d6100053[ ]+fcvt\.q\.wu[ ]+f0,x0 +[ ]+[0-9a-f]+:[ ]+40307fd3[ ]+fcvt\.s\.q[ ]+f31,f0 +[ ]+[0-9a-f]+:[ ]+403ff053[ ]+fcvt\.s\.q[ ]+f0,f31 +[ ]+[0-9a-f]+:[ ]+40300053[ ]+fcvt\.s\.q[ ]+f0,f0,rne +[ ]+[0-9a-f]+:[ ]+c6007fd3[ ]+fcvt\.w\.q[ ]+x31,f0 +[ ]+[0-9a-f]+:[ ]+c60ff053[ ]+fcvt\.w\.q[ ]+x0,f31 +[ ]+[0-9a-f]+:[ ]+c6000053[ ]+fcvt\.w\.q[ ]+x0,f0,rne +[ ]+[0-9a-f]+:[ ]+c6107053[ ]+fcvt\.wu\.q[ ]+x0,f0 +[ ]+[0-9a-f]+:[ ]+1e007fd3[ ]+fdiv\.q[ ]+f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+1e0ff053[ ]+fdiv\.q[ ]+f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+1ff07053[ ]+fdiv\.q[ ]+f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+1e000053[ ]+fdiv\.q[ ]+f0,f0,f0,rne +[ ]+[0-9a-f]+:[ ]+a6002fd3[ ]+feq\.q[ ]+x31,f0,f0 +[ ]+[0-9a-f]+:[ ]+a60fa053[ ]+feq\.q[ ]+x0,f31,f0 +[ ]+[0-9a-f]+:[ ]+a7f02053[ ]+feq\.q[ ]+x0,f0,f31 +[ ]+[0-9a-f]+:[ ]+a6000fd3[ ]+fle\.q[ ]+x31,f0,f0 +[ ]+[0-9a-f]+:[ ]+a7f00053[ ]+fle\.q[ ]+x0,f0,f31 +[ ]+[0-9a-f]+:[ ]+a60f8053[ ]+fle\.q[ ]+x0,f31,f0 +[ ]+[0-9a-f]+:[ ]+a6001fd3[ ]+flt\.q[ ]+x31,f0,f0 +[ ]+[0-9a-f]+:[ ]+a7f01053[ ]+flt\.q[ ]+x0,f0,f31 +[ ]+[0-9a-f]+:[ ]+a60f9053[ ]+flt\.q[ ]+x0,f31,f0 +[ ]+[0-9a-f]+:[ ]+a6000fd3[ ]+fle\.q[ ]+x31,f0,f0 +[ ]+[0-9a-f]+:[ ]+a60f8053[ ]+fle\.q[ ]+x0,f31,f0 +[ ]+[0-9a-f]+:[ ]+a7f00053[ ]+fle\.q[ ]+x0,f0,f31 +[ ]+[0-9a-f]+:[ ]+00004f87[ ]+flq[ ]+f31,0\(x0\) # 0( <.*>)? +[ ]+[0-9a-f]+:[ ]+7ff04007[ ]+flq[ ]+f0,2047\(x0\) # 7ff( <.*>)? +[ ]+[0-9a-f]+:[ ]+80004007[ ]+flq[ ]+f0,-2048\(x0\) # f+800( <.*>)? +[ ]+[0-9a-f]+:[ ]+000fc007[ ]+flq[ ]+f0,0\(x31\) +[ ]+[0-9a-f]+:[ ]+00000f97[ ]+auipc[ ]+x31,0x0[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_HI20[ ]+qvar +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* +[ ]+[0-9a-f]+:[ ]+000fc007[ ]+flq[ ]+f0,0\(x31\) # [0-9a-f]+( <.*>)?[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_LO12_I[ ]+.* +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* +[ ]+[0-9a-f]+:[ ]+a6001fd3[ ]+flt\.q[ ]+x31,f0,f0 +[ ]+[0-9a-f]+:[ ]+a60f9053[ ]+flt\.q[ ]+x0,f31,f0 +[ ]+[0-9a-f]+:[ ]+a7f01053[ ]+flt\.q[ ]+x0,f0,f31 +[ ]+[0-9a-f]+:[ ]+06007fc3[ ]+fmadd\.q[ ]+f31,f0,f0,f0 +[ ]+[0-9a-f]+:[ ]+060ff043[ ]+fmadd\.q[ ]+f0,f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+07f07043[ ]+fmadd\.q[ ]+f0,f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+fe007043[ ]+fmadd\.q[ ]+f0,f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+06000043[ ]+fmadd\.q[ ]+f0,f0,f0,f0,rne +[ ]+[0-9a-f]+:[ ]+2e001fd3[ ]+fmax\.q[ ]+f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+2e0f9053[ ]+fmax\.q[ ]+f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+2ff01053[ ]+fmax\.q[ ]+f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+2e000fd3[ ]+fmin\.q[ ]+f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+2e0f8053[ ]+fmin\.q[ ]+f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+2ff00053[ ]+fmin\.q[ ]+f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+06007fc7[ ]+fmsub\.q[ ]+f31,f0,f0,f0 +[ ]+[0-9a-f]+:[ ]+060ff047[ ]+fmsub\.q[ ]+f0,f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+07f07047[ ]+fmsub\.q[ ]+f0,f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+fe007047[ ]+fmsub\.q[ ]+f0,f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+06000047[ ]+fmsub\.q[ ]+f0,f0,f0,f0,rne +[ ]+[0-9a-f]+:[ ]+16007fd3[ ]+fmul\.q[ ]+f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+160ff053[ ]+fmul\.q[ ]+f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+17f07053[ ]+fmul\.q[ ]+f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+16000053[ ]+fmul\.q[ ]+f0,f0,f0,rne +[ ]+[0-9a-f]+:[ ]+26000fd3[ ]+fmv\.q[ ]+f31,f0 +[ ]+[0-9a-f]+:[ ]+27ff8053[ ]+fmv\.q[ ]+f0,f31 +[ ]+[0-9a-f]+:[ ]+26001fd3[ ]+fneg\.q[ ]+f31,f0 +[ ]+[0-9a-f]+:[ ]+27ff9053[ ]+fneg\.q[ ]+f0,f31 +[ ]+[0-9a-f]+:[ ]+06007fcf[ ]+fnmadd\.q[ ]+f31,f0,f0,f0 +[ ]+[0-9a-f]+:[ ]+060ff04f[ ]+fnmadd\.q[ ]+f0,f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+07f0704f[ ]+fnmadd\.q[ ]+f0,f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+fe00704f[ ]+fnmadd\.q[ ]+f0,f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+0600004f[ ]+fnmadd\.q[ ]+f0,f0,f0,f0,rne +[ ]+[0-9a-f]+:[ ]+0600704b[ ]+fnmsub\.q[ ]+f0,f0,f0,f0 +[ ]+[0-9a-f]+:[ ]+060ff04b[ ]+fnmsub\.q[ ]+f0,f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+07f0704b[ ]+fnmsub\.q[ ]+f0,f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+fe00704b[ ]+fnmsub\.q[ ]+f0,f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+0600004b[ ]+fnmsub\.q[ ]+f0,f0,f0,f0,rne +[ ]+[0-9a-f]+:[ ]+26100fd3[ ]+fsgnj\.q[ ]+f31,f0,f1 +[ ]+[0-9a-f]+:[ ]+260f8053[ ]+fsgnj\.q[ ]+f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+27f00053[ ]+fsgnj\.q[ ]+f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+26009053[ ]+fsgnjn\.q[ ]+f0,f1,f0 +[ ]+[0-9a-f]+:[ ]+2600a053[ ]+fsgnjx\.q[ ]+f0,f1,f0 +[ ]+[0-9a-f]+:[ ]+01f04027[ ]+fsq[ ]+f31,0\(x0\) # 0( <.*>)? +[ ]+[0-9a-f]+:[ ]+00004fa7[ ]+fsq[ ]+f0,31\(x0\) # 1f( <.*>)? +[ ]+[0-9a-f]+:[ ]+fe004027[ ]+fsq[ ]+f0,-32\(x0\) # f+e0( <.*>)? +[ ]+[0-9a-f]+:[ ]+000fc027[ ]+fsq[ ]+f0,0\(x31\) +[ ]+[0-9a-f]+:[ ]+00000f97[ ]+auipc[ ]+x31,0x0[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_HI20[ ]+qvar +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* +[ ]+[0-9a-f]+:[ ]+000fc027[ ]+fsq[ ]+f0,0\(x31\) # [0-9a-f]+( <.*>)?[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_LO12_S[ ]+.* +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* +[ ]+[0-9a-f]+:[ ]+5e007fd3[ ]+fsqrt\.q[ ]+f31,f0 +[ ]+[0-9a-f]+:[ ]+5e0ff053[ ]+fsqrt\.q[ ]+f0,f31 +[ ]+[0-9a-f]+:[ ]+5e000053[ ]+fsqrt\.q[ ]+f0,f0,rne +[ ]+[0-9a-f]+:[ ]+0e007fd3[ ]+fsub\.q[ ]+f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+0e0ff053[ ]+fsub\.q[ ]+f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+0ff07053[ ]+fsub\.q[ ]+f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+0e000053[ ]+fsub\.q[ ]+f0,f0,f0,rne --- /dev/null +++ b/gas/testsuite/gas/riscv/fp-q-insns-64.s @@ -0,0 +1,133 @@ +Q: + fabs.q f31, f0 + fabs.q f0, f31 + + fadd.q f31, f0, f0 + fadd.q f0, f31, f0 + fadd.q f0, f0, f31 + fadd.q f0, f0, f0, rne + fadd.q f0, f0, f0, rtz + fadd.q f0, f0, f0, rdn + fadd.q f0, f0, f0, rup + fadd.q f0, f0, f0, rmm + + fclass.q x31, f0 + fclass.q x0, f31 + + fcvt.d.q f31, f0 + fcvt.d.q f0, f31 + fcvt.d.q f0, f0, rne + fcvt.l.q x0, f0 + fcvt.l.q x0, f0, rne + fcvt.lu.q x0, f0 + fcvt.q.d f31, f0 + fcvt.q.d f0, f31 + fcvt.q.l f0, x0 + fcvt.q.lu f0, x0 + fcvt.q.s f31, f0 + fcvt.q.s f0, f31 + fcvt.q.w f31, x0 + fcvt.q.w f0, x31 + fcvt.q.wu f0, x0 + fcvt.s.q f31, f0 + fcvt.s.q f0, f31 + fcvt.s.q f0, f0, rne + fcvt.w.q x31, f0 + fcvt.w.q x0, f31 + fcvt.w.q x0, f0, rne + fcvt.wu.q x0, f0 + + fdiv.q f31, f0, f0 + fdiv.q f0, f31, f0 + fdiv.q f0, f0, f31 + fdiv.q f0, f0, f0, rne + + feq.q x31, f0, f0 + feq.q x0, f31, f0 + feq.q x0, f0, f31 + + fge.q x31, f0, f0 + fge.q x0, f31, f0 + fge.q x0, f0, f31 + + fgt.q x31, f0, f0 + fgt.q x0, f31, f0 + fgt.q x0, f0, f31 + + fle.q x31, f0, f0 + fle.q x0, f31, f0 + fle.q x0, f0, f31 + + flq f31, (x0) + flq f0, 0x7ff(x0) + flq f0, -0x800(x0) + flq f0, (x31) + flq f0, qvar, x31 + + flt.q x31, f0, f0 + flt.q x0, f31, f0 + flt.q x0, f0, f31 + + fmadd.q f31, f0, f0, f0 + fmadd.q f0, f31, f0, f0 + fmadd.q f0, f0, f31, f0 + fmadd.q f0, f0, f0, f31 + fmadd.q f0, f0, f0, f0, rne + + fmax.q f31, f0, f0 + fmax.q f0, f31, f0 + fmax.q f0, f0, f31 + + fmin.q f31, f0, f0 + fmin.q f0, f31, f0 + fmin.q f0, f0, f31 + + fmsub.q f31, f0, f0, f0 + fmsub.q f0, f31, f0, f0 + fmsub.q f0, f0, f31, f0 + fmsub.q f0, f0, f0, f31 + fmsub.q f0, f0, f0, f0, rne + + fmul.q f31, f0, f0 + fmul.q f0, f31, f0 + fmul.q f0, f0, f31 + fmul.q f0, f0, f0, rne + + fmv.q f31, f0 + fmv.q f0, f31 + + fneg.q f31, f0 + fneg.q f0, f31 + + fnmadd.q f31, f0, f0, f0 + fnmadd.q f0, f31, f0, f0 + fnmadd.q f0, f0, f31, f0 + fnmadd.q f0, f0, f0, f31 + fnmadd.q f0, f0, f0, f0, rne + + fnmsub.q f0, f0, f0, f0 + fnmsub.q f0, f31, f0, f0 + fnmsub.q f0, f0, f31, f0 + fnmsub.q f0, f0, f0, f31 + fnmsub.q f0, f0, f0, f0, rne + + fsgnj.q f31, f0, f1 + fsgnj.q f0, f31, f0 + fsgnj.q f0, f0, f31 + fsgnjn.q f0, f1, f0 + fsgnjx.q f0, f1, f0 + + fsq f31, (x0) + fsq f0, 0x1f(x0) + fsq f0, -0x20(x0) + fsq f0, (x31) + fsq f0, qvar, x31 + + fsqrt.q f31, f0 + fsqrt.q f0, f31 + fsqrt.q f0, f0, rne + + fsub.q f31, f0, f0 + fsub.q f0, f31, f0 + fsub.q f0, f0, f31 + fsub.q f0, f0, f0, rne From patchwork Mon Oct 30 14:46:40 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 159772 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:d641:0:b0:403:3b70:6f57 with SMTP id cy1csp2270335vqb; Mon, 30 Oct 2023 07:46:56 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGlM2l2SFTb2zXrDpBqNiH0jcCafdJwb3H83rzNmD6/eznSKDsE28X+Y90KI3/xpszCOqzN X-Received: by 2002:a05:6808:16a9:b0:3ae:a81:55a9 with SMTP id bb41-20020a05680816a900b003ae0a8155a9mr12550927oib.24.1698677216102; Mon, 30 Oct 2023 07:46:56 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1698677216; cv=pass; d=google.com; s=arc-20160816; b=RpOrerakKCX6lVYk0pz2agts4Joo32iBb3dZjwZveik1XO/0GsRTlPg2H//Dlq72YY MDnDhQ/SI/e9h3vtn7CupfqjKE1zpN4WQA6no8PR565YrCJNH0FKeubvup+OS7u7PV0/ FUT2WmYJqxoQu2wCZTmB0TYO14m6iRVWQ+E7e/4mQiSOfsisZFdnATiJj0GPYaKbcFy6 Zgbw/jY7JT5lS9Z+k4aDssUpY5367iaewKw6p2u07v9XOy6/2DmQupzIf91RQi+QNT6x RsKexBGD4VG5QF9RBrTYb0ZQLLtjrUGmqI75ss+B3dTqwIORrxJ4ytWrsigusRBDkSsQ RcuQ== ARC-Message-Signature: i=3; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:mime-version :content-transfer-encoding:in-reply-to:references:cc:to:from :content-language:subject:user-agent:date:message-id:dkim-signature :arc-filter:dmarc-filter:delivered-to; bh=6Dh6qHTCSuMRKdgKZbqYsH2/Y83G0mrzwSefz21jWg4=; fh=VT6N6QD4amIFxZr9T34bK4bL2a91CdTGSC+SgZliO78=; b=HfPJy+hle9N45CTDjLnO4Ua1eb44v11yzaRMqo65pp1oWf0tz3Mh+OoYBlan1DmUpD CY7PK9omD4YOTXXC4au44tgje2AciX8ufGp2ojc0GBGMSQexxuK9XdUAXU5IKcfHSrhx utOfRVDKx8l7I4xtDxVfUoTkxeLEyIZs6faoOC0OyYhb96eLSphfZl8PYWHJ6C9YTTCs MglpOVoAchajnzKXey+Xgswr11q9i8I9OcVFPwyn9VyfRFgM00ePACYRLfAAFGmT9fXh uwNDYt5Ghj3N+k7FS7V5QjFAUOuzYyIzL4kKNhsvfOX/o0MsFIMBNiowin7V8tkfPW1v HzuQ== ARC-Authentication-Results: i=3; mx.google.com; dkim=pass header.i=@suse.com header.s=selector1 header.b=Ct9OhxE5; arc=pass (i=2); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Received: from server2.sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id n22-20020a05620a295600b00767d6e06822si5986999qkp.40.2023.10.30.07.46.56 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 30 Oct 2023 07:46:56 -0700 (PDT) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=selector1 header.b=Ct9OhxE5; arc=pass (i=2); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id B885B38618D3 for ; Mon, 30 Oct 2023 14:46:55 +0000 (GMT) X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2070.outbound.protection.outlook.com [40.107.22.70]) by sourceware.org (Postfix) with ESMTPS id DFA163860763 for ; Mon, 30 Oct 2023 14:46:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org DFA163860763 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 DFA163860763 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.22.70 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1698677208; cv=pass; b=g3ZenJhn4t65phhsZrvQxzECmesh7afsM6MbglxE7IQwb835nt2CvlNFkWWW9kSiBb+xz5X1zALN6cPx4o7eqQ4Dew47/g7xK9Yip+oG9dbsmKbxAhnBdSKl4LnMq3TQ4PeVjmuP/NweKbu1wyeFXT3Rdynro7CXAgHiydklXG8= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1698677208; c=relaxed/simple; bh=I6jYqHI88yw6nIaOZmFt5OshIaAvQtWKiPYiWBAATNg=; h=DKIM-Signature:Message-ID:Date:Subject:From:To:MIME-Version; b=qQePHlNe/0MP7w3Bz5s5WNzNYfKi3EgWf0ND066kUKa4OYMUbaFSg1ab6WnEGBZ5LxfYvQCpIDOMsCSYnjsjlEScSI/4bqAv6FQYes9bAgg7nXkam5s1kKTie8zhFYIIxfG9kIa3+LUJkpOceF9vc8o/DARXewfE7JqiN4yDZCg= ARC-Authentication-Results: i=2; server2.sourceware.org ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EVBXvYx116PnTbYhvHu8wxVUen6e3yo+LLI8Y+XRBZlc0Yn+GNbl14zPJZ/Ea0IVZZLL4D+gbEjpeGnZ98BoYVmZhY4zduiYVTViDsHnzPfa83PHFF7cT6J10AwzcoQ4rJqr50+E3wVdCWACAX4OM1GgmGqNZobXJ4zmAC49YuVafWDADBFzD4fK5DubVaQBGkbcbsYVh6v8OmUIuWWmTZ/TdA+cJ8bBYuGz2aeCepIk8jFQQZNQre5St2UBOtH1NBQyvp+RbuNKSjTyohCgxygY9ymMqfCowUji+yXhmIHn54Lgo5ATdWM7L+9f0DYVcbeg7sWNDZTJT24cXUZKIw== 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=6Dh6qHTCSuMRKdgKZbqYsH2/Y83G0mrzwSefz21jWg4=; b=U/k75rznbKdZpvFQEtaNV0AZzCkZTsVppn5486bgSliAkwsIiZP48IgiWklLBSW7k28E6s5o+D09LWFVRz2jhsMWO5yux3sQFTp+VobhyzfQhXDk1kmu5R3GikYPuRH6Y9xATFnpO/xzuJm8RgCqJsddEabnKvc7cicNm/e12Fal1z3vuTtNJMtXJBle3ruhlHcFYWR1K0hQ1+IAzOJTl6aiYA8gTmQPKqeeOLwtM1OkKVTvk23uTvaErfeYGob0DhyMWDWs00Zc8owgieTD9//rXdupQ7LdIUdzBf+eV6GFuX9L2GjdZ4vBJzDiUCGbaIr7yMY1okaTKtpLKKmjLA== 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=6Dh6qHTCSuMRKdgKZbqYsH2/Y83G0mrzwSefz21jWg4=; b=Ct9OhxE5zim5b7JE1R2ij+i6JznhGIpyzXf8dPntmfTkvCL+TucUMLRXUZYPmToHX9Ik6xAedCsI9saIZkz2W+EWUcQef1FzAeamRAH4MUu4kWAoxkaLxiCJ38kT9aH6zRAb7YvUeC5iipKIJb06WRh7Hp6Drky4FPJRyov6hrB2EQbjn9jt/9HGLziXeY5HtFNndR3b5V4N/SMdXUqGIeXZvhV1jKd8L0Q/FMORl4XvXmhZRrpeqfq2LW5f0B1xq91vbCeQh9pdQy71xuPWc8Cqo/8jhyv0oWwuuPOY0V6OlLzQCe2QLDUiyBNri/RGMQ7WipZ6O2qsi7AOag9TFQ== 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 PA4PR04MB7968.eurprd04.prod.outlook.com (2603:10a6:102:c0::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.11; Mon, 30 Oct 2023 14:46:39 +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.6954.016; Mon, 30 Oct 2023 14:46:39 +0000 Message-ID: <3a0ebee4-2145-beb0-4f8c-6960812fda45@suse.com> Date: Mon, 30 Oct 2023 15:46:40 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 Subject: [PATCH 2/4] RISC-V: add F- and D-extension testcases Content-Language: en-US From: Jan Beulich To: Binutils Cc: Palmer Dabbelt , Andrew Waterman , Jim Wilson , Nelson Chu References: In-Reply-To: X-ClientProxiedBy: FR5P281CA0060.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:f0::18) To DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB7968:EE_ X-MS-Office365-Filtering-Correlation-Id: 6c7e824e-99b5-4808-008e-08dbd957063c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 5AsOJWey6tLhqNlYMgZGAi8ccqrgoZEUoYm9V3in77/t7mGfp1Ezq1Jg9I97024c/KKkjVpSTUkwB2blHMlpBS7YbECemkWy4qXQyDG9ChRIKarJ5yU5ttIDk2QUdWlMNi3HaXxgrTPkbMRTgqt4DE6Mxc4tsuZ/MXNgXGCkR4jqtvGqQmMsXEcXxTVjCbmbgfwXUR99KgEyBCW0ChNojgZV2VR6PSnqViSJvTGbmisK4wUDtFkAUTIf+GZE9xpuJbc3YsqsYSMpqIEN3TpKiKwkq3WT44qo6xGgOTzLiNRfjryT/5ScjvtL7zc9PHV8mFhP+TAbnsGOVhAAa1obYo7LW3ZyIeywy7RFUOMd7a0HQGHuQ+VaoDlWgi2k602S4DSePwr7kzBn55gj26fJxFDVHr+5Ap4GsPmDXrgB5td1uF8VV2DZzq8Y07+SgGn7B86gCPPFbtJ7pYxXYNvimUmfit8PdhYnD73skN+UcN1vLXO3lReU2trbXTSaI/oWUaqlVjqta/yLxz8WvO+5JCFPt+D4yw7qktrAwLTgJKRgG+9/lnew7EyLVGGMQBVakwTVZTAhzIcRBWcbT7UOh+KTBuyN6hffNAWrxMMpEQgHIIiT8lFoMDM2/QhgQodJ3ovgUsoZ7PFSsy4Sx5QJhA== 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)(396003)(366004)(346002)(39860400002)(376002)(230922051799003)(64100799003)(451199024)(186009)(1800799009)(86362001)(31686004)(2616005)(5660300002)(38100700002)(6512007)(30864003)(4326008)(26005)(6506007)(6666004)(41300700001)(36756003)(66946007)(6486002)(31696002)(8936002)(2906002)(54906003)(66476007)(6916009)(478600001)(8676002)(66556008)(316002)(43740500002)(45980500001)(579004); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?3jE6l/4VdZmmGltlv/k108Jcixha?= =?utf-8?q?YWlyU4EkrNQe0bRE6KFVgwQdxkmR4IN9r/AddMNOclJXjPZqLgk4Nzqi62inYgEGn?= =?utf-8?q?GBj8xm+Wg54d/rHbCCD1IL3GDs6Hg6Lwz9Yq2k4ieSRNjeGYnNOcl7ljoDIJdukqc?= =?utf-8?q?RlI1eNbQSqC8AuPHOaiolXyfhYUtnIedMZ7CKEi+vnWfvUCjONPF+beaRT1XoQaVS?= =?utf-8?q?Df46hVkxVv71IB1SU6qEVxCkVUJz8wTfHtEZLvOn8ttfA0xRjcGBvQUNb3vMutHlM?= =?utf-8?q?f6WlmwXmllmumRP+FC89w9XEYu6+X2Hnj60CwKVqusnlBOgGVU9ZL/MoO/WpgPk2a?= =?utf-8?q?8lsJcMueWg4LuzU9e9PCVClVs3m7G0KZwYID1XlQcDhxXrpr+G/CYi9HkXgusH86x?= =?utf-8?q?QfKfOc92PpD1zjltRXBUyQkUxjqHZQVk53N6/6lNc2rFBdN2XWhLWaDtrhtGzbT3q?= =?utf-8?q?CiuPgfG7P6h2NruvY68uNlz29SknTMmuKYQUq3iEArPVx7s7O4WaVFN23C3go2t3H?= =?utf-8?q?utUVcqmcYQrv26dZrkJZJ/ZTjlPFObGPUj2uL2N0EeWwqEh/QFPcdm33FpZ9GD7WL?= =?utf-8?q?yw2p3fKgK1t8q+gC1UopgjMz4K6UMtDa2EsAAwZ0Gogdf4VCi0wdG6gL1PCo3eU48?= =?utf-8?q?nJ5PLmkav5PzEUMJpKjkl9rNeT9xdQrR0Z9oCqEDjqiYxasRwbwvC2X+O3G0uUCkX?= =?utf-8?q?387S/c6/sSG3z6sRJgSBew3HZSROsqStlFnUGB68kbqidD4ZaB7IpKbt8U32rDrqA?= =?utf-8?q?GfS5aojSDxxYpp9qJdTUj5gq90Rapf0DzjUc9Lc92I2Xtl9MYFTIRKnBiT6i39g2s?= =?utf-8?q?xMj/H405cgltFvKX0SBBd1nkxVTnWXgR29zDgLZqzwqJQoQ8BkaZf6hEWtVF7OcNa?= =?utf-8?q?vrhZHUv/tZD1W912hlyaTj1X5Qyj1aA+nVRUIRw3pcllB13d6cMawXxHApI1Gqm7O?= =?utf-8?q?3UcTrwc23xyVYwqrcxYEGNB+Ywj62eHwM5xCZcWAHqbWjBiE9ChSFxlejbUTq99DI?= =?utf-8?q?KYcOQToyJ6KFFpsOYjgiyk7OHKhJVteOcpKe/+6Jv3xERNAkGvD/PRJ0saIn7bPGu?= =?utf-8?q?leliy+bL329bEEIZvxGkIebttBHzR4ezMlzkScHtDdVdOqpipbaiukFCK9o6E9ysH?= =?utf-8?q?RnFWyKzbJuhi7P9z9EBrRR/Hxst086m4uDH1nMoI9/8aV6Rr4yRQNFoPIODgRX0WO?= =?utf-8?q?ILVw0T4k4ABX68h/bEaS/w41ITTrC/3dWMEjFfGYPcThlITAmUlOZbqDCs4UdFPHi?= =?utf-8?q?qgPw5GwV/l5BYsC8ZxCuhcMKKZ20Bc7KEHWW7wzRmXsyd8/PBkiYLtdODjYCV/5vs?= =?utf-8?q?/IhkNGLZp/BQkHq6Ri25LnNzytEbVd++Gw3BFKH0D3908KTL7a5VEoDiOmNs/F8hH?= =?utf-8?q?+XafUrQMJO7+58XZTfE6/Q3H5ResejwYLzYgbKehhgMZadfCG8Q0jCIy4Yv4XqRNK?= =?utf-8?q?MwBPW6dVERVVHWVwUvL/HvxdzLpUkNvUdhK9szAVgxDOC8Dw1TgTPv++tkiX1SLGZ?= =?utf-8?q?VckynEK2zXyl?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6c7e824e-99b5-4808-008e-08dbd957063c X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Oct 2023 14:46:39.4103 (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: c8lifHmKIL2ljD7NdBiHfuDCBU8GGHTstgVeFn4V0gGKCfG1x5Kno5CxOKs9LqvNCMQrBKkOFNl9FEMTTHo8Wg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7968 X-Spam-Status: No, score=-3026.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, 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 X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: binutils-bounces+ouuuleilei=gmail.com@sourceware.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1781192160685810397 X-GMAIL-MSGID: 1781192160685810397 Make sure future changes won't regress any of this. Also cover the FLH and FSH macro insns of the Zfh extension. --- /dev/null +++ b/gas/testsuite/gas/riscv/fp-d-insns-32.d @@ -0,0 +1,128 @@ +#as: -march=rv32icd +#name: D extension (32-bit) +#objdump: -dwrMnumeric + +.*:[ ]+file format .* + + +Disassembly of section .text: + +0+ : +[ ]+[0-9a-f]+:[ ]+22002fd3[ ]+fabs\.d[ ]+f31,f0 +[ ]+[0-9a-f]+:[ ]+23ffa053[ ]+fabs\.d[ ]+f0,f31 +[ ]+[0-9a-f]+:[ ]+02007fd3[ ]+fadd\.d[ ]+f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+020ff053[ ]+fadd\.d[ ]+f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+03f07053[ ]+fadd\.d[ ]+f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+02000053[ ]+fadd\.d[ ]+f0,f0,f0,rne +[ ]+[0-9a-f]+:[ ]+02001053[ ]+fadd\.d[ ]+f0,f0,f0,rtz +[ ]+[0-9a-f]+:[ ]+02002053[ ]+fadd\.d[ ]+f0,f0,f0,rdn +[ ]+[0-9a-f]+:[ ]+02003053[ ]+fadd\.d[ ]+f0,f0,f0,rup +[ ]+[0-9a-f]+:[ ]+02004053[ ]+fadd\.d[ ]+f0,f0,f0,rmm +[ ]+[0-9a-f]+:[ ]+e2001fd3[ ]+fclass\.d[ ]+x31,f0 +[ ]+[0-9a-f]+:[ ]+e20f9053[ ]+fclass\.d[ ]+x0,f31 +[ ]+[0-9a-f]+:[ ]+42000fd3[ ]+fcvt\.d\.s[ ]+f31,f0 +[ ]+[0-9a-f]+:[ ]+420f8053[ ]+fcvt\.d\.s[ ]+f0,f31 +[ ]+[0-9a-f]+:[ ]+d2000053[ ]+fcvt\.d\.w[ ]+f0,x0 +[ ]+[0-9a-f]+:[ ]+d2100053[ ]+fcvt\.d\.wu[ ]+f0,x0 +[ ]+[0-9a-f]+:[ ]+40107fd3[ ]+fcvt\.s\.d[ ]+f31,f0 +[ ]+[0-9a-f]+:[ ]+401ff053[ ]+fcvt\.s\.d[ ]+f0,f31 +[ ]+[0-9a-f]+:[ ]+40100053[ ]+fcvt\.s\.d[ ]+f0,f0,rne +[ ]+[0-9a-f]+:[ ]+c2007053[ ]+fcvt\.w\.d[ ]+x0,f0 +[ ]+[0-9a-f]+:[ ]+c2107053[ ]+fcvt\.wu\.d[ ]+x0,f0 +[ ]+[0-9a-f]+:[ ]+1a007fd3[ ]+fdiv\.d[ ]+f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+1a0ff053[ ]+fdiv\.d[ ]+f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+1bf07053[ ]+fdiv\.d[ ]+f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+1a000053[ ]+fdiv\.d[ ]+f0,f0,f0,rne +[ ]+[0-9a-f]+:[ ]+a2002fd3[ ]+feq\.d[ ]+x31,f0,f0 +[ ]+[0-9a-f]+:[ ]+a20fa053[ ]+feq\.d[ ]+x0,f31,f0 +[ ]+[0-9a-f]+:[ ]+a3f02053[ ]+feq\.d[ ]+x0,f0,f31 +[ ]+[0-9a-f]+:[ ]+a2000fd3[ ]+fle\.d[ ]+x31,f0,f0 +[ ]+[0-9a-f]+:[ ]+a3f00053[ ]+fle\.d[ ]+x0,f0,f31 +[ ]+[0-9a-f]+:[ ]+a20f8053[ ]+fle\.d[ ]+x0,f31,f0 +[ ]+[0-9a-f]+:[ ]+a2001fd3[ ]+flt\.d[ ]+x31,f0,f0 +[ ]+[0-9a-f]+:[ ]+a3f01053[ ]+flt\.d[ ]+x0,f0,f31 +[ ]+[0-9a-f]+:[ ]+a20f9053[ ]+flt\.d[ ]+x0,f31,f0 +[ ]+[0-9a-f]+:[ ]+00003f87[ ]+fld[ ]+f31,0\(x0\) # 0( <.*>)? +[ ]+[0-9a-f]+:[ ]+7ff03007[ ]+fld[ ]+f0,2047\(x0\) # 7ff( <.*>)? +[ ]+[0-9a-f]+:[ ]+80003007[ ]+fld[ ]+f0,-2048\(x0\) # fffff800( <.*>)? +[ ]+[0-9a-f]+:[ ]+000fb007[ ]+fld[ ]+f0,0\(x31\) +[ ]+[0-9a-f]+:[ ]+00000f97[ ]+auipc[ ]+x31,0x0[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_HI20[ ]+dval +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* +[ ]+[0-9a-f]+:[ ]+000fb007[ ]+fld[ ]+f0,0\(x31\) # [0-9a-f]+( <.*>)?[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_LO12_I[ ]+.* +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* +[ ]+[0-9a-f]+:[ ]+201c[ ]+fld[ ]+f15,0\(x8\) +[ ]+[0-9a-f]+:[ ]+3c00[ ]+fld[ ]+f8,56\(x8\) +[ ]+[0-9a-f]+:[ ]+2060[ ]+fld[ ]+f8,192\(x8\) +[ ]+[0-9a-f]+:[ ]+2380[ ]+fld[ ]+f8,0\(x15\) +[ ]+[0-9a-f]+:[ ]+2f82[ ]+fld[ ]+f31,0\(x2\) +[ ]+[0-9a-f]+:[ ]+2062[ ]+fld[ ]+f0,24\(x2\) +[ ]+[0-9a-f]+:[ ]+3002[ ]+fld[ ]+f0,32\(x2\) +[ ]+[0-9a-f]+:[ ]+201e[ ]+fld[ ]+f0,448\(x2\) +[ ]+[0-9a-f]+:[ ]+a2000fd3[ ]+fle\.d[ ]+x31,f0,f0 +[ ]+[0-9a-f]+:[ ]+a20f8053[ ]+fle\.d[ ]+x0,f31,f0 +[ ]+[0-9a-f]+:[ ]+a3f00053[ ]+fle\.d[ ]+x0,f0,f31 +[ ]+[0-9a-f]+:[ ]+a2001fd3[ ]+flt\.d[ ]+x31,f0,f0 +[ ]+[0-9a-f]+:[ ]+a20f9053[ ]+flt\.d[ ]+x0,f31,f0 +[ ]+[0-9a-f]+:[ ]+a3f01053[ ]+flt\.d[ ]+x0,f0,f31 +[ ]+[0-9a-f]+:[ ]+02007fc3[ ]+fmadd\.d[ ]+f31,f0,f0,f0 +[ ]+[0-9a-f]+:[ ]+020ff043[ ]+fmadd\.d[ ]+f0,f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+03f07043[ ]+fmadd\.d[ ]+f0,f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+fa007043[ ]+fmadd\.d[ ]+f0,f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+02000043[ ]+fmadd\.d[ ]+f0,f0,f0,f0,rne +[ ]+[0-9a-f]+:[ ]+2a001fd3[ ]+fmax\.d[ ]+f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+2a0f9053[ ]+fmax\.d[ ]+f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+2bf01053[ ]+fmax\.d[ ]+f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+2a000fd3[ ]+fmin\.d[ ]+f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+2a0f8053[ ]+fmin\.d[ ]+f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+2bf00053[ ]+fmin\.d[ ]+f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+02007fc7[ ]+fmsub\.d[ ]+f31,f0,f0,f0 +[ ]+[0-9a-f]+:[ ]+020ff047[ ]+fmsub\.d[ ]+f0,f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+03f07047[ ]+fmsub\.d[ ]+f0,f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+fa007047[ ]+fmsub\.d[ ]+f0,f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+02000047[ ]+fmsub\.d[ ]+f0,f0,f0,f0,rne +[ ]+[0-9a-f]+:[ ]+12007fd3[ ]+fmul\.d[ ]+f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+120ff053[ ]+fmul\.d[ ]+f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+13f07053[ ]+fmul\.d[ ]+f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+12000053[ ]+fmul\.d[ ]+f0,f0,f0,rne +[ ]+[0-9a-f]+:[ ]+22000fd3[ ]+fmv\.d[ ]+f31,f0 +[ ]+[0-9a-f]+:[ ]+23ff8053[ ]+fmv\.d[ ]+f0,f31 +[ ]+[0-9a-f]+:[ ]+22001fd3[ ]+fneg\.d[ ]+f31,f0 +[ ]+[0-9a-f]+:[ ]+23ff9053[ ]+fneg\.d[ ]+f0,f31 +[ ]+[0-9a-f]+:[ ]+02007fcf[ ]+fnmadd\.d[ ]+f31,f0,f0,f0 +[ ]+[0-9a-f]+:[ ]+020ff04f[ ]+fnmadd\.d[ ]+f0,f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+03f0704f[ ]+fnmadd\.d[ ]+f0,f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+fa00704f[ ]+fnmadd\.d[ ]+f0,f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+0200004f[ ]+fnmadd\.d[ ]+f0,f0,f0,f0,rne +[ ]+[0-9a-f]+:[ ]+02007fcb[ ]+fnmsub\.d[ ]+f31,f0,f0,f0 +[ ]+[0-9a-f]+:[ ]+020ff04b[ ]+fnmsub\.d[ ]+f0,f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+03f0704b[ ]+fnmsub\.d[ ]+f0,f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+fa00704b[ ]+fnmsub\.d[ ]+f0,f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+0200004b[ ]+fnmsub\.d[ ]+f0,f0,f0,f0,rne +[ ]+[0-9a-f]+:[ ]+01f03027[ ]+fsd[ ]+f31,0\(x0\) # 0( <.*>)? +[ ]+[0-9a-f]+:[ ]+00003fa7[ ]+fsd[ ]+f0,31\(x0\) # 1f( <.*>)? +[ ]+[0-9a-f]+:[ ]+fe003027[ ]+fsd[ ]+f0,-32\(x0\) # ffffffe0( <.*>)? +[ ]+[0-9a-f]+:[ ]+000fb027[ ]+fsd[ ]+f0,0\(x31\) +[ ]+[0-9a-f]+:[ ]+00000f97[ ]+auipc[ ]+x31,0x0[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_HI20[ ]+dval +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* +[ ]+[0-9a-f]+:[ ]+000fb027[ ]+fsd[ ]+f0,0\(x31\) # [0-9a-f]+( <.*>)?[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_LO12_S[ ]+.* +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* +[ ]+[0-9a-f]+:[ ]+a01c[ ]+fsd[ ]+f15,0\(x8\) +[ ]+[0-9a-f]+:[ ]+bc00[ ]+fsd[ ]+f8,56\(x8\) +[ ]+[0-9a-f]+:[ ]+a060[ ]+fsd[ ]+f8,192\(x8\) +[ ]+[0-9a-f]+:[ ]+a380[ ]+fsd[ ]+f8,0\(x15\) +[ ]+[0-9a-f]+:[ ]+a07e[ ]+fsd[ ]+f31,0\(x2\) +[ ]+[0-9a-f]+:[ ]+ac02[ ]+fsd[ ]+f0,24\(x2\) +[ ]+[0-9a-f]+:[ ]+b002[ ]+fsd[ ]+f0,32\(x2\) +[ ]+[0-9a-f]+:[ ]+a382[ ]+fsd[ ]+f0,448\(x2\) +[ ]+[0-9a-f]+:[ ]+22100fd3[ ]+fsgnj\.d[ ]+f31,f0,f1 +[ ]+[0-9a-f]+:[ ]+220f8053[ ]+fsgnj\.d[ ]+f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+23f00053[ ]+fsgnj\.d[ ]+f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+22009053[ ]+fsgnjn\.d[ ]+f0,f1,f0 +[ ]+[0-9a-f]+:[ ]+2200a053[ ]+fsgnjx\.d[ ]+f0,f1,f0 +[ ]+[0-9a-f]+:[ ]+5a007fd3[ ]+fsqrt\.d[ ]+f31,f0 +[ ]+[0-9a-f]+:[ ]+5a0ff053[ ]+fsqrt\.d[ ]+f0,f31 +[ ]+[0-9a-f]+:[ ]+5a000053[ ]+fsqrt\.d[ ]+f0,f0,rne +[ ]+[0-9a-f]+:[ ]+0a007fd3[ ]+fsub\.d[ ]+f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+0a0ff053[ ]+fsub\.d[ ]+f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+0bf07053[ ]+fsub\.d[ ]+f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+0a000053[ ]+fsub\.d[ ]+f0,f0,f0,rne --- /dev/null +++ b/gas/testsuite/gas/riscv/fp-d-insns-32.s @@ -0,0 +1,140 @@ +D: + fabs.d f31, f0 + fabs.d f0, f31 + + fadd.d f31, f0, f0 + fadd.d f0, f31, f0 + fadd.d f0, f0, f31 + fadd.d f0, f0, f0, rne + fadd.d f0, f0, f0, rtz + fadd.d f0, f0, f0, rdn + fadd.d f0, f0, f0, rup + fadd.d f0, f0, f0, rmm + + fclass.d x31, f0 + fclass.d x0, f31 + + fcvt.d.s f31, f0 + fcvt.d.s f0, f31 + fcvt.d.w f0, x0 + fcvt.d.wu f0, x0 + fcvt.s.d f31, f0 + fcvt.s.d f0, f31 + fcvt.s.d f0, f0, rne + fcvt.w.d x0, f0 + fcvt.wu.d x0, f0 + + fdiv.d f31, f0, f0 + fdiv.d f0, f31, f0 + fdiv.d f0, f0, f31 + fdiv.d f0, f0, f0, rne + + feq.d x31, f0, f0 + feq.d x0, f31, f0 + feq.d x0, f0, f31 + + fge.d x31, f0, f0 + fge.d x0, f31, f0 + fge.d x0, f0, f31 + + fgt.d x31, f0, f0 + fgt.d x0, f31, f0 + fgt.d x0, f0, f31 + + fld f31, (x0) + fld f0, 0x7ff(x0) + fld f0, -0x800(x0) + fld f0, (x31) + fld f0, dval, x31 + + fld f15, (x8) + fld f8, 0x38(x8) + fld f8, 0xc0(x8) + fld f8, (x15) + + fld f31, (sp) + fld f0, 0x18(sp) + fld f0, 0x20(sp) + fld f0, 0x1c0(sp) + + fle.d x31, f0, f0 + fle.d x0, f31, f0 + fle.d x0, f0, f31 + + flt.d x31, f0, f0 + flt.d x0, f31, f0 + flt.d x0, f0, f31 + + fmadd.d f31, f0, f0, f0 + fmadd.d f0, f31, f0, f0 + fmadd.d f0, f0, f31, f0 + fmadd.d f0, f0, f0, f31 + fmadd.d f0, f0, f0, f0, rne + + fmax.d f31, f0, f0 + fmax.d f0, f31, f0 + fmax.d f0, f0, f31 + + fmin.d f31, f0, f0 + fmin.d f0, f31, f0 + fmin.d f0, f0, f31 + + fmsub.d f31, f0, f0, f0 + fmsub.d f0, f31, f0, f0 + fmsub.d f0, f0, f31, f0 + fmsub.d f0, f0, f0, f31 + fmsub.d f0, f0, f0, f0, rne + + fmul.d f31, f0, f0 + fmul.d f0, f31, f0 + fmul.d f0, f0, f31 + fmul.d f0, f0, f0, rne + + fmv.d f31, f0 + fmv.d f0, f31 + + fneg.d f31, f0 + fneg.d f0, f31 + + fnmadd.d f31, f0, f0, f0 + fnmadd.d f0, f31, f0, f0 + fnmadd.d f0, f0, f31, f0 + fnmadd.d f0, f0, f0, f31 + fnmadd.d f0, f0, f0, f0, rne + + fnmsub.d f31, f0, f0, f0 + fnmsub.d f0, f31, f0, f0 + fnmsub.d f0, f0, f31, f0 + fnmsub.d f0, f0, f0, f31 + fnmsub.d f0, f0, f0, f0, rne + + fsd f31, (x0) + fsd f0, 0x1f(x0) + fsd f0, -0x20(x0) + fsd f0, (x31) + fsd f0, dval, x31 + + fsd f15, (x8) + fsd f8, 0x38(x8) + fsd f8, 0xc0(x8) + fsd f8, (x15) + + fsd f31, (sp) + fsd f0, 0x18(sp) + fsd f0, 0x20(sp) + fsd f0, 0x1c0(sp) + + fsgnj.d f31, f0, f1 + fsgnj.d f0, f31, f0 + fsgnj.d f0, f0, f31 + fsgnjn.d f0, f1, f0 + fsgnjx.d f0, f1, f0 + + fsqrt.d f31, f0 + fsqrt.d f0, f31 + fsqrt.d f0, f0, rne + + fsub.d f31, f0, f0 + fsub.d f0, f31, f0 + fsub.d f0, f0, f31 + fsub.d f0, f0, f0, rne --- /dev/null +++ b/gas/testsuite/gas/riscv/fp-d-insns-64.d @@ -0,0 +1,119 @@ +#as: -march=rv64id +#name: D extension (64-bit) +#objdump: -dwrMnumeric + +.*:[ ]+file format .* + + +Disassembly of section .text: + +0+ : +[ ]+[0-9a-f]+:[ ]+22002fd3[ ]+fabs\.d[ ]+f31,f0 +[ ]+[0-9a-f]+:[ ]+23ffa053[ ]+fabs\.d[ ]+f0,f31 +[ ]+[0-9a-f]+:[ ]+02007fd3[ ]+fadd\.d[ ]+f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+020ff053[ ]+fadd\.d[ ]+f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+03f07053[ ]+fadd\.d[ ]+f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+02000053[ ]+fadd\.d[ ]+f0,f0,f0,rne +[ ]+[0-9a-f]+:[ ]+02001053[ ]+fadd\.d[ ]+f0,f0,f0,rtz +[ ]+[0-9a-f]+:[ ]+02002053[ ]+fadd\.d[ ]+f0,f0,f0,rdn +[ ]+[0-9a-f]+:[ ]+02003053[ ]+fadd\.d[ ]+f0,f0,f0,rup +[ ]+[0-9a-f]+:[ ]+02004053[ ]+fadd\.d[ ]+f0,f0,f0,rmm +[ ]+[0-9a-f]+:[ ]+e2001fd3[ ]+fclass\.d[ ]+x31,f0 +[ ]+[0-9a-f]+:[ ]+e20f9053[ ]+fclass\.d[ ]+x0,f31 +[ ]+[0-9a-f]+:[ ]+d2207053[ ]+fcvt\.d\.l[ ]+f0,x0 +[ ]+[0-9a-f]+:[ ]+d2200053[ ]+fcvt\.d\.l[ ]+f0,x0,rne +[ ]+[0-9a-f]+:[ ]+d2307053[ ]+fcvt\.d\.lu[ ]+f0,x0 +[ ]+[0-9a-f]+:[ ]+42000fd3[ ]+fcvt\.d\.s[ ]+f31,f0 +[ ]+[0-9a-f]+:[ ]+420f8053[ ]+fcvt\.d\.s[ ]+f0,f31 +[ ]+[0-9a-f]+:[ ]+d2000053[ ]+fcvt\.d\.w[ ]+f0,x0 +[ ]+[0-9a-f]+:[ ]+d2100053[ ]+fcvt\.d\.wu[ ]+f0,x0 +[ ]+[0-9a-f]+:[ ]+c2207053[ ]+fcvt\.l\.d[ ]+x0,f0 +[ ]+[0-9a-f]+:[ ]+c2307053[ ]+fcvt\.lu\.d[ ]+x0,f0 +[ ]+[0-9a-f]+:[ ]+40107fd3[ ]+fcvt\.s\.d[ ]+f31,f0 +[ ]+[0-9a-f]+:[ ]+401ff053[ ]+fcvt\.s\.d[ ]+f0,f31 +[ ]+[0-9a-f]+:[ ]+40100053[ ]+fcvt\.s\.d[ ]+f0,f0,rne +[ ]+[0-9a-f]+:[ ]+c2007053[ ]+fcvt\.w\.d[ ]+x0,f0 +[ ]+[0-9a-f]+:[ ]+c2107053[ ]+fcvt\.wu\.d[ ]+x0,f0 +[ ]+[0-9a-f]+:[ ]+1a007fd3[ ]+fdiv\.d[ ]+f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+1a0ff053[ ]+fdiv\.d[ ]+f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+1bf07053[ ]+fdiv\.d[ ]+f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+1a000053[ ]+fdiv\.d[ ]+f0,f0,f0,rne +[ ]+[0-9a-f]+:[ ]+a2002fd3[ ]+feq\.d[ ]+x31,f0,f0 +[ ]+[0-9a-f]+:[ ]+a20fa053[ ]+feq\.d[ ]+x0,f31,f0 +[ ]+[0-9a-f]+:[ ]+a3f02053[ ]+feq\.d[ ]+x0,f0,f31 +[ ]+[0-9a-f]+:[ ]+a2000fd3[ ]+fle\.d[ ]+x31,f0,f0 +[ ]+[0-9a-f]+:[ ]+a3f00053[ ]+fle\.d[ ]+x0,f0,f31 +[ ]+[0-9a-f]+:[ ]+a20f8053[ ]+fle\.d[ ]+x0,f31,f0 +[ ]+[0-9a-f]+:[ ]+a2001fd3[ ]+flt\.d[ ]+x31,f0,f0 +[ ]+[0-9a-f]+:[ ]+a3f01053[ ]+flt\.d[ ]+x0,f0,f31 +[ ]+[0-9a-f]+:[ ]+a20f9053[ ]+flt\.d[ ]+x0,f31,f0 +[ ]+[0-9a-f]+:[ ]+00003f87[ ]+fld[ ]+f31,0\(x0\) # 0( <.*>)? +[ ]+[0-9a-f]+:[ ]+7ff03007[ ]+fld[ ]+f0,2047\(x0\) # 7ff( <.*>)? +[ ]+[0-9a-f]+:[ ]+80003007[ ]+fld[ ]+f0,-2048\(x0\) # f+800( <.*>)? +[ ]+[0-9a-f]+:[ ]+000fb007[ ]+fld[ ]+f0,0\(x31\) +[ ]+[0-9a-f]+:[ ]+00000f97[ ]+auipc[ ]+x31,0x0[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_HI20[ ]+dval +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* +[ ]+[0-9a-f]+:[ ]+000fb007[ ]+fld[ ]+f0,0\(x31\) # [0-9a-f]+( <.*>)?[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_LO12_I[ ]+.* +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* +[ ]+[0-9a-f]+:[ ]+a2000fd3[ ]+fle\.d[ ]+x31,f0,f0 +[ ]+[0-9a-f]+:[ ]+a20f8053[ ]+fle\.d[ ]+x0,f31,f0 +[ ]+[0-9a-f]+:[ ]+a3f00053[ ]+fle\.d[ ]+x0,f0,f31 +[ ]+[0-9a-f]+:[ ]+a2001fd3[ ]+flt\.d[ ]+x31,f0,f0 +[ ]+[0-9a-f]+:[ ]+a20f9053[ ]+flt\.d[ ]+x0,f31,f0 +[ ]+[0-9a-f]+:[ ]+a3f01053[ ]+flt\.d[ ]+x0,f0,f31 +[ ]+[0-9a-f]+:[ ]+02007fc3[ ]+fmadd\.d[ ]+f31,f0,f0,f0 +[ ]+[0-9a-f]+:[ ]+020ff043[ ]+fmadd\.d[ ]+f0,f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+03f07043[ ]+fmadd\.d[ ]+f0,f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+fa007043[ ]+fmadd\.d[ ]+f0,f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+02000043[ ]+fmadd\.d[ ]+f0,f0,f0,f0,rne +[ ]+[0-9a-f]+:[ ]+2a001fd3[ ]+fmax\.d[ ]+f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+2a0f9053[ ]+fmax\.d[ ]+f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+2bf01053[ ]+fmax\.d[ ]+f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+2a000fd3[ ]+fmin\.d[ ]+f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+2a0f8053[ ]+fmin\.d[ ]+f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+2bf00053[ ]+fmin\.d[ ]+f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+02007fc7[ ]+fmsub\.d[ ]+f31,f0,f0,f0 +[ ]+[0-9a-f]+:[ ]+020ff047[ ]+fmsub\.d[ ]+f0,f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+03f07047[ ]+fmsub\.d[ ]+f0,f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+fa007047[ ]+fmsub\.d[ ]+f0,f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+02000047[ ]+fmsub\.d[ ]+f0,f0,f0,f0,rne +[ ]+[0-9a-f]+:[ ]+12007fd3[ ]+fmul\.d[ ]+f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+120ff053[ ]+fmul\.d[ ]+f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+13f07053[ ]+fmul\.d[ ]+f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+12000053[ ]+fmul\.d[ ]+f0,f0,f0,rne +[ ]+[0-9a-f]+:[ ]+22000fd3[ ]+fmv\.d[ ]+f31,f0 +[ ]+[0-9a-f]+:[ ]+23ff8053[ ]+fmv\.d[ ]+f0,f31 +[ ]+[0-9a-f]+:[ ]+f2000053[ ]+fmv\.d\.x[ ]+f0,x0 +[ ]+[0-9a-f]+:[ ]+e2000053[ ]+fmv\.x\.d[ ]+x0,f0 +[ ]+[0-9a-f]+:[ ]+22001fd3[ ]+fneg\.d[ ]+f31,f0 +[ ]+[0-9a-f]+:[ ]+23ff9053[ ]+fneg\.d[ ]+f0,f31 +[ ]+[0-9a-f]+:[ ]+02007fcf[ ]+fnmadd\.d[ ]+f31,f0,f0,f0 +[ ]+[0-9a-f]+:[ ]+020ff04f[ ]+fnmadd\.d[ ]+f0,f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+03f0704f[ ]+fnmadd\.d[ ]+f0,f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+fa00704f[ ]+fnmadd\.d[ ]+f0,f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+0200004f[ ]+fnmadd\.d[ ]+f0,f0,f0,f0,rne +[ ]+[0-9a-f]+:[ ]+02007fcb[ ]+fnmsub\.d[ ]+f31,f0,f0,f0 +[ ]+[0-9a-f]+:[ ]+020ff04b[ ]+fnmsub\.d[ ]+f0,f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+03f0704b[ ]+fnmsub\.d[ ]+f0,f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+fa00704b[ ]+fnmsub\.d[ ]+f0,f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+0200004b[ ]+fnmsub\.d[ ]+f0,f0,f0,f0,rne +[ ]+[0-9a-f]+:[ ]+01f03027[ ]+fsd[ ]+f31,0\(x0\) # 0( <.*>)? +[ ]+[0-9a-f]+:[ ]+00003fa7[ ]+fsd[ ]+f0,31\(x0\) # 1f( <.*>)? +[ ]+[0-9a-f]+:[ ]+fe003027[ ]+fsd[ ]+f0,-32\(x0\) # f+e0( <.*>)? +[ ]+[0-9a-f]+:[ ]+000fb027[ ]+fsd[ ]+f0,0\(x31\) +[ ]+[0-9a-f]+:[ ]+00000f97[ ]+auipc[ ]+x31,0x0[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_HI20[ ]+dval +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* +[ ]+[0-9a-f]+:[ ]+000fb027[ ]+fsd[ ]+f0,0\(x31\) # [0-9a-f]+( <.*>)?[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_LO12_S[ ]+.* +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* +[ ]+[0-9a-f]+:[ ]+22100fd3[ ]+fsgnj\.d[ ]+f31,f0,f1 +[ ]+[0-9a-f]+:[ ]+220f8053[ ]+fsgnj\.d[ ]+f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+23f00053[ ]+fsgnj\.d[ ]+f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+22009053[ ]+fsgnjn\.d[ ]+f0,f1,f0 +[ ]+[0-9a-f]+:[ ]+2200a053[ ]+fsgnjx\.d[ ]+f0,f1,f0 +[ ]+[0-9a-f]+:[ ]+5a007fd3[ ]+fsqrt\.d[ ]+f31,f0 +[ ]+[0-9a-f]+:[ ]+5a0ff053[ ]+fsqrt\.d[ ]+f0,f31 +[ ]+[0-9a-f]+:[ ]+5a000053[ ]+fsqrt\.d[ ]+f0,f0,rne +[ ]+[0-9a-f]+:[ ]+0a007fd3[ ]+fsub\.d[ ]+f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+0a0ff053[ ]+fsub\.d[ ]+f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+0bf07053[ ]+fsub\.d[ ]+f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+0a000053[ ]+fsub\.d[ ]+f0,f0,f0,rne --- /dev/null +++ b/gas/testsuite/gas/riscv/fp-d-insns-64.s @@ -0,0 +1,128 @@ +D: + fabs.d f31, f0 + fabs.d f0, f31 + + fadd.d f31, f0, f0 + fadd.d f0, f31, f0 + fadd.d f0, f0, f31 + fadd.d f0, f0, f0, rne + fadd.d f0, f0, f0, rtz + fadd.d f0, f0, f0, rdn + fadd.d f0, f0, f0, rup + fadd.d f0, f0, f0, rmm + + fclass.d x31, f0 + fclass.d x0, f31 + + fcvt.d.l f0, x0 + fcvt.d.l f0, x0, rne + fcvt.d.lu f0, x0 + fcvt.d.s f31, f0 + fcvt.d.s f0, f31 + fcvt.d.w f0, x0 + fcvt.d.wu f0, x0 + fcvt.l.d x0, f0 + fcvt.lu.d x0, f0 + fcvt.s.d f31, f0 + fcvt.s.d f0, f31 + fcvt.s.d f0, f0, rne + fcvt.w.d x0, f0 + fcvt.wu.d x0, f0 + + fdiv.d f31, f0, f0 + fdiv.d f0, f31, f0 + fdiv.d f0, f0, f31 + fdiv.d f0, f0, f0, rne + + feq.d x31, f0, f0 + feq.d x0, f31, f0 + feq.d x0, f0, f31 + + fge.d x31, f0, f0 + fge.d x0, f31, f0 + fge.d x0, f0, f31 + + fgt.d x31, f0, f0 + fgt.d x0, f31, f0 + fgt.d x0, f0, f31 + + fld f31, (x0) + fld f0, 0x7ff(x0) + fld f0, -0x800(x0) + fld f0, (x31) + fld f0, dval, x31 + + fle.d x31, f0, f0 + fle.d x0, f31, f0 + fle.d x0, f0, f31 + + flt.d x31, f0, f0 + flt.d x0, f31, f0 + flt.d x0, f0, f31 + + fmadd.d f31, f0, f0, f0 + fmadd.d f0, f31, f0, f0 + fmadd.d f0, f0, f31, f0 + fmadd.d f0, f0, f0, f31 + fmadd.d f0, f0, f0, f0, rne + + fmax.d f31, f0, f0 + fmax.d f0, f31, f0 + fmax.d f0, f0, f31 + + fmin.d f31, f0, f0 + fmin.d f0, f31, f0 + fmin.d f0, f0, f31 + + fmsub.d f31, f0, f0, f0 + fmsub.d f0, f31, f0, f0 + fmsub.d f0, f0, f31, f0 + fmsub.d f0, f0, f0, f31 + fmsub.d f0, f0, f0, f0, rne + + fmul.d f31, f0, f0 + fmul.d f0, f31, f0 + fmul.d f0, f0, f31 + fmul.d f0, f0, f0, rne + + fmv.d f31, f0 + fmv.d f0, f31 + + fmv.d.x f0, x0 + fmv.x.d x0, f0 + + fneg.d f31, f0 + fneg.d f0, f31 + + fnmadd.d f31, f0, f0, f0 + fnmadd.d f0, f31, f0, f0 + fnmadd.d f0, f0, f31, f0 + fnmadd.d f0, f0, f0, f31 + fnmadd.d f0, f0, f0, f0, rne + + fnmsub.d f31, f0, f0, f0 + fnmsub.d f0, f31, f0, f0 + fnmsub.d f0, f0, f31, f0 + fnmsub.d f0, f0, f0, f31 + fnmsub.d f0, f0, f0, f0, rne + + fsd f31, (x0) + fsd f0, 0x1f(x0) + fsd f0, -0x20(x0) + fsd f0, (x31) + fsd f0, dval, x31 + + fsgnj.d f31, f0, f1 + fsgnj.d f0, f31, f0 + fsgnj.d f0, f0, f31 + fsgnjn.d f0, f1, f0 + fsgnjx.d f0, f1, f0 + + fsqrt.d f31, f0 + fsqrt.d f0, f31 + fsqrt.d f0, f0, rne + + fsub.d f31, f0, f0 + fsub.d f0, f31, f0 + fsub.d f0, f0, f31 + fsub.d f0, f0, f0, rne --- /dev/null +++ b/gas/testsuite/gas/riscv/fp-f-insns-32.d @@ -0,0 +1,145 @@ +#as: -march=rv32icf +#name: F extension (32-bit) +#objdump: -dwrMnumeric + +.*:[ ]+file format .* + + +Disassembly of section .text: + +0+ : +[ ]+[0-9a-f]+:[ ]+20002fd3[ ]+fabs\.s[ ]+f31,f0 +[ ]+[0-9a-f]+:[ ]+21ffa053[ ]+fabs\.s[ ]+f0,f31 +[ ]+[0-9a-f]+:[ ]+00007fd3[ ]+fadd\.s[ ]+f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+000ff053[ ]+fadd\.s[ ]+f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+01f07053[ ]+fadd\.s[ ]+f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+00000053[ ]+fadd\.s[ ]+f0,f0,f0,rne +[ ]+[0-9a-f]+:[ ]+00001053[ ]+fadd\.s[ ]+f0,f0,f0,rtz +[ ]+[0-9a-f]+:[ ]+00002053[ ]+fadd\.s[ ]+f0,f0,f0,rdn +[ ]+[0-9a-f]+:[ ]+00003053[ ]+fadd\.s[ ]+f0,f0,f0,rup +[ ]+[0-9a-f]+:[ ]+00004053[ ]+fadd\.s[ ]+f0,f0,f0,rmm +[ ]+[0-9a-f]+:[ ]+e0001fd3[ ]+fclass\.s[ ]+x31,f0 +[ ]+[0-9a-f]+:[ ]+e00f9053[ ]+fclass\.s[ ]+x0,f31 +[ ]+[0-9a-f]+:[ ]+d0007fd3[ ]+fcvt\.s\.w[ ]+f31,x0 +[ ]+[0-9a-f]+:[ ]+d00ff053[ ]+fcvt\.s\.w[ ]+f0,x31 +[ ]+[0-9a-f]+:[ ]+d0000053[ ]+fcvt\.s\.w[ ]+f0,x0,rne +[ ]+[0-9a-f]+:[ ]+d0107053[ ]+fcvt\.s\.wu[ ]+f0,x0 +[ ]+[0-9a-f]+:[ ]+c0007fd3[ ]+fcvt\.w\.s[ ]+x31,f0 +[ ]+[0-9a-f]+:[ ]+c00ff053[ ]+fcvt\.w\.s[ ]+x0,f31 +[ ]+[0-9a-f]+:[ ]+c0000053[ ]+fcvt\.w\.s[ ]+x0,f0,rne +[ ]+[0-9a-f]+:[ ]+c0107053[ ]+fcvt\.wu\.s[ ]+x0,f0 +[ ]+[0-9a-f]+:[ ]+18007fd3[ ]+fdiv\.s[ ]+f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+180ff053[ ]+fdiv\.s[ ]+f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+19f07053[ ]+fdiv\.s[ ]+f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+18000053[ ]+fdiv\.s[ ]+f0,f0,f0,rne +[ ]+[0-9a-f]+:[ ]+a0002fd3[ ]+feq\.s[ ]+x31,f0,f0 +[ ]+[0-9a-f]+:[ ]+a00fa053[ ]+feq\.s[ ]+x0,f31,f0 +[ ]+[0-9a-f]+:[ ]+a1f02053[ ]+feq\.s[ ]+x0,f0,f31 +[ ]+[0-9a-f]+:[ ]+a0000fd3[ ]+fle\.s[ ]+x31,f0,f0 +[ ]+[0-9a-f]+:[ ]+a1f00053[ ]+fle\.s[ ]+x0,f0,f31 +[ ]+[0-9a-f]+:[ ]+a00f8053[ ]+fle\.s[ ]+x0,f31,f0 +[ ]+[0-9a-f]+:[ ]+a0001fd3[ ]+flt\.s[ ]+x31,f0,f0 +[ ]+[0-9a-f]+:[ ]+a1f01053[ ]+flt\.s[ ]+x0,f0,f31 +[ ]+[0-9a-f]+:[ ]+a00f9053[ ]+flt\.s[ ]+x0,f31,f0 +[ ]+[0-9a-f]+:[ ]+a0000fd3[ ]+fle\.s[ ]+x31,f0,f0 +[ ]+[0-9a-f]+:[ ]+a00f8053[ ]+fle\.s[ ]+x0,f31,f0 +[ ]+[0-9a-f]+:[ ]+a1f00053[ ]+fle\.s[ ]+x0,f0,f31 +[ ]+[0-9a-f]+:[ ]+a0001fd3[ ]+flt\.s[ ]+x31,f0,f0 +[ ]+[0-9a-f]+:[ ]+a00f9053[ ]+flt\.s[ ]+x0,f31,f0 +[ ]+[0-9a-f]+:[ ]+a1f01053[ ]+flt\.s[ ]+x0,f0,f31 +[ ]+[0-9a-f]+:[ ]+00002f87[ ]+flw[ ]+f31,0\(x0\) # 0( <.*>)? +[ ]+[0-9a-f]+:[ ]+7ff02007[ ]+flw[ ]+f0,2047\(x0\) # 7ff( <.*>)? +[ ]+[0-9a-f]+:[ ]+80002007[ ]+flw[ ]+f0,-2048\(x0\) # fffff800( <.*>)? +[ ]+[0-9a-f]+:[ ]+000fa007[ ]+flw[ ]+f0,0\(x31\) +[ ]+[0-9a-f]+:[ ]+00000f97[ ]+auipc[ ]+x31,0x0[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_HI20[ ]+sval +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* +[ ]+[0-9a-f]+:[ ]+000fa007[ ]+flw[ ]+f0,0\(x31\) # [0-9a-f]+( <.*>)?[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_LO12_I[ ]+.* +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* +[ ]+[0-9a-f]+:[ ]+601c[ ]+flw[ ]+f15,0\(x8\) +[ ]+[0-9a-f]+:[ ]+6040[ ]+flw[ ]+f8,4\(x8\) +[ ]+[0-9a-f]+:[ ]+7c00[ ]+flw[ ]+f8,56\(x8\) +[ ]+[0-9a-f]+:[ ]+6020[ ]+flw[ ]+f8,64\(x8\) +[ ]+[0-9a-f]+:[ ]+6380[ ]+flw[ ]+f8,0\(x15\) +[ ]+[0-9a-f]+:[ ]+6f82[ ]+flw[ ]+f31,0\(x2\) +[ ]+[0-9a-f]+:[ ]+6072[ ]+flw[ ]+f0,28\(x2\) +[ ]+[0-9a-f]+:[ ]+7002[ ]+flw[ ]+f0,32\(x2\) +[ ]+[0-9a-f]+:[ ]+600e[ ]+flw[ ]+f0,192\(x2\) +[ ]+[0-9a-f]+:[ ]+00007fc3[ ]+fmadd\.s[ ]+f31,f0,f0,f0 +[ ]+[0-9a-f]+:[ ]+000ff043[ ]+fmadd\.s[ ]+f0,f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+01f07043[ ]+fmadd\.s[ ]+f0,f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+f8007043[ ]+fmadd\.s[ ]+f0,f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+00000043[ ]+fmadd\.s[ ]+f0,f0,f0,f0,rne +[ ]+[0-9a-f]+:[ ]+28001fd3[ ]+fmax\.s[ ]+f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+280f9053[ ]+fmax\.s[ ]+f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+29f01053[ ]+fmax\.s[ ]+f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+28000fd3[ ]+fmin\.s[ ]+f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+280f8053[ ]+fmin\.s[ ]+f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+29f00053[ ]+fmin\.s[ ]+f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+00007fc7[ ]+fmsub\.s[ ]+f31,f0,f0,f0 +[ ]+[0-9a-f]+:[ ]+000ff047[ ]+fmsub\.s[ ]+f0,f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+01f07047[ ]+fmsub\.s[ ]+f0,f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+f8007047[ ]+fmsub\.s[ ]+f0,f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+00000047[ ]+fmsub\.s[ ]+f0,f0,f0,f0,rne +[ ]+[0-9a-f]+:[ ]+10007fd3[ ]+fmul\.s[ ]+f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+100ff053[ ]+fmul\.s[ ]+f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+11f07053[ ]+fmul\.s[ ]+f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+10000053[ ]+fmul\.s[ ]+f0,f0,f0,rne +[ ]+[0-9a-f]+:[ ]+20000fd3[ ]+fmv\.s[ ]+f31,f0 +[ ]+[0-9a-f]+:[ ]+21ff8053[ ]+fmv\.s[ ]+f0,f31 +[ ]+[0-9a-f]+:[ ]+f0000fd3[ ]+fmv\.w\.x[ ]+f31,x0 +[ ]+[0-9a-f]+:[ ]+f00f8053[ ]+fmv\.w\.x[ ]+f0,x31 +[ ]+[0-9a-f]+:[ ]+e0000fd3[ ]+fmv\.x\.w[ ]+x31,f0 +[ ]+[0-9a-f]+:[ ]+e00f8053[ ]+fmv\.x\.w[ ]+x0,f31 +[ ]+[0-9a-f]+:[ ]+20001fd3[ ]+fneg\.s[ ]+f31,f0 +[ ]+[0-9a-f]+:[ ]+21ff9053[ ]+fneg\.s[ ]+f0,f31 +[ ]+[0-9a-f]+:[ ]+00007fcf[ ]+fnmadd\.s[ ]+f31,f0,f0,f0 +[ ]+[0-9a-f]+:[ ]+000ff04f[ ]+fnmadd\.s[ ]+f0,f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+01f0704f[ ]+fnmadd\.s[ ]+f0,f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+f800704f[ ]+fnmadd\.s[ ]+f0,f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+0000004f[ ]+fnmadd\.s[ ]+f0,f0,f0,f0,rne +[ ]+[0-9a-f]+:[ ]+00007fcb[ ]+fnmsub\.s[ ]+f31,f0,f0,f0 +[ ]+[0-9a-f]+:[ ]+000ff04b[ ]+fnmsub\.s[ ]+f0,f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+01f0704b[ ]+fnmsub\.s[ ]+f0,f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+f800704b[ ]+fnmsub\.s[ ]+f0,f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+0000004b[ ]+fnmsub\.s[ ]+f0,f0,f0,f0,rne +[ ]+[0-9a-f]+:[ ]+00302ff3[ ]+frcsr[ ]+x31 +[ ]+[0-9a-f]+:[ ]+00102ff3[ ]+frflags[ ]+x31 +[ ]+[0-9a-f]+:[ ]+00202ff3[ ]+frrm[ ]+x31 +[ ]+[0-9a-f]+:[ ]+003f9073[ ]+fscsr[ ]+x31 +[ ]+[0-9a-f]+:[ ]+00309ff3[ ]+fscsr[ ]+x31,x1 +[ ]+[0-9a-f]+:[ ]+003f90f3[ ]+fscsr[ ]+x1,x31 +[ ]+[0-9a-f]+:[ ]+001f9073[ ]+fsflags[ ]+x31 +[ ]+[0-9a-f]+:[ ]+00109ff3[ ]+fsflags[ ]+x31,x1 +[ ]+[0-9a-f]+:[ ]+001f90f3[ ]+fsflags[ ]+x1,x31 +[ ]+[0-9a-f]+:[ ]+20100fd3[ ]+fsgnj\.s[ ]+f31,f0,f1 +[ ]+[0-9a-f]+:[ ]+200f8053[ ]+fsgnj\.s[ ]+f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+21f00053[ ]+fsgnj\.s[ ]+f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+20009053[ ]+fsgnjn\.s[ ]+f0,f1,f0 +[ ]+[0-9a-f]+:[ ]+2000a053[ ]+fsgnjx\.s[ ]+f0,f1,f0 +[ ]+[0-9a-f]+:[ ]+58007fd3[ ]+fsqrt\.s[ ]+f31,f0 +[ ]+[0-9a-f]+:[ ]+580ff053[ ]+fsqrt\.s[ ]+f0,f31 +[ ]+[0-9a-f]+:[ ]+58000053[ ]+fsqrt\.s[ ]+f0,f0,rne +[ ]+[0-9a-f]+:[ ]+002f9073[ ]+fsrm[ ]+x31 +[ ]+[0-9a-f]+:[ ]+00209ff3[ ]+fsrm[ ]+x31,x1 +[ ]+[0-9a-f]+:[ ]+002f90f3[ ]+fsrm[ ]+x1,x31 +[ ]+[0-9a-f]+:[ ]+08007fd3[ ]+fsub\.s[ ]+f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+080ff053[ ]+fsub\.s[ ]+f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+09f07053[ ]+fsub\.s[ ]+f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+08000053[ ]+fsub\.s[ ]+f0,f0,f0,rne +[ ]+[0-9a-f]+:[ ]+01f02027[ ]+fsw[ ]+f31,0\(x0\) # 0( <.*>)? +[ ]+[0-9a-f]+:[ ]+00002fa7[ ]+fsw[ ]+f0,31\(x0\) # 1f( <.*>)? +[ ]+[0-9a-f]+:[ ]+fe002027[ ]+fsw[ ]+f0,-32\(x0\) # ffffffe0( <.*>)? +[ ]+[0-9a-f]+:[ ]+000fa027[ ]+fsw[ ]+f0,0\(x31\) +[ ]+[0-9a-f]+:[ ]+00000f97[ ]+auipc[ ]+x31,0x0[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_HI20[ ]+sval +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* +[ ]+[0-9a-f]+:[ ]+000fa027[ ]+fsw[ ]+f0,0\(x31\) # [0-9a-f]+( <.*>)?[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_LO12_S[ ]+.* +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* +[ ]+[0-9a-f]+:[ ]+e01c[ ]+fsw[ ]+f15,0\(x8\) +[ ]+[0-9a-f]+:[ ]+e040[ ]+fsw[ ]+f8,4\(x8\) +[ ]+[0-9a-f]+:[ ]+fc00[ ]+fsw[ ]+f8,56\(x8\) +[ ]+[0-9a-f]+:[ ]+e020[ ]+fsw[ ]+f8,64\(x8\) +[ ]+[0-9a-f]+:[ ]+e380[ ]+fsw[ ]+f8,0\(x15\) +[ ]+[0-9a-f]+:[ ]+e07e[ ]+fsw[ ]+f31,0\(x2\) +[ ]+[0-9a-f]+:[ ]+ee02[ ]+fsw[ ]+f0,28\(x2\) +[ ]+[0-9a-f]+:[ ]+f002[ ]+fsw[ ]+f0,32\(x2\) +[ ]+[0-9a-f]+:[ ]+e182[ ]+fsw[ ]+f0,192\(x2\) --- /dev/null +++ b/gas/testsuite/gas/riscv/fp-f-insns-32.s @@ -0,0 +1,162 @@ +F: + fabs.s f31, f0 + fabs.s f0, f31 + + fadd.s f31, f0, f0 + fadd.s f0, f31, f0 + fadd.s f0, f0, f31 + fadd.s f0, f0, f0, rne + fadd.s f0, f0, f0, rtz + fadd.s f0, f0, f0, rdn + fadd.s f0, f0, f0, rup + fadd.s f0, f0, f0, rmm + + fclass.s x31, f0 + fclass.s x0, f31 + + fcvt.s.w f31, x0 + fcvt.s.w f0, x31 + fcvt.s.w f0, x0, rne + fcvt.s.wu f0, x0 + fcvt.w.s x31, f0 + fcvt.w.s x0, f31 + fcvt.w.s x0, f0, rne + fcvt.wu.s x0, f0 + + fdiv.s f31, f0, f0 + fdiv.s f0, f31, f0 + fdiv.s f0, f0, f31 + fdiv.s f0, f0, f0, rne + + feq.s x31, f0, f0 + feq.s x0, f31, f0 + feq.s x0, f0, f31 + + fge.s x31, f0, f0 + fge.s x0, f31, f0 + fge.s x0, f0, f31 + + fgt.s x31, f0, f0 + fgt.s x0, f31, f0 + fgt.s x0, f0, f31 + + fle.s x31, f0, f0 + fle.s x0, f31, f0 + fle.s x0, f0, f31 + + flt.s x31, f0, f0 + flt.s x0, f31, f0 + flt.s x0, f0, f31 + + flw f31, (x0) + flw f0, 0x7ff(x0) + flw f0, -0x800(x0) + flw f0, (x31) + flw f0, sval, x31 + + flw f15, (x8) + flw f8, 4(x8) + flw f8, 0x38(x8) + flw f8, 0x40(x8) + flw f8, (x15) + + flw f31, (sp) + flw f0, 0x1c(sp) + flw f0, 0x20(sp) + flw f0, 0xc0(sp) + + fmadd.s f31, f0, f0, f0 + fmadd.s f0, f31, f0, f0 + fmadd.s f0, f0, f31, f0 + fmadd.s f0, f0, f0, f31 + fmadd.s f0, f0, f0, f0, rne + + fmax.s f31, f0, f0 + fmax.s f0, f31, f0 + fmax.s f0, f0, f31 + + fmin.s f31, f0, f0 + fmin.s f0, f31, f0 + fmin.s f0, f0, f31 + + fmsub.s f31, f0, f0, f0 + fmsub.s f0, f31, f0, f0 + fmsub.s f0, f0, f31, f0 + fmsub.s f0, f0, f0, f31 + fmsub.s f0, f0, f0, f0, rne + + fmul.s f31, f0, f0 + fmul.s f0, f31, f0 + fmul.s f0, f0, f31 + fmul.s f0, f0, f0, rne + + fmv.s f31, f0 + fmv.s f0, f31 + + fmv.s.x f31, x0 + fmv.s.x f0, x31 + fmv.x.s x31, f0 + fmv.x.s x0, f31 + + fneg.s f31, f0 + fneg.s f0, f31 + + fnmadd.s f31, f0, f0, f0 + fnmadd.s f0, f31, f0, f0 + fnmadd.s f0, f0, f31, f0 + fnmadd.s f0, f0, f0, f31 + fnmadd.s f0, f0, f0, f0, rne + + fnmsub.s f31, f0, f0, f0 + fnmsub.s f0, f31, f0, f0 + fnmsub.s f0, f0, f31, f0 + fnmsub.s f0, f0, f0, f31 + fnmsub.s f0, f0, f0, f0, rne + + frcsr x31 + frflags x31 + frrm x31 + + fscsr x31 + fscsr x31, x1 + fscsr x1, x31 + + fsflags x31 + fsflags x31, x1 + fsflags x1, x31 + + fsgnj.s f31, f0, f1 + fsgnj.s f0, f31, f0 + fsgnj.s f0, f0, f31 + fsgnjn.s f0, f1, f0 + fsgnjx.s f0, f1, f0 + + fsqrt.s f31, f0 + fsqrt.s f0, f31 + fsqrt.s f0, f0, rne + + fsrm x31 + fsrm x31, x1 + fsrm x1, x31 + + fsub.s f31, f0, f0 + fsub.s f0, f31, f0 + fsub.s f0, f0, f31 + fsub.s f0, f0, f0, rne + + fsw f31, (x0) + fsw f0, 0x1f(x0) + fsw f0, -0x20(x0) + fsw f0, (x31) + fsw f0, sval, x31 + + fsw f15, (x8) + fsw f8, 4(x8) + fsw f8, 0x38(x8) + fsw f8, 0x40(x8) + fsw f8, (x15) + + fsw f31, (sp) + fsw f0, 0x1c(sp) + fsw f0, 0x20(sp) + fsw f0, 0xc0(sp) --- /dev/null +++ b/gas/testsuite/gas/riscv/fp-f-insns-64.d @@ -0,0 +1,131 @@ +#as: -march=rv64if +#name: F extension (64-bit) +#objdump: -dwrMnumeric + +.*:[ ]+file format .* + + +Disassembly of section .text: + +0+ : +[ ]+[0-9a-f]+:[ ]+20002fd3[ ]+fabs\.s[ ]+f31,f0 +[ ]+[0-9a-f]+:[ ]+21ffa053[ ]+fabs\.s[ ]+f0,f31 +[ ]+[0-9a-f]+:[ ]+00007fd3[ ]+fadd\.s[ ]+f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+000ff053[ ]+fadd\.s[ ]+f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+01f07053[ ]+fadd\.s[ ]+f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+00000053[ ]+fadd\.s[ ]+f0,f0,f0,rne +[ ]+[0-9a-f]+:[ ]+00001053[ ]+fadd\.s[ ]+f0,f0,f0,rtz +[ ]+[0-9a-f]+:[ ]+00002053[ ]+fadd\.s[ ]+f0,f0,f0,rdn +[ ]+[0-9a-f]+:[ ]+00003053[ ]+fadd\.s[ ]+f0,f0,f0,rup +[ ]+[0-9a-f]+:[ ]+00004053[ ]+fadd\.s[ ]+f0,f0,f0,rmm +[ ]+[0-9a-f]+:[ ]+e0001fd3[ ]+fclass\.s[ ]+x31,f0 +[ ]+[0-9a-f]+:[ ]+e00f9053[ ]+fclass\.s[ ]+x0,f31 +[ ]+[0-9a-f]+:[ ]+c0207053[ ]+fcvt\.l\.s[ ]+x0,f0 +[ ]+[0-9a-f]+:[ ]+c0307053[ ]+fcvt\.lu\.s[ ]+x0,f0 +[ ]+[0-9a-f]+:[ ]+d0207053[ ]+fcvt\.s\.l[ ]+f0,x0 +[ ]+[0-9a-f]+:[ ]+d0307053[ ]+fcvt\.s\.lu[ ]+f0,x0 +[ ]+[0-9a-f]+:[ ]+d0007fd3[ ]+fcvt\.s\.w[ ]+f31,x0 +[ ]+[0-9a-f]+:[ ]+d00ff053[ ]+fcvt\.s\.w[ ]+f0,x31 +[ ]+[0-9a-f]+:[ ]+d0000053[ ]+fcvt\.s\.w[ ]+f0,x0,rne +[ ]+[0-9a-f]+:[ ]+d0107053[ ]+fcvt\.s\.wu[ ]+f0,x0 +[ ]+[0-9a-f]+:[ ]+c0007fd3[ ]+fcvt\.w\.s[ ]+x31,f0 +[ ]+[0-9a-f]+:[ ]+c00ff053[ ]+fcvt\.w\.s[ ]+x0,f31 +[ ]+[0-9a-f]+:[ ]+c0000053[ ]+fcvt\.w\.s[ ]+x0,f0,rne +[ ]+[0-9a-f]+:[ ]+c0107053[ ]+fcvt\.wu\.s[ ]+x0,f0 +[ ]+[0-9a-f]+:[ ]+18007fd3[ ]+fdiv\.s[ ]+f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+180ff053[ ]+fdiv\.s[ ]+f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+19f07053[ ]+fdiv\.s[ ]+f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+18000053[ ]+fdiv\.s[ ]+f0,f0,f0,rne +[ ]+[0-9a-f]+:[ ]+a0002fd3[ ]+feq\.s[ ]+x31,f0,f0 +[ ]+[0-9a-f]+:[ ]+a00fa053[ ]+feq\.s[ ]+x0,f31,f0 +[ ]+[0-9a-f]+:[ ]+a1f02053[ ]+feq\.s[ ]+x0,f0,f31 +[ ]+[0-9a-f]+:[ ]+a0000fd3[ ]+fle\.s[ ]+x31,f0,f0 +[ ]+[0-9a-f]+:[ ]+a1f00053[ ]+fle\.s[ ]+x0,f0,f31 +[ ]+[0-9a-f]+:[ ]+a00f8053[ ]+fle\.s[ ]+x0,f31,f0 +[ ]+[0-9a-f]+:[ ]+a0001fd3[ ]+flt\.s[ ]+x31,f0,f0 +[ ]+[0-9a-f]+:[ ]+a1f01053[ ]+flt\.s[ ]+x0,f0,f31 +[ ]+[0-9a-f]+:[ ]+a00f9053[ ]+flt\.s[ ]+x0,f31,f0 +[ ]+[0-9a-f]+:[ ]+a0000fd3[ ]+fle\.s[ ]+x31,f0,f0 +[ ]+[0-9a-f]+:[ ]+a00f8053[ ]+fle\.s[ ]+x0,f31,f0 +[ ]+[0-9a-f]+:[ ]+a1f00053[ ]+fle\.s[ ]+x0,f0,f31 +[ ]+[0-9a-f]+:[ ]+a0001fd3[ ]+flt\.s[ ]+x31,f0,f0 +[ ]+[0-9a-f]+:[ ]+a00f9053[ ]+flt\.s[ ]+x0,f31,f0 +[ ]+[0-9a-f]+:[ ]+a1f01053[ ]+flt\.s[ ]+x0,f0,f31 +[ ]+[0-9a-f]+:[ ]+00002f87[ ]+flw[ ]+f31,0\(x0\) # 0( <.*>)? +[ ]+[0-9a-f]+:[ ]+7ff02007[ ]+flw[ ]+f0,2047\(x0\) # 7ff( <.*>)? +[ ]+[0-9a-f]+:[ ]+80002007[ ]+flw[ ]+f0,-2048\(x0\) # f+800( <.*>)? +[ ]+[0-9a-f]+:[ ]+000fa007[ ]+flw[ ]+f0,0\(x31\) +[ ]+[0-9a-f]+:[ ]+00000f97[ ]+auipc[ ]+x31,0x0[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_HI20[ ]+sval +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* +[ ]+[0-9a-f]+:[ ]+000fa007[ ]+flw[ ]+f0,0\(x31\) # [0-9a-f]+( <.*>)?[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_LO12_I[ ]+.* +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* +[ ]+[0-9a-f]+:[ ]+00007fc3[ ]+fmadd\.s[ ]+f31,f0,f0,f0 +[ ]+[0-9a-f]+:[ ]+000ff043[ ]+fmadd\.s[ ]+f0,f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+01f07043[ ]+fmadd\.s[ ]+f0,f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+f8007043[ ]+fmadd\.s[ ]+f0,f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+00000043[ ]+fmadd\.s[ ]+f0,f0,f0,f0,rne +[ ]+[0-9a-f]+:[ ]+28001fd3[ ]+fmax\.s[ ]+f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+280f9053[ ]+fmax\.s[ ]+f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+29f01053[ ]+fmax\.s[ ]+f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+28000fd3[ ]+fmin\.s[ ]+f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+280f8053[ ]+fmin\.s[ ]+f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+29f00053[ ]+fmin\.s[ ]+f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+00007fc7[ ]+fmsub\.s[ ]+f31,f0,f0,f0 +[ ]+[0-9a-f]+:[ ]+000ff047[ ]+fmsub\.s[ ]+f0,f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+01f07047[ ]+fmsub\.s[ ]+f0,f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+f8007047[ ]+fmsub\.s[ ]+f0,f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+00000047[ ]+fmsub\.s[ ]+f0,f0,f0,f0,rne +[ ]+[0-9a-f]+:[ ]+10007fd3[ ]+fmul\.s[ ]+f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+100ff053[ ]+fmul\.s[ ]+f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+11f07053[ ]+fmul\.s[ ]+f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+10000053[ ]+fmul\.s[ ]+f0,f0,f0,rne +[ ]+[0-9a-f]+:[ ]+20000fd3[ ]+fmv\.s[ ]+f31,f0 +[ ]+[0-9a-f]+:[ ]+21ff8053[ ]+fmv\.s[ ]+f0,f31 +[ ]+[0-9a-f]+:[ ]+f0000fd3[ ]+fmv\.w\.x[ ]+f31,x0 +[ ]+[0-9a-f]+:[ ]+f00f8053[ ]+fmv\.w\.x[ ]+f0,x31 +[ ]+[0-9a-f]+:[ ]+e0000fd3[ ]+fmv\.x\.w[ ]+x31,f0 +[ ]+[0-9a-f]+:[ ]+e00f8053[ ]+fmv\.x\.w[ ]+x0,f31 +[ ]+[0-9a-f]+:[ ]+20001fd3[ ]+fneg\.s[ ]+f31,f0 +[ ]+[0-9a-f]+:[ ]+21ff9053[ ]+fneg\.s[ ]+f0,f31 +[ ]+[0-9a-f]+:[ ]+00007fcf[ ]+fnmadd\.s[ ]+f31,f0,f0,f0 +[ ]+[0-9a-f]+:[ ]+000ff04f[ ]+fnmadd\.s[ ]+f0,f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+01f0704f[ ]+fnmadd\.s[ ]+f0,f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+f800704f[ ]+fnmadd\.s[ ]+f0,f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+0000004f[ ]+fnmadd\.s[ ]+f0,f0,f0,f0,rne +[ ]+[0-9a-f]+:[ ]+00007fcb[ ]+fnmsub\.s[ ]+f31,f0,f0,f0 +[ ]+[0-9a-f]+:[ ]+000ff04b[ ]+fnmsub\.s[ ]+f0,f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+01f0704b[ ]+fnmsub\.s[ ]+f0,f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+f800704b[ ]+fnmsub\.s[ ]+f0,f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+0000004b[ ]+fnmsub\.s[ ]+f0,f0,f0,f0,rne +[ ]+[0-9a-f]+:[ ]+00302ff3[ ]+frcsr[ ]+x31 +[ ]+[0-9a-f]+:[ ]+00102ff3[ ]+frflags[ ]+x31 +[ ]+[0-9a-f]+:[ ]+00202ff3[ ]+frrm[ ]+x31 +[ ]+[0-9a-f]+:[ ]+003f9073[ ]+fscsr[ ]+x31 +[ ]+[0-9a-f]+:[ ]+00309ff3[ ]+fscsr[ ]+x31,x1 +[ ]+[0-9a-f]+:[ ]+003f90f3[ ]+fscsr[ ]+x1,x31 +[ ]+[0-9a-f]+:[ ]+001f9073[ ]+fsflags[ ]+x31 +[ ]+[0-9a-f]+:[ ]+00109ff3[ ]+fsflags[ ]+x31,x1 +[ ]+[0-9a-f]+:[ ]+001f90f3[ ]+fsflags[ ]+x1,x31 +[ ]+[0-9a-f]+:[ ]+20100fd3[ ]+fsgnj\.s[ ]+f31,f0,f1 +[ ]+[0-9a-f]+:[ ]+200f8053[ ]+fsgnj\.s[ ]+f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+21f00053[ ]+fsgnj\.s[ ]+f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+20009053[ ]+fsgnjn\.s[ ]+f0,f1,f0 +[ ]+[0-9a-f]+:[ ]+2000a053[ ]+fsgnjx\.s[ ]+f0,f1,f0 +[ ]+[0-9a-f]+:[ ]+58007fd3[ ]+fsqrt\.s[ ]+f31,f0 +[ ]+[0-9a-f]+:[ ]+580ff053[ ]+fsqrt\.s[ ]+f0,f31 +[ ]+[0-9a-f]+:[ ]+58000053[ ]+fsqrt\.s[ ]+f0,f0,rne +[ ]+[0-9a-f]+:[ ]+002f9073[ ]+fsrm[ ]+x31 +[ ]+[0-9a-f]+:[ ]+00209ff3[ ]+fsrm[ ]+x31,x1 +[ ]+[0-9a-f]+:[ ]+002f90f3[ ]+fsrm[ ]+x1,x31 +[ ]+[0-9a-f]+:[ ]+08007fd3[ ]+fsub\.s[ ]+f31,f0,f0 +[ ]+[0-9a-f]+:[ ]+080ff053[ ]+fsub\.s[ ]+f0,f31,f0 +[ ]+[0-9a-f]+:[ ]+09f07053[ ]+fsub\.s[ ]+f0,f0,f31 +[ ]+[0-9a-f]+:[ ]+08000053[ ]+fsub\.s[ ]+f0,f0,f0,rne +[ ]+[0-9a-f]+:[ ]+01f02027[ ]+fsw[ ]+f31,0\(x0\) # 0( <.*>)? +[ ]+[0-9a-f]+:[ ]+00002fa7[ ]+fsw[ ]+f0,31\(x0\) # 1f( <.*>)? +[ ]+[0-9a-f]+:[ ]+fe002027[ ]+fsw[ ]+f0,-32\(x0\) # f+e0( <.*>)? +[ ]+[0-9a-f]+:[ ]+000fa027[ ]+fsw[ ]+f0,0\(x31\) +[ ]+[0-9a-f]+:[ ]+00000f97[ ]+auipc[ ]+x31,0x0[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_HI20[ ]+sval +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* +[ ]+[0-9a-f]+:[ ]+000fa027[ ]+fsw[ ]+f0,0\(x31\) # [0-9a-f]+( <.*>)?[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_LO12_S[ ]+.* +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* --- /dev/null +++ b/gas/testsuite/gas/riscv/fp-f-insns-64.s @@ -0,0 +1,144 @@ +F: + fabs.s f31, f0 + fabs.s f0, f31 + + fadd.s f31, f0, f0 + fadd.s f0, f31, f0 + fadd.s f0, f0, f31 + fadd.s f0, f0, f0, rne + fadd.s f0, f0, f0, rtz + fadd.s f0, f0, f0, rdn + fadd.s f0, f0, f0, rup + fadd.s f0, f0, f0, rmm + + fclass.s x31, f0 + fclass.s x0, f31 + + fcvt.l.s x0, f0 + fcvt.lu.s x0, f0 + fcvt.s.l f0, x0 + fcvt.s.lu f0, x0 + fcvt.s.w f31, x0 + fcvt.s.w f0, x31 + fcvt.s.w f0, x0, rne + fcvt.s.wu f0, x0 + fcvt.w.s x31, f0 + fcvt.w.s x0, f31 + fcvt.w.s x0, f0, rne + fcvt.wu.s x0, f0 + + fdiv.s f31, f0, f0 + fdiv.s f0, f31, f0 + fdiv.s f0, f0, f31 + fdiv.s f0, f0, f0, rne + + feq.s x31, f0, f0 + feq.s x0, f31, f0 + feq.s x0, f0, f31 + + fge.s x31, f0, f0 + fge.s x0, f31, f0 + fge.s x0, f0, f31 + + fgt.s x31, f0, f0 + fgt.s x0, f31, f0 + fgt.s x0, f0, f31 + + fle.s x31, f0, f0 + fle.s x0, f31, f0 + fle.s x0, f0, f31 + + flt.s x31, f0, f0 + flt.s x0, f31, f0 + flt.s x0, f0, f31 + + flw f31, (x0) + flw f0, 0x7ff(x0) + flw f0, -0x800(x0) + flw f0, (x31) + flw f0, sval, x31 + + fmadd.s f31, f0, f0, f0 + fmadd.s f0, f31, f0, f0 + fmadd.s f0, f0, f31, f0 + fmadd.s f0, f0, f0, f31 + fmadd.s f0, f0, f0, f0, rne + + fmax.s f31, f0, f0 + fmax.s f0, f31, f0 + fmax.s f0, f0, f31 + + fmin.s f31, f0, f0 + fmin.s f0, f31, f0 + fmin.s f0, f0, f31 + + fmsub.s f31, f0, f0, f0 + fmsub.s f0, f31, f0, f0 + fmsub.s f0, f0, f31, f0 + fmsub.s f0, f0, f0, f31 + fmsub.s f0, f0, f0, f0, rne + + fmul.s f31, f0, f0 + fmul.s f0, f31, f0 + fmul.s f0, f0, f31 + fmul.s f0, f0, f0, rne + + fmv.s f31, f0 + fmv.s f0, f31 + + fmv.s.x f31, x0 + fmv.s.x f0, x31 + fmv.x.s x31, f0 + fmv.x.s x0, f31 + + fneg.s f31, f0 + fneg.s f0, f31 + + fnmadd.s f31, f0, f0, f0 + fnmadd.s f0, f31, f0, f0 + fnmadd.s f0, f0, f31, f0 + fnmadd.s f0, f0, f0, f31 + fnmadd.s f0, f0, f0, f0, rne + + fnmsub.s f31, f0, f0, f0 + fnmsub.s f0, f31, f0, f0 + fnmsub.s f0, f0, f31, f0 + fnmsub.s f0, f0, f0, f31 + fnmsub.s f0, f0, f0, f0, rne + + frcsr x31 + frflags x31 + frrm x31 + + fscsr x31 + fscsr x31, x1 + fscsr x1, x31 + + fsflags x31 + fsflags x31, x1 + fsflags x1, x31 + + fsgnj.s f31, f0, f1 + fsgnj.s f0, f31, f0 + fsgnj.s f0, f0, f31 + fsgnjn.s f0, f1, f0 + fsgnjx.s f0, f1, f0 + + fsqrt.s f31, f0 + fsqrt.s f0, f31 + fsqrt.s f0, f0, rne + + fsrm x31 + fsrm x31, x1 + fsrm x1, x31 + + fsub.s f31, f0, f0 + fsub.s f0, f31, f0 + fsub.s f0, f0, f31 + fsub.s f0, f0, f0, rne + + fsw f31, (x0) + fsw f0, 0x1f(x0) + fsw f0, -0x20(x0) + fsw f0, (x31) + fsw f0, sval, x31 --- a/gas/testsuite/gas/riscv/fp-zfh-insns.d +++ b/gas/testsuite/gas/riscv/fp-zfh-insns.d @@ -9,7 +9,19 @@ Disassembly of section .text: 0+000 <.text>: [ ]+[0-9a-f]+:[ ]+00059507[ ]+flh[ ]+fa0,0\(a1\) +[ ]+[0-9a-f]+:[ ]+00000297[ ]+auipc[ ]+t0,0x0 +[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_HI20[ ]+hval +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* +[ ]+[0-9a-f]+:[ ]+00029507[ ]+flh[ ]+fa0,0\(t0\) # [0-9a-f]+( <.*>)? +[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_LO12_I[ ].* +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* [ ]+[0-9a-f]+:[ ]+00a59027[ ]+fsh[ ]+fa0,0\(a1\) +[ ]+[0-9a-f]+:[ ]+00000297[ ]+auipc[ ]+t0,0x0 +[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_HI20[ ]+hval +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* +[ ]+[0-9a-f]+:[ ]+00a29027[ ]+fsh[ ]+fa0,0\(t0\) # [0-9a-f]+( <.*>)? +[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_LO12_S[ ].* +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* [ ]+[0-9a-f]+:[ ]+24b58553[ ]+fmv.h[ ]+fa0,fa1 [ ]+[0-9a-f]+:[ ]+24b59553[ ]+fneg.h[ ]+fa0,fa1 [ ]+[0-9a-f]+:[ ]+24b5a553[ ]+fabs.h[ ]+fa0,fa1 --- a/gas/testsuite/gas/riscv/fp-zfh-insns.s +++ b/gas/testsuite/gas/riscv/fp-zfh-insns.s @@ -1,5 +1,7 @@ flh fa0, 0(a1) + flh fa0, hval, t0 fsh fa0, 0(a1) + fsh fa0, hval, t0 fmv.h fa0, fa1 fneg.h fa0, fa1 From patchwork Mon Oct 30 14:47:16 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 159773 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:d641:0:b0:403:3b70:6f57 with SMTP id cy1csp2271094vqb; Mon, 30 Oct 2023 07:47:26 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGOK9gcir5t0xjWxwmVRmiGKnOv7eP52PVblEk53olhBH6Q0VNwvxbOMeca+FQHQZW2hUQ8 X-Received: by 2002:a05:6214:dcf:b0:672:22d:270d with SMTP id 15-20020a0562140dcf00b00672022d270dmr4858403qvt.30.1698677246287; Mon, 30 Oct 2023 07:47:26 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1698677245; cv=pass; d=google.com; s=arc-20160816; b=xr9u+TqkXbo02rs++mhjLKKlAEuvgU5b3FlaNVJzO9llkQ9TNC/oNEseRY2X5Hon0B 4QedRvfjW6gQzA+jpby5HV3Vkcfb7rkqv54Qc3gevcupvq9HIG5an2M0AZKVbnDIxTVL VIKtNJGDYHnJJM7GNCMIjuCLkaxJsln7eWw6A7U2mojWNWN9BfvEZKCrvKmNdMwy1jDQ ArWoY6LkggNezcyuUQVz04RsfQo5ouE+1cln9ZeF1iQ7VMNA7PpJxtxAUnIN/iWtGt3R 0t8Ku55WrWEIvffLfc5YgGovoiZhZDDEF847qEa8Ehw0fZOFBs+ukRF2cHtQ+VBtJgUL Ocyw== ARC-Message-Signature: i=3; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:mime-version :content-transfer-encoding:in-reply-to:references:cc:to:from :content-language:subject:user-agent:date:message-id:dkim-signature :arc-filter:dmarc-filter:delivered-to; bh=HZ0Ht3sqh/wxfxe5lFCnQhScrIanC+6GN7Olgpneufc=; fh=VT6N6QD4amIFxZr9T34bK4bL2a91CdTGSC+SgZliO78=; b=ejNCxqZMj0ZVvjAp13ueNodRBX5Vhe/ujMM8hkI/ajSdaLo7FoPmqywxrbaZmqUZz/ BduYnt+WXDKVJ1WecFjYAo40PHkXxDTIW/kaClXBu9otHOuTuku8WLkcyGTYknRjXd2J fwHiA5Uvh6vtwcwSvbQYU7fD7M8DZXqbqev85m11GNIBvzsS8CN2AAVCjeh4S2m0fpWl 3kHG2nhrMlW+Gdca17+i2SDV+88Rv4Wt+tvENVd1frKcBt2+QlYtiPPXskFX56ToLLC4 kYSl5EgAio85AkaJREAqCztPZ6uTqxQYOnNp9dcnalhNPoOZyYlIdQffQrfO0GowY4nL JDzg== ARC-Authentication-Results: i=3; mx.google.com; dkim=pass header.i=@suse.com header.s=selector1 header.b=qmL89J6l; arc=pass (i=2); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Received: from server2.sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id ct14-20020a056214178e00b00670f3d950e0si4106874qvb.591.2023.10.30.07.47.25 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 30 Oct 2023 07:47:25 -0700 (PDT) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=selector1 header.b=qmL89J6l; arc=pass (i=2); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id F0B0D38618D0 for ; Mon, 30 Oct 2023 14:47:24 +0000 (GMT) X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2087.outbound.protection.outlook.com [40.107.21.87]) by sourceware.org (Postfix) with ESMTPS id A500438618CB for ; Mon, 30 Oct 2023 14:47:19 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A500438618CB 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 A500438618CB Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.21.87 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1698677241; cv=pass; b=HrbzKaRQIvo+piISCpdMNJcTGk7y8n0T+xGWGjitWVpgY5/UKO9AvVHIU1bBFssPQLYeuY0PpjRZ+IJYcoc58mNSHkb2pEDMxYeKSdYl9N28n6qaIcQlnXXzdmYKlMhc/H2JDe3naelfLoDM6ySqSGjEYiJ+Yl9N/CefRS2StPI= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1698677241; c=relaxed/simple; bh=1v01XweP24AqH0YwXv35Fvv1u0D51AB1uMCDtLvfwvQ=; h=DKIM-Signature:Message-ID:Date:Subject:From:To:MIME-Version; b=aoYcjHkct+3hASBH/diHcd9zxU/0W5B+a+LCr4+1C2nM8v+Pm+ABhnMihvvQlIrxh+2s8fBbCoUQuystZNL+hGU530wUWSVjHhn5xR9I8wY+sWuBV5Jva6SGMOxwy7OTYgnu+VZZclEuJncNOwc6WgG5Sq7I5R5LkT4jSh8cW+A= ARC-Authentication-Results: i=2; server2.sourceware.org ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FM+B8+TGhmz3FJPVORMNQP4lK8LzJS2Hx8cJZRnDr0fcSkUl15270xmEhmIK0xcpCqnPkhmapLjStoMf1DQ0S1UqKD7g7rkQfU/EuSv9OEDAoVzAVV1M5hYCEPNOoV0OxEGe3sQXFV0T29QSkHMLOcZDQd8CDZEXCaw8QrXRK3zu7PNYNxH/vhQSjwLxC0tp1kEGA9sVVcSq3T3JUghs2BSbsapSYVQ5/4NFxL+LMt+T9gmNKzqCc8PPA1iSYQmJBmnjZCFB9m8EQ84MwrPOTe71Tdpaq83cp00W+P4d8tF8uAUJTFv5OZ4S9fyHr/GwiTeNa7XZw8etfaJiahmBJg== 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=HZ0Ht3sqh/wxfxe5lFCnQhScrIanC+6GN7Olgpneufc=; b=mbbHeVfIe70NrjUy0zVZnXmV1pX2P25sekVCTYTni6DsqOkduF5Uc8n+VrjQlQqbeK1MYN3m0Zu0KBVbFYj4ZvOdTmJBG8qnZKMf7pIFz7wYvtj2f16X6nGK66yMShTOq95pB0pc+tuBegLhCr0T6Vz5UYsrv6B38sP9J4LXyxcfTDROH+hZMrbKr9q5DoWiFQER/sriDqbAzMpLM7VG+9wYvAXGrim+WrZ4iKJHIR+7ILNq4Ee2GReFI7A394uoo7/JV4S37CDCSaInglAFtamPOyiU68PSzIHRXsk18P4jePG8k1NgQgOwPPDhKAQj9EKug3FMW7DwQK/BWPaAFA== 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=HZ0Ht3sqh/wxfxe5lFCnQhScrIanC+6GN7Olgpneufc=; b=qmL89J6lRA2ThdzHkIPxI8wQlGbSgoxkpC9gM2p/KmG86DGS7hp8WATPS/YRNuE/UYmkvKTMoCTFHoC791zYa0y2k34v50t/vTNYpUqXzp3X00lgA9wdQuI3ntKis7+H7cnng/jXYHPbx8PQWCNXUuRavTR4WfdCmRoB4WOQ07GopnC6esfflOOhcIWTYl6dzG1o3wgQbPUhF3HyT2O3y1+7z+OHrqOjRm6UeTHnVfpeUgKg2Kuor3Zrietl/8n9swJejm7z7flWpB+VWn4ttreq7OOQ5BOhCbu+igDA2bS4wJ/j9YUhJS+CurMIpTCYuhlov0TiqjFqDQRoef53XQ== 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 GV1PR04MB9182.eurprd04.prod.outlook.com (2603:10a6:150:26::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.16; Mon, 30 Oct 2023 14:47:15 +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.6954.016; Mon, 30 Oct 2023 14:47:15 +0000 Message-ID: Date: Mon, 30 Oct 2023 15:47:16 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 Subject: [PATCH 3/4] RISC-V: Lx/Sx macro insn tests Content-Language: en-US From: Jan Beulich To: Binutils Cc: Palmer Dabbelt , Andrew Waterman , Jim Wilson , Nelson Chu References: In-Reply-To: X-ClientProxiedBy: FR0P281CA0125.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:97::20) To DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|GV1PR04MB9182:EE_ X-MS-Office365-Filtering-Correlation-Id: cca9c043-fcca-4a1a-075d-08dbd9571ba8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: nCG5jeDcU36l/7n95jm7tILGZuhHHHu1dkE7aG1Blr+9iyzKg8HBYwyjYlMvO1KdX0/WUppM+MiNObFZVSuXhzaP37XPTpZ9qF9uS7EbEHH+hKZ2qNX1SDjX79KiUpP/hSrE25DQvHPkkpggrUnBP4J9xpi6kvHHoyC1rTuomGlwC9g3TdKfGKr2+9CrxJYlJpGf+yRe21mDFAuM8Gh5j8BfX+034eHBR1G7m6PUVbwj0QCnU9DW+7ulMEFAC3HBsRTZBw9otzVcgb3syj1GTZMXXB+bU6XF8ncDeLfd5wDlWPOQE6rb2pIXlP6ybSzpV4hUL4K8BzYo7o+0bPTNh87Wh1TYvgwtPhepTPp+roF9oiooiw9XUeoLl7oHRMwGYt/bj4ph88Gby/U/79feRjaIqtQz/zLc6A/WlfPlHmmfKbjDV9/nnzaAw3niAWZhpQipkncDJSDMQ1PWKlM+ABnCQJkOgK9BFLkW7AjOJcJq5RBgkx2LTVgWZeEbYtnSnkgxHqA4GY4mTjtQ03urU3mEYszwqw8yOaWfxuKITOkR/JQoocaXchaqg2SopMmBPBxRuRBrwViw2LQ3Z49GTOM4vzmmvqFoRYALzOL0zceV+SWHmgs7yTXNO0B8tIzJ4lHzl40wbqySPR9P68rs4A== 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)(39860400002)(136003)(396003)(346002)(366004)(376002)(230922051799003)(186009)(451199024)(1800799009)(64100799003)(26005)(54906003)(66556008)(66476007)(6916009)(38100700002)(5660300002)(2616005)(316002)(66946007)(8676002)(4326008)(8936002)(6506007)(41300700001)(6512007)(2906002)(6486002)(478600001)(36756003)(86362001)(31696002)(31686004)(43740500002)(45980500001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?HNQWNAZmoISOAVFDaEs2rhdf7M8G?= =?utf-8?q?0pZoGGitsaDg0idns1neDdImeXeicoA18MpS56Dx7AJMit0BiUUgTDGE0cV0j8Ln4?= =?utf-8?q?ihYd9+gWvqiaYjf07dPQqt322Gcz4GDsXgMIstGpklMtCFVUg+TUeLmS05DosExY+?= =?utf-8?q?s1vD34nLfSdOlWi+mOE0KLXj46Asps3wd+gmoe0T+0ifFCWsE+doHOy10JMLsJbJb?= =?utf-8?q?1oh5fWVTKC9Km5DC7mvpLmtgjml/aFB8pGgay4yEJWmCV/00lBX94u006b6tUUfPo?= =?utf-8?q?skusCQEHWWYNGjqHeV4+iDRJtnb4croVSexcMsL22XVoybTPNk5z71r9S8Y5+erRq?= =?utf-8?q?QKlee0Zrhu+TUURmH/VopnBq6qy1/p6I9Nk9kL78HKv1sfBBz3GFW51Iezd0cGuN0?= =?utf-8?q?jMiTWWuuveGMpeRCrYdTjsEjWpf6OnGmkPV9OGfZZhvrd6t7GHI6IQWo4lU8iSPdJ?= =?utf-8?q?hC67DxPgwxgKpvXLR/NHchE01m+6REdBr3cQmwoTJmFBxvtbq5zInNtblmC9a7c0k?= =?utf-8?q?i6446zkk6sLXY+VOa/ENez0O2yO5nZNsZlRome87zHNLkt3bRIZZhmety/ATCU/ZP?= =?utf-8?q?s4drSwT4eA1+0yKazcx0f8bTcGaJd3UXx3LKnJeXQhBreaU4rRuYiLjdSiiKI3vrs?= =?utf-8?q?JkhESreK/OweBDZby37i/Cw3dv75LzdmmN2kNYmI9819n3OEy+xmiLrSxE3/Me0Uz?= =?utf-8?q?V/IaAw7+hINW60BT36TLvHjWoDmSxAtMe7IXfM191MZdjyOKv0aV0LN8/z9axVwPS?= =?utf-8?q?+yMMa1pEjtEgI579lv47eu9tNXmi7avGRVUb7ApqFX0fxLG+JhPAzqXe5KFK5JFTx?= =?utf-8?q?glJPUYBpH539HiJKvDuimqM4Z24bZmplJReKoxKFsP0sIiVw31DZmlXCDQNlozOB/?= =?utf-8?q?zG9fG4AtUXnNpMnOPFpHlx/7Ch2G45bLk+QTAQkBfO+kRRNs19EtEnBDRKttA9yXS?= =?utf-8?q?8U3GZD5ci0Ovc7wmIyv6b/MWrjrLSC6v1flThFRDK1TxUGSekG+oASXT8Ugx+I1mQ?= =?utf-8?q?eb0TxiIMjhqpy3O0A1/PR2ysEa4uc/HcKDswiJnQveQWf1dsRp9REp5fqpH7tgxgJ?= =?utf-8?q?4ZZ7pmDICVFgvbnUq2iFbJiEdtn/w6HFPhI+m52O7uLeLeLkuLuvQrq2GevY4gP0x?= =?utf-8?q?slOVewiFErWJal/7ORH0ywG7NjbbPDWJqshMfk3fqKpn7J+FPsJsm+xMOSQjETF4/?= =?utf-8?q?+TuFGJorg69j4eshJhkzR46h79tVRxwtV6oM4WZRXSrx4N0n0FReoRdowKv/09fgr?= =?utf-8?q?jWCvY8VeAi16QOTs2mlKh695GM1cpK+uYHM5PoUocbY6FKgZDrojt4LMFdJVQQm8q?= =?utf-8?q?qOQg09KU9MLF6175AJtK0F5LDyUpxul9Z0w/MSpIszh8Q8buTeYfHp6Qcu4AN0p7v?= =?utf-8?q?rLxnTLgPwPeYG/12mFqRhJnkc9OTE2lGBR4Q2KHj2cb/AvTcdVIPunlEe1vDx7hQo?= =?utf-8?q?I6eigwyYTJAGV88NAmikQs/3onzRrL4tiEEErmmMFOIBR8m7VvK7tWYgyLgqdXveq?= =?utf-8?q?w7G+UpPbMx3n?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: cca9c043-fcca-4a1a-075d-08dbd9571ba8 X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Oct 2023 14:47:15.3460 (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: ql7DFuCK4zQfmYjiq6G3SCn2SZX6o2ZlXiLdBibApbrbtgpLhjh6llQ7UnbVehGxeQtTJarJGQabeSCm3vs/hg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR04MB9182 X-Spam-Status: No, score=-3026.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, 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 X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: binutils-bounces+ouuuleilei=gmail.com@sourceware.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1781192191893924788 X-GMAIL-MSGID: 1781192191893924788 Make sure these (continue to) work as intended. --- /dev/null +++ b/gas/testsuite/gas/riscv/l-s-macro.d @@ -0,0 +1,56 @@ +#as: -march=rv64i +#name: Lx/Sx macro insns +#objdump: -dwr + +.*:[ ]+file format .* + + +Disassembly of section .text: + +0+ : +[ ]+[0-9a-f]+:[ ]+00000517[ ]+auipc[ ]+a0,0x0[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_HI20[ ]+bval +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* +[ ]+[0-9a-f]+:[ ]+00050503[ ]+lb[ ]+a0,0\(a0\) # [0-9a-f]+( <.*>)?[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_LO12_I[ ]+.* +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* +[ ]+[0-9a-f]+:[ ]+00000517[ ]+auipc[ ]+a0,0x0[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_HI20[ ]+bval +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* +[ ]+[0-9a-f]+:[ ]+00054503[ ]+lbu[ ]+a0,0\(a0\) # [0-9a-f]+( <.*>)?[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_LO12_I[ ]+.* +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* +[ ]+[0-9a-f]+:[ ]+00000517[ ]+auipc[ ]+a0,0x0[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_HI20[ ]+hval +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* +[ ]+[0-9a-f]+:[ ]+00051503[ ]+lh[ ]+a0,0\(a0\) # [0-9a-f]+( <.*>)?[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_LO12_I[ ]+.* +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* +[ ]+[0-9a-f]+:[ ]+00000517[ ]+auipc[ ]+a0,0x0[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_HI20[ ]+hval +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* +[ ]+[0-9a-f]+:[ ]+00055503[ ]+lhu[ ]+a0,0\(a0\) # [0-9a-f]+( <.*>)?[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_LO12_I[ ]+.* +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* +[ ]+[0-9a-f]+:[ ]+00000517[ ]+auipc[ ]+a0,0x0[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_HI20[ ]+wval +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* +[ ]+[0-9a-f]+:[ ]+00052503[ ]+lw[ ]+a0,0\(a0\) # [0-9a-f]+( <.*>)?[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_LO12_I[ ]+.* +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* +[ ]+[0-9a-f]+:[ ]+00000517[ ]+auipc[ ]+a0,0x0[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_HI20[ ]+wval +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* +[ ]+[0-9a-f]+:[ ]+00056503[ ]+lwu[ ]+a0,0\(a0\) # [0-9a-f]+( <.*>)?[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_LO12_I[ ]+.* +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* +[ ]+[0-9a-f]+:[ ]+00000517[ ]+auipc[ ]+a0,0x0[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_HI20[ ]+dval +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* +[ ]+[0-9a-f]+:[ ]+00053503[ ]+ld[ ]+a0,0\(a0\) # [0-9a-f]+( <.*>)?[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_LO12_I[ ]+.* +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* + +[0-9a-f]+ : +[ ]+[0-9a-f]+:[ ]+00000297[ ]+auipc[ ]+t0,0x0[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_HI20[ ]+bval +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* +[ ]+[0-9a-f]+:[ ]+00a28023[ ]+sb[ ]+a0,0\(t0\) # [0-9a-f]+( <.*>)?[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_LO12_S[ ]+.* +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* +[ ]+[0-9a-f]+:[ ]+00000297[ ]+auipc[ ]+t0,0x0[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_HI20[ ]+hval +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* +[ ]+[0-9a-f]+:[ ]+00a29023[ ]+sh[ ]+a0,0\(t0\) # [0-9a-f]+( <.*>)?[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_LO12_S[ ]+.* +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* +[ ]+[0-9a-f]+:[ ]+00000297[ ]+auipc[ ]+t0,0x0[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_HI20[ ]+wval +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* +[ ]+[0-9a-f]+:[ ]+00a2a023[ ]+sw[ ]+a0,0\(t0\) # [0-9a-f]+( <.*>)?[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_LO12_S[ ]+.* +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* +[ ]+[0-9a-f]+:[ ]+00000297[ ]+auipc[ ]+t0,0x0[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_HI20[ ]+dval +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* +[ ]+[0-9a-f]+:[ ]+00a2b023[ ]+sd[ ]+a0,0\(t0\) # [0-9a-f]+( <.*>)?[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_LO12_S[ ]+.* +[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.* --- /dev/null +++ b/gas/testsuite/gas/riscv/l-s-macro.s @@ -0,0 +1,14 @@ +L: + lb a0, bval + lbu a0, bval + lh a0, hval + lhu a0, hval + lw a0, wval + lwu a0, wval + ld a0, dval + +S: + sb a0, bval, t0 + sh a0, hval, t0 + sw a0, wval, t0 + sd a0, dval, t0 From patchwork Mon Oct 30 14:47:49 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 159774 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:d641:0:b0:403:3b70:6f57 with SMTP id cy1csp2271418vqb; Mon, 30 Oct 2023 07:48:01 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEjc6e2VE2B+onG8be71NYRoa+MDtmrO3M1k3u8ghPZs+4y2OJJk4127gqC+jNT2acH1I67 X-Received: by 2002:ac8:5906:0:b0:41c:c588:b821 with SMTP id 6-20020ac85906000000b0041cc588b821mr14659754qty.25.1698677280807; Mon, 30 Oct 2023 07:48:00 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1698677280; cv=pass; d=google.com; s=arc-20160816; b=eit0ZpIDh1BiiMeRw5o97njEZ7VN+1AI3aeCQMJ/lp0APvjPWivYAM/Hz7zIMAQB3O EYefo/b4FYnEuakRurrlS82G4GqygBnC+mXtF4egd8d+VEM6Ba3FN+HWMyiKZMJaUwOp g5vsU1qhsOUx2q7SnhBINiCWpmb5wOZ3zhvXNxDtRO4W+cVWvITTDasflXnMn2H+zVme P4v+mi4kyrM1IxMkPsMdBA25g1+RCRoVNfpj/4Cg75nPYCYqxL4O7UYAEFmeoC0DuAy7 uMp3qlADW11iogrFhHN/UqMzZULvSKcGVFFgmOiOhrxZ9NXExxWXDJPv7wYlx72lHJYg WtxA== ARC-Message-Signature: i=3; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:mime-version :content-transfer-encoding:in-reply-to:references:cc:to:from :content-language:subject:user-agent:date:message-id:dkim-signature :arc-filter:dmarc-filter:delivered-to; bh=c5F9a51Jggvqzb/bHSKDGldKSnVFIVHMo5X+Efg/dec=; fh=VT6N6QD4amIFxZr9T34bK4bL2a91CdTGSC+SgZliO78=; b=zIReUpcEN15k17H4zZ8/lxBm1XtQhoPYeHFvHP89GnKHnkYNXNDGnXNX747fba4+1Z pfGCwSJUtdjGnsrerFfi6V04LxxQkjjLKdHC7heKMUdHwh1F8JSHy78kO2TobtYRQp5K oDFwllruR2zCyLLw0/8Xo9IZt+KWCZ8JoG1hb6yXyQfoG94hrpka+duL0Rs2jHi4Cri1 K/Vu1vJXnuTdOOoTd/idF5BtTDUfvAJougqJapRYMS0mNkxNRVU1yCI/KAALa2X8fQmN vKpn4mSAruI+YV1i9A58xDZBLBi9v2XV8+KMLiDxAZBoyk7LEDmsfyvE7d1u3z8t2w7D LWiQ== ARC-Authentication-Results: i=3; mx.google.com; dkim=pass header.i=@suse.com header.s=selector1 header.b=12wRxpmJ; arc=pass (i=2); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Received: from server2.sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id e22-20020a05622a111600b004122c43463asi5657535qty.806.2023.10.30.07.48.00 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 30 Oct 2023 07:48:00 -0700 (PDT) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=selector1 header.b=12wRxpmJ; arc=pass (i=2); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 6C1D93865C2B for ; Mon, 30 Oct 2023 14:47:57 +0000 (GMT) X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2078.outbound.protection.outlook.com [40.107.21.78]) by sourceware.org (Postfix) with ESMTPS id BE21B3861936 for ; Mon, 30 Oct 2023 14:47:50 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org BE21B3861936 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 BE21B3861936 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.21.78 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1698677273; cv=pass; b=UBTK2GMGRVdJFgZr7gMDLbDw9BDsqI37tboSNj15kfaAC1BsWXMzZmNOPv/rc5EB+IchqDzoT++ZQWimjruYP8yfs51mOhac6C8W7oXJvCGe8v4p9qaj9o0hXtpwJZt7h11P44uNiPJ/5nYVyWoJAhIogPFBgaGumnkb08VE/YY= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1698677273; c=relaxed/simple; bh=VVzNcaAsTtFlAd1HvNUEFAkPHzuH7tCaQlwZ1VMmTIY=; h=DKIM-Signature:Message-ID:Date:Subject:From:To:MIME-Version; b=VNg8Tl+n/X/vwBYvf+ry8N69ah4G6equNkTpia93aYSm/tGH/JjVigOC+FYnub0uFwxYg/VObbSD24W4unUmk+lNFTPot1UT/AbSgEslxvw+bxZkVEFEE9UvHhrmPYPj92aVLJKaQXFBlMM81iobGeRAOLCvVFq1igdwkdVWd2k= ARC-Authentication-Results: i=2; server2.sourceware.org ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PFfQa745vL+VM3tx7zY5kSjGOcQHZQZAebj3MTmVSqyC5fuP54SoAxlsjjShBA0uodi/ZVtktP4xujy4Sh6fZ3tOLf8s6cbmjeeMnd6hefEGUbLwDzrbaBWFnBZqAEE3sYpDkUsTs2PbULgmhuPS+2sJyR10XrgTqmleUJn6LoxuxvkFDILA6RuXtzIcRCaISDUI3mkUyf1ju5Cr0PI1Sqvw8mGfuMYSugO3kTFGCFyDTglXWONRXW/RE+x6VSyhvILnDzCd4VCM2cudCmiKgkKmESG0uuxKPIIIaEMohlsk8BxzGylVWQ8ta98wOdNV0sjj6+7kV9zC6mynqNlJKw== 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=c5F9a51Jggvqzb/bHSKDGldKSnVFIVHMo5X+Efg/dec=; b=OS0WVyRyHsK0mWBrBuY3aOWexpVX6JoCNWYWpl/r4QAveLcX5D2TViP8HRvOwe+sdHElpxtRlJf5rUXW4X/biC0R9f6X2douFOlrON5uudUMaM9UqMY5x3Q5DLW5tPfFRn56KgmgSXGDDw5e6/MgjxMc9BLX80xMquXf0b/v6X1xwUUoFEf5HOGvr1rYS+Y9nsk5ypglIY2mf5F3SLKN+aVT3O/FlA0As68Npyj5WIPivhAgRbFBiEZ8n13p8DJWUeMDPMXpn4t6/QixcKbbuJjPsuu6qaKwbEJziBtojWGxpjtQPTBVyvSA8AuEtkjjRqmS28VCjGNc3MCDuhCfHQ== 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=c5F9a51Jggvqzb/bHSKDGldKSnVFIVHMo5X+Efg/dec=; b=12wRxpmJPhoUMf0tlGyrknqc2AEfRcysveyO/gJ/1OeEw9zhLj57K+3pcCKS9t4K+GU1hXt1E/mxYZ/qZTp3k9F6beRpc+r+Oq88BR2Ax52Wy1aATbNnVnuJIGTDHQwAjx3mYkwLdZdNVdqU4w+6/PNiah6uxL6MDHwxCqs2MpFf3stb2d4eNP+8oiH2NwbkZn4tZmourSBhabbtiBN1EjidWFshglNyinW//VheCgW0+N7+DSQj7OPbGu6vloyXj17pUI3k/IvMXtaY9qWk9RYqIwM1spzrHZfoJ+wqw6uvJQOkOesFMYEJq6JuuqTGq4SYYN8jjqax4smTkkQkAA== 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 GV1PR04MB9182.eurprd04.prod.outlook.com (2603:10a6:150:26::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.16; Mon, 30 Oct 2023 14:47:48 +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.6954.016; Mon, 30 Oct 2023 14:47:48 +0000 Message-ID: <9d490a97-1313-ff7e-53a8-8410836bc22c@suse.com> Date: Mon, 30 Oct 2023 15:47:49 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 Subject: [PATCH 4/4] RISC-V: reduce redundancy in load/store macro insn handling Content-Language: en-US From: Jan Beulich To: Binutils Cc: Palmer Dabbelt , Andrew Waterman , Jim Wilson , Nelson Chu References: In-Reply-To: X-ClientProxiedBy: FR5P281CA0056.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:f0::19) To DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|GV1PR04MB9182:EE_ X-MS-Office365-Filtering-Correlation-Id: ab832ec8-b976-42f7-e091-08dbd9572f28 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Jll6bSE1HgyPezsDeItZyjRkeDMZPL3WRHSIcnLu1BFu9qKnxtSt1HhXt/vDhdvNXc59Qw0wsgns9k0QN6WU1VdMO2IsHpfIwLa32C5WoY6ay/5wGqnN6P2UWzKaaZrKrro/nn0tLORzGO7PWzlZal0GkQtkIZSWP78mvMRh8J2kCJlgUJJlI2Bu7/tjauhWc4W2QNPCcjLpxhcIIaaVsVYA1WU6tNtVclnMJIbnkdnVF5Da58oQcxzZXin2OTBHgHoQeb0mxbkiR3Eqh4++pFe4+PwG2ugEX0klonQyZE6klJrLv4hx52C3mPVt37QHAlZNcELEq71yI11p60xt+xUW3o1VuQ9OYw+X0qJyBwmt8NUhW7QFGr/C/6LHYdAjBmj2OyKhcwwkSMMxJrkg34u+3mRBmWducBK1Hs8AFkz9cvhbdRlfzf+RkczySPr/y2kiE5urTLBdfwroIed8vVOgaMpUyRDQGHn5YGMNILindVvD9lu4Jssiu+JyWfZ2de0KMWnYYVgiGFYIbkxMuoEwms9B3qPXGHjIuQ63cH3SeTAclt8yiKbB8Fpw4ZgkKpzgmgSZ4fjgg+yoHyLLYNPtccgozye6IzdhecumdSwSaYcgLxhFokWa3niOX59Ny5vhsSHXVs1/UOr7OMAIzg== 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)(39860400002)(136003)(396003)(346002)(366004)(376002)(230922051799003)(186009)(451199024)(1800799009)(64100799003)(26005)(54906003)(66556008)(66476007)(6916009)(38100700002)(30864003)(5660300002)(2616005)(316002)(66946007)(8676002)(4326008)(8936002)(6506007)(41300700001)(6512007)(2906002)(6486002)(478600001)(36756003)(86362001)(31696002)(31686004)(43740500002)(45980500001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?enB3+rvbbFnWPa3XYG4kFgk8tzqc?= =?utf-8?q?zo4EYBolumw+NpfHR160NDz2hSTa+xW53jCS5RrF6VL5JHKy6tlV/0DJKDynhxH9F?= =?utf-8?q?8QBCO2cX6aGIsprQrdDFHBR8n+dH2btKl2On18c6GH7+5nF2rnrTJZIhrbpB6JxXq?= =?utf-8?q?b0YIJdIbZEGPTvpUq9N69tHQog+L0JrBUWDlYlWrIElst4FZRIbuMaK+5LJbitpVP?= =?utf-8?q?krp9yXuDfN3cYg1iJu/9jI2mTMO2fORqWVc1Opxg5P7zwW09VD+Gxd/A/UrkjU1zX?= =?utf-8?q?Z6KilJO9YbHQDeo7C16+I1AjD2+UsAW8brWJ0GnU33zmxbmKBsHRx5Pj9v4ZlyhQc?= =?utf-8?q?Zz2xq5+Hgr47tCk8jkqSEuVPODoNWkIeR5r1k8y/yua2smXkwaM4JX9uQES2SUdfP?= =?utf-8?q?6CeeFs4NhM8NpxeHTnY8VakSMt8K+vdKDAm+A2r0tLfKhc4x2/5QJpoveIMjcaaFl?= =?utf-8?q?/qGMDt8gExzZZ3obZjh9WJdVWyvnDRRpoZOD/KJmOaVWLdS9aYyUfyARPzQK7Voq2?= =?utf-8?q?90xnwA2qC5xyCuQJGTNemIlAo/AiviUtdqsLbHCat2VKV1k0sQAcjIq1876Pv31qp?= =?utf-8?q?A4D9XG1okUXmRb1UdA0ls1Fc6S+eh54TWbhtbs2gb6pjZf9h8RLcgq1H1N6cudn6+?= =?utf-8?q?c1QFIn1TXP8F1pIxxLjeSO/VAjlpab87DtAjEWHBZ8FtK76astWFuyAi0Q7Tl7W7k?= =?utf-8?q?FzyAf0CwnJ5I3pk2OfhUASC7gV/L8QI2mrs1kA+ZKqDBXbKzPx3KH65uNq2y5iXv2?= =?utf-8?q?4jXKReU+39TaT2J/XMLNaNH+Z/1DDdrTvTkcdEC4oeiHvlikNmoFD8YVwP7k7tBUU?= =?utf-8?q?s6rcbjf+t1lWInYdzjX9u2ipnNgCfqbSAVd4OP4e2E9yPtRphh20L4HuIma2volZb?= =?utf-8?q?LYg93zWO8hApHsGYPAo8UGClIBbb6QB4CDjz6z0CxDIXv5MRnXSxmAwSbYpKN0Ip8?= =?utf-8?q?I9voj/ozvrJkid9JNrOvCEX9uCWgvTgznQmNwDJXDIk6ZDO0BVsK9LNQegPZO0qUC?= =?utf-8?q?SkgKPZUOgDvuSHU/sKZzWeTHMYMKucrUtYWT+Gh2P6RQUarLmiB45DMQMWLqVxq9u?= =?utf-8?q?cFvM2Bhof3ofBfHuY0yDu/LSxmN0Jbiivprjj1Gz2Buy39lWw9wuzFRecYHUsYe62?= =?utf-8?q?hTNhKMx7if6g+k3haeD0cyT2ZOtjho79qRoWHjA1ror09cV7pbj9IkceKfXc6Dvs0?= =?utf-8?q?IgzBP4MG1DFW4zdiFujkgO86Y4SIi4JaWG1XNzKVgJcM/cKFNccRpsvGdGDBhr3bP?= =?utf-8?q?PjKqbyC42njXO5OUV/eFIsl4hteXEr9TWfsJ5WBJ/CLiWhvTxlqGzCArUeGX1WtV/?= =?utf-8?q?qsClgBlNfMs9fB0sheuSOOz+KBuvkkqc2rbesDQ88mKAf7G6pQ5tDJnXivejUl5Oj?= =?utf-8?q?m/4WSp5QX6zzUjrq/dRbTnbyFGGVRsp+1/Np+H8O6PTPBcM1Og5NNw1KhEVRikU8h?= =?utf-8?q?KDbddzmU+rVBg91sYJ8KGoQaz4I1lNMwm67wE/b6J4tx3a/RM9aMz7C4iME7VuQiO?= =?utf-8?q?lJjixSXBv/nc?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: ab832ec8-b976-42f7-e091-08dbd9572f28 X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Oct 2023 14:47:48.0801 (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: VUvHamNvK5wOZ2wY25RPzAFhNg6Dc7eLX2xPtNNcpFkWaOQlTQRPgxjQBw7uiYkmfN1oh28RPaKSfKBcBQxY9g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR04MB9182 X-Spam-Status: No, score=-3027.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, UPPERCASE_50_75 autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: binutils-bounces+ouuuleilei=gmail.com@sourceware.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1781192228807600612 X-GMAIL-MSGID: 1781192228807600612 Within the groups L{B,BU,H,HU,W,WU,D}, S{B,H,W,D}, FL{H,W,D,Q}, and FS{H,W,D,Q} the sole difference between the handling is the insn mnemonic passed to the common handling functions. The intended mnemonic, however, can easily be retrieved. Furthermore leverags that Sx and FSx are then handled identically, too, and hence their cases can also be folded. --- a/gas/config/tc-riscv.c +++ b/gas/config/tc-riscv.c @@ -2056,88 +2056,18 @@ macro (struct riscv_cl_insn *ip, express BFD_RELOC_RISCV_TLS_GOT_HI20, BFD_RELOC_RISCV_PCREL_LO12_I); break; - case M_LB: - pcrel_load (rd, rd, imm_expr, "lb", + case M_Lx: + pcrel_load (rd, rd, imm_expr, ip->insn_mo->name, BFD_RELOC_RISCV_PCREL_HI20, BFD_RELOC_RISCV_PCREL_LO12_I); break; - case M_LBU: - pcrel_load (rd, rd, imm_expr, "lbu", + case M_FLx: + pcrel_load (rd, rs1, imm_expr, ip->insn_mo->name, BFD_RELOC_RISCV_PCREL_HI20, BFD_RELOC_RISCV_PCREL_LO12_I); break; - case M_LH: - pcrel_load (rd, rd, imm_expr, "lh", - BFD_RELOC_RISCV_PCREL_HI20, BFD_RELOC_RISCV_PCREL_LO12_I); - break; - - case M_LHU: - pcrel_load (rd, rd, imm_expr, "lhu", - BFD_RELOC_RISCV_PCREL_HI20, BFD_RELOC_RISCV_PCREL_LO12_I); - break; - - case M_LW: - pcrel_load (rd, rd, imm_expr, "lw", - BFD_RELOC_RISCV_PCREL_HI20, BFD_RELOC_RISCV_PCREL_LO12_I); - break; - - case M_LWU: - pcrel_load (rd, rd, imm_expr, "lwu", - BFD_RELOC_RISCV_PCREL_HI20, BFD_RELOC_RISCV_PCREL_LO12_I); - break; - - case M_LD: - pcrel_load (rd, rd, imm_expr, "ld", - BFD_RELOC_RISCV_PCREL_HI20, BFD_RELOC_RISCV_PCREL_LO12_I); - break; - - case M_FLW: - pcrel_load (rd, rs1, imm_expr, "flw", - BFD_RELOC_RISCV_PCREL_HI20, BFD_RELOC_RISCV_PCREL_LO12_I); - break; - - case M_FLD: - pcrel_load (rd, rs1, imm_expr, "fld", - BFD_RELOC_RISCV_PCREL_HI20, BFD_RELOC_RISCV_PCREL_LO12_I); - break; - - case M_FLQ: - pcrel_load (rd, rs1, imm_expr, "flq", - BFD_RELOC_RISCV_PCREL_HI20, BFD_RELOC_RISCV_PCREL_LO12_I); - break; - - case M_SB: - pcrel_store (rs2, rs1, imm_expr, "sb", - BFD_RELOC_RISCV_PCREL_HI20, BFD_RELOC_RISCV_PCREL_LO12_S); - break; - - case M_SH: - pcrel_store (rs2, rs1, imm_expr, "sh", - BFD_RELOC_RISCV_PCREL_HI20, BFD_RELOC_RISCV_PCREL_LO12_S); - break; - - case M_SW: - pcrel_store (rs2, rs1, imm_expr, "sw", - BFD_RELOC_RISCV_PCREL_HI20, BFD_RELOC_RISCV_PCREL_LO12_S); - break; - - case M_SD: - pcrel_store (rs2, rs1, imm_expr, "sd", - BFD_RELOC_RISCV_PCREL_HI20, BFD_RELOC_RISCV_PCREL_LO12_S); - break; - - case M_FSW: - pcrel_store (rs2, rs1, imm_expr, "fsw", - BFD_RELOC_RISCV_PCREL_HI20, BFD_RELOC_RISCV_PCREL_LO12_S); - break; - - case M_FSD: - pcrel_store (rs2, rs1, imm_expr, "fsd", - BFD_RELOC_RISCV_PCREL_HI20, BFD_RELOC_RISCV_PCREL_LO12_S); - break; - - case M_FSQ: - pcrel_store (rs2, rs1, imm_expr, "fsq", + case M_Sx_FSx: + pcrel_store (rs2, rs1, imm_expr, ip->insn_mo->name, BFD_RELOC_RISCV_PCREL_HI20, BFD_RELOC_RISCV_PCREL_LO12_S); break; @@ -2165,15 +2095,6 @@ macro (struct riscv_cl_insn *ip, express vector_macro (ip); break; - case M_FLH: - pcrel_load (rd, rs1, imm_expr, "flh", - BFD_RELOC_RISCV_PCREL_HI20, BFD_RELOC_RISCV_PCREL_LO12_I); - break; - case M_FSH: - pcrel_store (rs2, rs1, imm_expr, "fsh", - BFD_RELOC_RISCV_PCREL_HI20, BFD_RELOC_RISCV_PCREL_LO12_S); - break; - default: as_bad (_("internal: macro %s not implemented"), ip->insn_mo->name); break; --- a/include/opcode/riscv.h +++ b/include/opcode/riscv.h @@ -538,23 +538,9 @@ enum M_LGA, M_LA_TLS_GD, M_LA_TLS_IE, - M_LB, - M_LBU, - M_LH, - M_LHU, - M_LW, - M_LWU, - M_LD, - M_SB, - M_SH, - M_SW, - M_SD, - M_FLW, - M_FLD, - M_FLQ, - M_FSW, - M_FSD, - M_FSQ, + M_Lx, + M_FLx, + M_Sx_FSx, M_CALL, M_J, M_LI, @@ -563,8 +549,6 @@ enum M_SEXTB, M_SEXTH, M_VMSGE, - M_FLH, - M_FSH, M_NUM_MACROS }; --- a/opcodes/riscv-opc.c +++ b/opcodes/riscv-opc.c @@ -462,20 +462,20 @@ const struct riscv_opcode riscv_opcodes[ {"sub", 0, INSN_CLASS_C, "Cs,Cw,Ct", MATCH_C_SUB, MASK_C_SUB, match_opcode, INSN_ALIAS }, {"sub", 0, INSN_CLASS_I, "d,s,t", MATCH_SUB, MASK_SUB, match_opcode, 0 }, {"lb", 0, INSN_CLASS_I, "d,o(s)", MATCH_LB, MASK_LB, match_opcode, INSN_DREF|INSN_1_BYTE }, -{"lb", 0, INSN_CLASS_I, "d,A", 0, (int) M_LB, match_never, INSN_MACRO }, +{"lb", 0, INSN_CLASS_I, "d,A", 0, (int) M_Lx, match_never, INSN_MACRO }, {"lbu", 0, INSN_CLASS_ZCB, "Ct,Wcb(Cs)", MATCH_C_LBU, MASK_C_LBU, match_opcode, INSN_ALIAS|INSN_DREF|INSN_1_BYTE }, {"lbu", 0, INSN_CLASS_I, "d,o(s)", MATCH_LBU, MASK_LBU, match_opcode, INSN_DREF|INSN_1_BYTE }, -{"lbu", 0, INSN_CLASS_I, "d,A", 0, (int) M_LBU, match_never, INSN_MACRO }, +{"lbu", 0, INSN_CLASS_I, "d,A", 0, (int) M_Lx, match_never, INSN_MACRO }, {"lh", 0, INSN_CLASS_ZCB, "Ct,Wch(Cs)", MATCH_C_LH, MASK_C_LH, match_opcode, INSN_ALIAS|INSN_DREF|INSN_2_BYTE }, {"lh", 0, INSN_CLASS_I, "d,o(s)", MATCH_LH, MASK_LH, match_opcode, INSN_DREF|INSN_2_BYTE }, -{"lh", 0, INSN_CLASS_I, "d,A", 0, (int) M_LH, match_never, INSN_MACRO }, +{"lh", 0, INSN_CLASS_I, "d,A", 0, (int) M_Lx, match_never, INSN_MACRO }, {"lhu", 0, INSN_CLASS_ZCB, "Ct,Wch(Cs)", MATCH_C_LHU, MASK_C_LHU, match_opcode, INSN_ALIAS|INSN_DREF|INSN_2_BYTE }, {"lhu", 0, INSN_CLASS_I, "d,o(s)", MATCH_LHU, MASK_LHU, match_opcode, INSN_DREF|INSN_2_BYTE }, -{"lhu", 0, INSN_CLASS_I, "d,A", 0, (int) M_LHU, match_never, INSN_MACRO }, +{"lhu", 0, INSN_CLASS_I, "d,A", 0, (int) M_Lx, match_never, INSN_MACRO }, {"lw", 0, INSN_CLASS_C, "d,Cm(Cc)", MATCH_C_LWSP, MASK_C_LWSP, match_rd_nonzero, INSN_ALIAS|INSN_DREF|INSN_4_BYTE }, {"lw", 0, INSN_CLASS_C, "Ct,Ck(Cs)", MATCH_C_LW, MASK_C_LW, match_opcode, INSN_ALIAS|INSN_DREF|INSN_4_BYTE }, {"lw", 0, INSN_CLASS_I, "d,o(s)", MATCH_LW, MASK_LW, match_opcode, INSN_DREF|INSN_4_BYTE }, -{"lw", 0, INSN_CLASS_I, "d,A", 0, (int) M_LW, match_never, INSN_MACRO }, +{"lw", 0, INSN_CLASS_I, "d,A", 0, (int) M_Lx, match_never, INSN_MACRO }, {"not", 0, INSN_CLASS_ZCB, "Cs,Cw", MATCH_C_NOT, MASK_C_NOT, match_opcode, INSN_ALIAS }, {"not", 0, INSN_CLASS_I, "d,s", MATCH_XORI|MASK_IMM, MASK_XORI|MASK_IMM, match_opcode, INSN_ALIAS }, {"ori", 0, INSN_CLASS_I, "d,s,j", MATCH_ORI, MASK_ORI, match_opcode, 0 }, @@ -498,14 +498,14 @@ const struct riscv_opcode riscv_opcodes[ {"sgtu", 0, INSN_CLASS_I, "d,t,s", MATCH_SLTU, MASK_SLTU, match_opcode, INSN_ALIAS }, {"sb", 0, INSN_CLASS_ZCB, "Ct,Wcb(Cs)", MATCH_C_SB, MASK_C_SB, match_opcode, INSN_DREF|INSN_1_BYTE|INSN_ALIAS }, {"sb", 0, INSN_CLASS_I, "t,q(s)", MATCH_SB, MASK_SB, match_opcode, INSN_DREF|INSN_1_BYTE }, -{"sb", 0, INSN_CLASS_I, "t,A,s", 0, (int) M_SB, match_never, INSN_MACRO }, +{"sb", 0, INSN_CLASS_I, "t,A,s", 0, (int) M_Sx_FSx, match_never, INSN_MACRO }, {"sh", 0, INSN_CLASS_ZCB, "Ct,Wch(Cs)", MATCH_C_SH, MASK_C_SH, match_opcode, INSN_DREF|INSN_2_BYTE|INSN_ALIAS }, {"sh", 0, INSN_CLASS_I, "t,q(s)", MATCH_SH, MASK_SH, match_opcode, INSN_DREF|INSN_2_BYTE }, -{"sh", 0, INSN_CLASS_I, "t,A,s", 0, (int) M_SH, match_never, INSN_MACRO }, +{"sh", 0, INSN_CLASS_I, "t,A,s", 0, (int) M_Sx_FSx, match_never, INSN_MACRO }, {"sw", 0, INSN_CLASS_C, "CV,CM(Cc)", MATCH_C_SWSP, MASK_C_SWSP, match_opcode, INSN_ALIAS|INSN_DREF|INSN_4_BYTE }, {"sw", 0, INSN_CLASS_C, "Ct,Ck(Cs)", MATCH_C_SW, MASK_C_SW, match_opcode, INSN_ALIAS|INSN_DREF|INSN_4_BYTE }, {"sw", 0, INSN_CLASS_I, "t,q(s)", MATCH_SW, MASK_SW, match_opcode, INSN_DREF|INSN_4_BYTE }, -{"sw", 0, INSN_CLASS_I, "t,A,s", 0, (int) M_SW, match_never, INSN_MACRO }, +{"sw", 0, INSN_CLASS_I, "t,A,s", 0, (int) M_Sx_FSx, match_never, INSN_MACRO }, {"fence", 0, INSN_CLASS_I, "", MATCH_FENCE|MASK_PRED|MASK_SUCC, MASK_FENCE|MASK_RD|MASK_RS1|MASK_IMM, match_opcode, INSN_ALIAS }, {"fence", 0, INSN_CLASS_I, "P,Q", MATCH_FENCE, MASK_FENCE|MASK_RD|MASK_RS1|(MASK_IMM & ~MASK_PRED & ~MASK_SUCC), match_opcode, 0 }, {"fence.i", 0, INSN_CLASS_ZIFENCEI, "", MATCH_FENCE_I, MASK_FENCE|MASK_RD|MASK_RS1|MASK_IMM, match_opcode, 0 }, @@ -524,15 +524,15 @@ const struct riscv_opcode riscv_opcodes[ {"xor", 0, INSN_CLASS_C, "Cs,Ct,Cw", MATCH_C_XOR, MASK_C_XOR, match_opcode, INSN_ALIAS }, {"xor", 0, INSN_CLASS_I, "d,s,t", MATCH_XOR, MASK_XOR, match_opcode, 0 }, {"lwu", 64, INSN_CLASS_I, "d,o(s)", MATCH_LWU, MASK_LWU, match_opcode, INSN_DREF|INSN_4_BYTE }, -{"lwu", 64, INSN_CLASS_I, "d,A", 0, (int) M_LWU, match_never, INSN_MACRO }, +{"lwu", 64, INSN_CLASS_I, "d,A", 0, (int) M_Lx, match_never, INSN_MACRO }, {"ld", 64, INSN_CLASS_C, "d,Cn(Cc)", MATCH_C_LDSP, MASK_C_LDSP, match_rd_nonzero, INSN_ALIAS|INSN_DREF|INSN_8_BYTE }, {"ld", 64, INSN_CLASS_C, "Ct,Cl(Cs)", MATCH_C_LD, MASK_C_LD, match_opcode, INSN_ALIAS|INSN_DREF|INSN_8_BYTE }, {"ld", 64, INSN_CLASS_I, "d,o(s)", MATCH_LD, MASK_LD, match_opcode, INSN_DREF|INSN_8_BYTE }, -{"ld", 64, INSN_CLASS_I, "d,A", 0, (int) M_LD, match_never, INSN_MACRO }, +{"ld", 64, INSN_CLASS_I, "d,A", 0, (int) M_Lx, match_never, INSN_MACRO }, {"sd", 64, INSN_CLASS_C, "CV,CN(Cc)", MATCH_C_SDSP, MASK_C_SDSP, match_opcode, INSN_ALIAS|INSN_DREF|INSN_8_BYTE }, {"sd", 64, INSN_CLASS_C, "Ct,Cl(Cs)", MATCH_C_SD, MASK_C_SD, match_opcode, INSN_ALIAS|INSN_DREF|INSN_8_BYTE }, {"sd", 64, INSN_CLASS_I, "t,q(s)", MATCH_SD, MASK_SD, match_opcode, INSN_DREF|INSN_8_BYTE }, -{"sd", 64, INSN_CLASS_I, "t,A,s", 0, (int) M_SD, match_never, INSN_MACRO }, +{"sd", 64, INSN_CLASS_I, "t,A,s", 0, (int) M_Sx_FSx, match_never, INSN_MACRO }, {"sext.w", 64, INSN_CLASS_C, "d,CU", MATCH_C_ADDIW, MASK_C_ADDIW|MASK_RVC_IMM, match_rd_nonzero, INSN_ALIAS }, {"sext.w", 64, INSN_CLASS_I, "d,s", MATCH_ADDIW, MASK_ADDIW|MASK_IMM, match_opcode, INSN_ALIAS }, {"addiw", 64, INSN_CLASS_C, "d,CU,Co", MATCH_C_ADDIW, MASK_C_ADDIW, match_rd_nonzero, INSN_ALIAS }, @@ -663,9 +663,9 @@ const struct riscv_opcode riscv_opcodes[ /* Half-precision floating-point instruction subset. */ {"flh", 0, INSN_CLASS_ZFHMIN, "D,o(s)", MATCH_FLH, MASK_FLH, match_opcode, INSN_DREF|INSN_2_BYTE }, -{"flh", 0, INSN_CLASS_ZFHMIN, "D,A,s", 0, (int) M_FLH, match_never, INSN_MACRO }, +{"flh", 0, INSN_CLASS_ZFHMIN, "D,A,s", 0, (int) M_FLx, match_never, INSN_MACRO }, {"fsh", 0, INSN_CLASS_ZFHMIN, "T,q(s)", MATCH_FSH, MASK_FSH, match_opcode, INSN_DREF|INSN_2_BYTE }, -{"fsh", 0, INSN_CLASS_ZFHMIN, "T,A,s", 0, (int) M_FSH, match_never, INSN_MACRO }, +{"fsh", 0, INSN_CLASS_ZFHMIN, "T,A,s", 0, (int) M_Sx_FSx, match_never, INSN_MACRO }, {"fmv.x.h", 0, INSN_CLASS_ZFHMIN, "d,S", MATCH_FMV_X_H, MASK_FMV_X_H, match_opcode, 0 }, {"fmv.h.x", 0, INSN_CLASS_ZFHMIN, "D,s", MATCH_FMV_H_X, MASK_FMV_H_X, match_opcode, 0 }, {"fmv.h", 0, INSN_CLASS_ZFH_INX, "D,U", MATCH_FSGNJ_H, MASK_FSGNJ_H, match_rs1_eq_rs2, INSN_ALIAS }, @@ -746,11 +746,11 @@ const struct riscv_opcode riscv_opcodes[ {"flw", 32, INSN_CLASS_F_AND_C, "D,Cm(Cc)", MATCH_C_FLWSP, MASK_C_FLWSP, match_opcode, INSN_ALIAS|INSN_DREF|INSN_4_BYTE }, {"flw", 32, INSN_CLASS_F_AND_C, "CD,Ck(Cs)", MATCH_C_FLW, MASK_C_FLW, match_opcode, INSN_ALIAS|INSN_DREF|INSN_4_BYTE }, {"flw", 0, INSN_CLASS_F, "D,o(s)", MATCH_FLW, MASK_FLW, match_opcode, INSN_DREF|INSN_4_BYTE }, -{"flw", 0, INSN_CLASS_F, "D,A,s", 0, (int) M_FLW, match_never, INSN_MACRO }, +{"flw", 0, INSN_CLASS_F, "D,A,s", 0, (int) M_FLx, match_never, INSN_MACRO }, {"fsw", 32, INSN_CLASS_F_AND_C, "CT,CM(Cc)", MATCH_C_FSWSP, MASK_C_FSWSP, match_opcode, INSN_ALIAS|INSN_DREF|INSN_4_BYTE }, {"fsw", 32, INSN_CLASS_F_AND_C, "CD,Ck(Cs)", MATCH_C_FSW, MASK_C_FSW, match_opcode, INSN_ALIAS|INSN_DREF|INSN_4_BYTE }, {"fsw", 0, INSN_CLASS_F, "T,q(s)", MATCH_FSW, MASK_FSW, match_opcode, INSN_DREF|INSN_4_BYTE }, -{"fsw", 0, INSN_CLASS_F, "T,A,s", 0, (int) M_FSW, match_never, INSN_MACRO }, +{"fsw", 0, INSN_CLASS_F, "T,A,s", 0, (int) M_Sx_FSx, match_never, INSN_MACRO }, {"fmv.x.w", 0, INSN_CLASS_F, "d,S", MATCH_FMV_X_S, MASK_FMV_X_S, match_opcode, 0 }, {"fmv.w.x", 0, INSN_CLASS_F, "D,s", MATCH_FMV_S_X, MASK_FMV_S_X, match_opcode, 0 }, {"fmv.x.s", 0, INSN_CLASS_F, "d,S", MATCH_FMV_X_S, MASK_FMV_X_S, match_opcode, 0 }, @@ -808,11 +808,11 @@ const struct riscv_opcode riscv_opcodes[ {"fld", 0, INSN_CLASS_D_AND_C, "D,Cn(Cc)", MATCH_C_FLDSP, MASK_C_FLDSP, match_opcode, INSN_ALIAS|INSN_DREF|INSN_8_BYTE }, {"fld", 0, INSN_CLASS_D_AND_C, "CD,Cl(Cs)", MATCH_C_FLD, MASK_C_FLD, match_opcode, INSN_ALIAS|INSN_DREF|INSN_8_BYTE }, {"fld", 0, INSN_CLASS_D, "D,o(s)", MATCH_FLD, MASK_FLD, match_opcode, INSN_DREF|INSN_8_BYTE }, -{"fld", 0, INSN_CLASS_D, "D,A,s", 0, (int) M_FLD, match_never, INSN_MACRO }, +{"fld", 0, INSN_CLASS_D, "D,A,s", 0, (int) M_FLx, match_never, INSN_MACRO }, {"fsd", 0, INSN_CLASS_D_AND_C, "CT,CN(Cc)", MATCH_C_FSDSP, MASK_C_FSDSP, match_opcode, INSN_ALIAS|INSN_DREF|INSN_8_BYTE }, {"fsd", 0, INSN_CLASS_D_AND_C, "CD,Cl(Cs)", MATCH_C_FSD, MASK_C_FSD, match_opcode, INSN_ALIAS|INSN_DREF|INSN_8_BYTE }, {"fsd", 0, INSN_CLASS_D, "T,q(s)", MATCH_FSD, MASK_FSD, match_opcode, INSN_DREF|INSN_8_BYTE }, -{"fsd", 0, INSN_CLASS_D, "T,A,s", 0, (int) M_FSD, match_never, INSN_MACRO }, +{"fsd", 0, INSN_CLASS_D, "T,A,s", 0, (int) M_Sx_FSx, match_never, INSN_MACRO }, {"fmv.d", 0, INSN_CLASS_D_INX, "D,U", MATCH_FSGNJ_D, MASK_FSGNJ_D, match_rs1_eq_rs2, INSN_ALIAS }, {"fneg.d", 0, INSN_CLASS_D_INX, "D,U", MATCH_FSGNJN_D, MASK_FSGNJN_D, match_rs1_eq_rs2, INSN_ALIAS }, {"fabs.d", 0, INSN_CLASS_D_INX, "D,U", MATCH_FSGNJX_D, MASK_FSGNJX_D, match_rs1_eq_rs2, INSN_ALIAS }, @@ -867,9 +867,9 @@ const struct riscv_opcode riscv_opcodes[ /* Quad-precision floating-point instruction subset. */ {"flq", 0, INSN_CLASS_Q, "D,o(s)", MATCH_FLQ, MASK_FLQ, match_opcode, INSN_DREF|INSN_16_BYTE }, -{"flq", 0, INSN_CLASS_Q, "D,A,s", 0, (int) M_FLQ, match_never, INSN_MACRO }, +{"flq", 0, INSN_CLASS_Q, "D,A,s", 0, (int) M_FLx, match_never, INSN_MACRO }, {"fsq", 0, INSN_CLASS_Q, "T,q(s)", MATCH_FSQ, MASK_FSQ, match_opcode, INSN_DREF|INSN_16_BYTE }, -{"fsq", 0, INSN_CLASS_Q, "T,A,s", 0, (int) M_FSQ, match_never, INSN_MACRO }, +{"fsq", 0, INSN_CLASS_Q, "T,A,s", 0, (int) M_Sx_FSx, match_never, INSN_MACRO }, {"fmv.q", 0, INSN_CLASS_Q_INX, "D,U", MATCH_FSGNJ_Q, MASK_FSGNJ_Q, match_rs1_eq_rs2, INSN_ALIAS }, {"fneg.q", 0, INSN_CLASS_Q_INX, "D,U", MATCH_FSGNJN_Q, MASK_FSGNJN_Q, match_rs1_eq_rs2, INSN_ALIAS }, {"fabs.q", 0, INSN_CLASS_Q_INX, "D,U", MATCH_FSGNJX_Q, MASK_FSGNJX_Q, match_rs1_eq_rs2, INSN_ALIAS },