From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-sender-0.a4lg.com (mail-sender-0.a4lg.com [IPv6:2401:2500:203:30b:4000:6bfe:4757:0]) by sourceware.org (Postfix) with ESMTPS id B68D23850841 for ; Wed, 7 Sep 2022 06:22:25 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org B68D23850841 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 16BCC300089; Wed, 7 Sep 2022 06:22:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=irq.a4lg.com; s=2017s01; t=1662531744; bh=95Ba2mKDVgAN63GqU/z2rYpZVddrmnNgnbi5yBVvKhg=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Mime-Version:Content-Transfer-Encoding; b=TXU4dK5RBHn6VfM539ti1nJer9rNpERzJktpflXPJ8tHQPBRKnc7qFxXt33xsaDcs zq1x0+4cSKbHacPCjC+nZyTC3fjgetLqtfpN/aooYdzUmVvxJesQt35fqgmQHMnzE9 3qa6mX65n/NoUDe1I4S6vYGA/SGxyHp+6qHPYHdo= From: Tsukasa OI To: Tsukasa OI , Nelson Chu , Kito Cheng , Palmer Dabbelt Cc: binutils@sourceware.org Subject: [PATCH v2 3/3] RISC-V: Imply 'Zicsr' from some privileged extensions Date: Wed, 7 Sep 2022 06:21:51 +0000 Message-Id: <1271255923312809cb537f3711a024ee7f7e8be4.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.4 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: As 'H', 'Smstateen', 'Sscofpmf' and 'Sstc' define their own CSRs, they implicitly require 'Zicsr' in the process. This commit adds such implicications. gas/ChangeLog: * testsuite/gas/riscv/march-imply-h.d: New test, at least for 'H'. bfd/ChangeLog: * elfxx-riscv.c (riscv_implicit_subsets): Add 'Zicsr' implicications for privileged extensions 'H', 'Smstateen', 'Sscofpmf' and 'Sstc'. --- bfd/elfxx-riscv.c | 4 ++++ gas/testsuite/gas/riscv/march-imply-h.d | 6 ++++++ 2 files changed, 10 insertions(+) create mode 100644 gas/testsuite/gas/riscv/march-imply-h.d diff --git a/bfd/elfxx-riscv.c b/bfd/elfxx-riscv.c index 2e91963bbfb..73848f725e6 100644 --- a/bfd/elfxx-riscv.c +++ b/bfd/elfxx-riscv.c @@ -1047,6 +1047,7 @@ static struct riscv_implicit_subset riscv_implicit_subsets[] = {"g", "d", check_implicit_always}, {"g", "zicsr", check_implicit_always}, {"g", "zifencei", check_implicit_always}, + {"h", "zicsr", check_implicit_always}, {"q", "d", check_implicit_always}, {"v", "d", check_implicit_always}, {"v", "zve64d", check_implicit_always}, @@ -1098,6 +1099,9 @@ static struct riscv_implicit_subset riscv_implicit_subsets[] = {"zks", "zbkx", check_implicit_always}, {"zks", "zksed", check_implicit_always}, {"zks", "zksh", check_implicit_always}, + {"smstateen", "zicsr", check_implicit_always}, + {"sscofpmf", "zicsr", check_implicit_always}, + {"sstc", "zicsr", check_implicit_always}, {NULL, NULL, NULL} }; diff --git a/gas/testsuite/gas/riscv/march-imply-h.d b/gas/testsuite/gas/riscv/march-imply-h.d new file mode 100644 index 00000000000..04ad9f6c0a5 --- /dev/null +++ b/gas/testsuite/gas/riscv/march-imply-h.d @@ -0,0 +1,6 @@ +#as: -march=rv32ih -march-attr -misa-spec=20191213 -mpriv-spec=1.12 +#readelf: -A +#source: empty.s +Attribute Section: riscv +File Attributes + Tag_RISCV_arch: "rv32i2p1_h1p0_zicsr2p0" -- 2.34.1