From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-sender-0.a4lg.com (mail-sender.a4lg.com [153.120.152.154]) by sourceware.org (Postfix) with ESMTPS id 3E97D384D180 for ; Wed, 7 Sep 2022 06:22:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 3E97D384D180 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=irq.a4lg.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=irq.a4lg.com Received: from [127.0.0.1] (localhost [127.0.0.1]) by mail-sender-0.a4lg.com (Postfix) with ESMTPSA id 9179A300089; Wed, 7 Sep 2022 06:22:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=irq.a4lg.com; s=2017s01; t=1662531733; bh=dDz+QHktFGRs47mS2LDcOVfFb/vq6d8K49cptws0rzU=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Mime-Version:Content-Transfer-Encoding; b=IX/q3HL/ujTjwEEXKNY6aRta4PY7ITiJSy7KFwGRLCyGyUF7vLvt7qA2oyI+7zRsi QOew9q7wOS+RaqZqPUMLaFQZjgHddeXi98dnVwLhWCv4LZKBbOHRqt4BqTg0S4RX8+ Ftadds3DeNQ0Zj3pYwFTyjXko9ehzvpFiQtUaBOU= From: Tsukasa OI To: Tsukasa OI , Nelson Chu , Kito Cheng , Palmer Dabbelt Cc: binutils@sourceware.org Subject: [PATCH v2 2/3] RISC-V: Imply 'Zicsr' from 'Zkr' Date: Wed, 7 Sep 2022 06:21:50 +0000 Message-Id: <2877d646835f73c9cfb59fa6777f6b9d048499be.1662531706.git.research_trasio@irq.a4lg.com> In-Reply-To: References: Mime-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-12.3 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,GIT_PATCH_0,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Because the 'Zkr' extension implements a CSR, seed, it requires 'Zicsr' as a prerequisite. On such cases, it's natural to imply required extension. This commit adds Zkr -> Zicsr to the extension implication list. bfd/ChangeLog: * elfxx-riscv.c (riscv_implicit_subsets): Imply 'Zicsr' from 'Zkr'. gas/ChangeLog: * testsuite/gas/riscv/zkr.s: Separate test for the 'Zkr' extension. * testsuite/gas/riscv/zkr.d: Likewise. --- bfd/elfxx-riscv.c | 1 + gas/testsuite/gas/riscv/zkr.d | 10 ++++++++++ gas/testsuite/gas/riscv/zkr.s | 2 ++ 3 files changed, 13 insertions(+) create mode 100644 gas/testsuite/gas/riscv/zkr.d create mode 100644 gas/testsuite/gas/riscv/zkr.s diff --git a/bfd/elfxx-riscv.c b/bfd/elfxx-riscv.c index fb742dc9272..2e91963bbfb 100644 --- a/bfd/elfxx-riscv.c +++ b/bfd/elfxx-riscv.c @@ -1092,6 +1092,7 @@ static struct riscv_implicit_subset riscv_implicit_subsets[] = {"zkn", "zkne", check_implicit_always}, {"zkn", "zknd", check_implicit_always}, {"zkn", "zknh", check_implicit_always}, + {"zkr", "zicsr", check_implicit_always}, {"zks", "zbkb", check_implicit_always}, {"zks", "zbkc", check_implicit_always}, {"zks", "zbkx", check_implicit_always}, diff --git a/gas/testsuite/gas/riscv/zkr.d b/gas/testsuite/gas/riscv/zkr.d new file mode 100644 index 00000000000..4c0471835a1 --- /dev/null +++ b/gas/testsuite/gas/riscv/zkr.d @@ -0,0 +1,10 @@ +#as: -march=rv32i_zkr -mcsr-check +#objdump: -d + +.*:[ ]+file format .* + + +Disassembly of section .text: + +0+000 : +[ ]+[0-9a-f]+:[ ]+01502573[ ]+csrr[ ]+a0,seed diff --git a/gas/testsuite/gas/riscv/zkr.s b/gas/testsuite/gas/riscv/zkr.s new file mode 100644 index 00000000000..96a38fbf49f --- /dev/null +++ b/gas/testsuite/gas/riscv/zkr.s @@ -0,0 +1,2 @@ +target: + csrr a0, seed -- 2.34.1