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