From patchwork Sat Aug 12 01:51:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tsukasa OI X-Patchwork-Id: 134791 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b824:0:b0:3f2:4152:657d with SMTP id z4csp1465755vqi; Fri, 11 Aug 2023 18:51:42 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHESTBr+B6is3mQJjHHzZzmUcEMU5Kpc7Y8c3Cu6oZzCD9diH7wKEfr5zMVNuo3TsBdYrPg X-Received: by 2002:aa7:de8c:0:b0:51b:e4b4:8bb0 with SMTP id j12-20020aa7de8c000000b0051be4b48bb0mr2851530edv.2.1691805102279; Fri, 11 Aug 2023 18:51:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691805102; cv=none; d=google.com; s=arc-20160816; b=QJBcYPNZj0KSQQ4rFIHvt4qGtGMGfilVfHNRtnzeH+I5xmJarzX/+v3RsOuwVvisti Icoyg7K6Ta5F9eD+6SSqcKUeE2F3Pq+5UP0KE2WwnMmjWzgoq2+rXNji+x2BzQD6fI6Y Bdm4oP+tN2+lJ3qMt+4SNvgq81XNJcMiG7ET4xiUel7rLxAQ+HqZzphbQW20kXmvUjog TlUG5yX3iE8LnLzvb42RLb4+inZ2jEcReMyD1pafdyW/E8/KvbO+Asu8eqT37vxszfI6 2BoTl9PIkNAZCMUnV5Uteg/MGdYPnASkEusrF5w+OesuBGi6Ofn266+1//kHNtUPGmTz d4GQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:reply-to:from:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence :content-transfer-encoding:mime-version:message-id:date:subject:cc :to:dmarc-filter:delivered-to:dkim-signature:dkim-filter; bh=qqUuW6BCCmOmYx4D7P8VGif4kGg8UkkiM81WxCu02Ug=; fh=oLBbkpKGrMjsAiDUocfN7mW0LEnMJsqDdFE8uCs7/vo=; b=swUIsycjLDKdTxvZ3zG9Hx1rSXL3//EDKxTqndVV1TNoQZkujAzY8kef2YWDvVOuFu 5XGBbZwJIPxUNp0KkbaMd/moy0mBhs+IasgLx/5fj+UucbYQc+O6Ykpk/80MiobCuHfq TgI8zNg4qNbcgcHSrfng8SDpoC4TVIJQxja1guRXi19Cz0KiyNEg8rNOR1ej1rTsCluG IsaPsL8nLgbMOLUsVXhUnAf0CkhsoEls4ptPhwC7eqAZPHM8o1AFnXnZkrkT/l5JYAvc yYOLoyzee7d/U+x6c/CvjCVGYbv6GUTDFgEGk/IocsTjh/G1eFMOyNVclDz0ywJSUfga 4c+Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=bhjJARon; 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=NONE sp=NONE dis=NONE) header.from=sourceware.org Received: from server2.sourceware.org (ip-8-43-85-97.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id i7-20020aa7dd07000000b005232bf1a705si4309413edv.487.2023.08.11.18.51.42 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 11 Aug 2023 18:51:42 -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=@sourceware.org header.s=default header.b=bhjJARon; 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=NONE sp=NONE dis=NONE) header.from=sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 3B6EC3858C66 for ; Sat, 12 Aug 2023 01:51:41 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3B6EC3858C66 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1691805101; bh=qqUuW6BCCmOmYx4D7P8VGif4kGg8UkkiM81WxCu02Ug=; h=To:Cc:Subject:Date:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:List-Subscribe:From:Reply-To:From; b=bhjJARonr3eeF2MhsKtHLg9LzDm2XTV1eBMiNiqcYRQspZIQS5LCzGdmDSwdvyDbb b7v5/PiQTOaVG0KPKLjFl60HK6dqaLELUw4p4FVigls6vzUV3RWtc6JxJ259O2Jf3h CBiA4r7iZhHyRIynTQNEEF3Gmco8MHzZ6OMI6gvg= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mail-sender-0.a4lg.com (mail-sender.a4lg.com [153.120.152.154]) by sourceware.org (Postfix) with ESMTPS id 832523858D1E for ; Sat, 12 Aug 2023 01:51:24 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 832523858D1E Received: from [127.0.0.1] (localhost [127.0.0.1]) by mail-sender-0.a4lg.com (Postfix) with ESMTPSA id 2C790300089; Sat, 12 Aug 2023 01:51:22 +0000 (UTC) To: Tsukasa OI , Palmer Dabbelt , Andrew Waterman , Jim Wilson , Nelson Chu , Kito Cheng Cc: binutils@sourceware.org Subject: [PATCH] RISC-V: Add "OP_P" to .insn named opcodes Date: Sat, 12 Aug 2023 01:51:02 +0000 Message-ID: <59e21b61a95f323f0771e528c23166f110e2e19d.1691805058.git.research_trasio@irq.a4lg.com> Mime-Version: 1.0 X-Spam-Status: No, score=-12.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, GIT_PATCH_0, KAM_MANYTO, SPF_HELO_NONE, 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.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Tsukasa OI via Binutils From: Tsukasa OI Reply-To: Tsukasa OI Errors-To: binutils-bounces+ouuuleilei=gmail.com@sourceware.org Sender: "Binutils" X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1773986226857662225 X-GMAIL-MSGID: 1773986226857662225 From: Tsukasa OI This commit adds "OP_P" (OP-P: packed SIMD instruction opcode intended for the 'P' extension but its use is first approved for the vector cryptography specification) to .insn opcode name list. Although vector / packed SIMD instruction encodings are not implemented in `.insn' directive, it will help future implementation of custom vector / packed SIMD `.insn'. gas/ChangeLog: * config/tc-riscv.c (opcode_name_list): Add "OP_P". * testsuite/gas/riscv/insn.s: Add "OP_P" vector crypto testcase. * testsuite/gas/riscv/insn.d: Likewise. * testsuite/gas/riscv/insn-na.d: Likewise. * testsuite/gas/riscv/insn-dwarf.d: Reflect insn.s update. --- gas/config/tc-riscv.c | 2 +- gas/testsuite/gas/riscv/insn-dwarf.d | 43 ++++++++++++++-------------- gas/testsuite/gas/riscv/insn-na.d | 3 +- gas/testsuite/gas/riscv/insn.d | 3 +- gas/testsuite/gas/riscv/insn.s | 1 + 5 files changed, 28 insertions(+), 24 deletions(-) base-commit: 6a6859cbff7ac3fcf81689c47d19e716e9bbac2a diff --git a/gas/config/tc-riscv.c b/gas/config/tc-riscv.c index aaf8b9be64fd..64eba22ddf29 100644 --- a/gas/config/tc-riscv.c +++ b/gas/config/tc-riscv.c @@ -867,7 +867,7 @@ static const struct opcode_name_t opcode_name_list[] = /*reserved 0x5b. */ {"JAL", 0x6f}, {"SYSTEM", 0x73}, - /*reserved 0x77. */ + {"OP_P", 0x77}, {"CUSTOM_3", 0x7b}, /* >80b 0x7f. */ diff --git a/gas/testsuite/gas/riscv/insn-dwarf.d b/gas/testsuite/gas/riscv/insn-dwarf.d index b8bd42dff18c..53fb85eb4625 100644 --- a/gas/testsuite/gas/riscv/insn-dwarf.d +++ b/gas/testsuite/gas/riscv/insn-dwarf.d @@ -60,27 +60,28 @@ insn.s +53 +0x9a.* insn.s +54 +0x9e.* insn.s +55 +0xa2.* insn.s +57 +0xa6.* -insn.s +59 +0xaa.* -insn.s +60 +0xac.* +insn.s +58 +0xaa.* +insn.s +60 +0xae.* insn.s +61 +0xb0.* -insn.s +62 +0xb6.* -insn.s +63 +0xbe.* -insn.s +64 +0xc8.* -insn.s +65 +0xd4.* -insn.s +66 +0xea.* -insn.s +67 +0xec.* +insn.s +62 +0xb4.* +insn.s +63 +0xba.* +insn.s +64 +0xc2.* +insn.s +65 +0xcc.* +insn.s +66 +0xd8.* +insn.s +67 +0xee.* insn.s +68 +0xf0.* -insn.s +69 +0xf6.* -insn.s +70 +0xfe.* -insn.s +71 +0x108.* -insn.s +72 +0x114.* -insn.s +74 +0x12a.* -insn.s +75 +0x134.* -insn.s +76 +0x13e.* -insn.s +77 +0x154.* -insn.s +78 +0x16a.* -insn.s +79 +0x180.* -insn.s +80 +0x196.* -insn.s +81 +0x1ac.* -insn.s +- +0x1c2 +insn.s +69 +0xf4.* +insn.s +70 +0xfa.* +insn.s +71 +0x102.* +insn.s +72 +0x10c.* +insn.s +73 +0x118.* +insn.s +75 +0x12e.* +insn.s +76 +0x138.* +insn.s +77 +0x142.* +insn.s +78 +0x158.* +insn.s +79 +0x16e.* +insn.s +80 +0x184.* +insn.s +81 +0x19a.* +insn.s +82 +0x1b0.* +insn.s +- +0x1c6 #pass diff --git a/gas/testsuite/gas/riscv/insn-na.d b/gas/testsuite/gas/riscv/insn-na.d index 55bf301656b2..d43f07906fe4 100644 --- a/gas/testsuite/gas/riscv/insn-na.d +++ b/gas/testsuite/gas/riscv/insn-na.d @@ -1,4 +1,4 @@ -#as: -march=rv32ifcv +#as: -march=rv32ifcv_zvkned #source: insn.s #objdump: -dw -Mno-aliases @@ -59,6 +59,7 @@ Disassembly of section .text: [^:]+:[ ]+00c58533[ ]+add[ ]+a0,a1,a2 [^:]+:[ ]+00c58533[ ]+add[ ]+a0,a1,a2 [^:]+:[ ]+022180d7[ ]+vadd\.vv[ ]+v1,v2,v3 +[^:]+:[ ]+a2402177[ ]+vaesdm\.vv[ ]+v2,v4 [^:]+:[ ]+0001[ ]+c\.addi[ ]+zero,0 [^:]+:[ ]+00000013[ ]+addi[ ]+zero,zero,0 [^:]+:[ ]+001f 0000 0000[ ].* diff --git a/gas/testsuite/gas/riscv/insn.d b/gas/testsuite/gas/riscv/insn.d index 89e076d126d0..fc3d0437c1d0 100644 --- a/gas/testsuite/gas/riscv/insn.d +++ b/gas/testsuite/gas/riscv/insn.d @@ -1,4 +1,4 @@ -#as: -march=rv32ifcv +#as: -march=rv32ifcv_zvkned #objdump: -dr .*:[ ]+file format .* @@ -70,6 +70,7 @@ Disassembly of section .text: [^:]+:[ ]+00c58533[ ]+add[ ]+a0,a1,a2 [^:]+:[ ]+00c58533[ ]+add[ ]+a0,a1,a2 [^:]+:[ ]+022180d7[ ]+vadd\.vv[ ]+v1,v2,v3 +[^:]+:[ ]+a2402177[ ]+vaesdm\.vv[ ]+v2,v4 [^:]+:[ ]+0001[ ]+nop [^:]+:[ ]+00000013[ ]+nop [^:]+:[ ]+001f 0000 0000[ ].* diff --git a/gas/testsuite/gas/riscv/insn.s b/gas/testsuite/gas/riscv/insn.s index 48db59b14e88..915b7ecc9634 100644 --- a/gas/testsuite/gas/riscv/insn.s +++ b/gas/testsuite/gas/riscv/insn.s @@ -55,6 +55,7 @@ target: .insn r 0x33, 0, 0, fa0, fa1, fa2 .insn r OP_V, 0, 1, x1, x3, x2 + .insn r OP_P, 2, 0x51, x2, x0, x4 .insn 0x0001 .insn 0x00000013