From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pf1-x42d.google.com (mail-pf1-x42d.google.com [IPv6:2607:f8b0:4864:20::42d]) by sourceware.org (Postfix) with ESMTPS id 98DFE3858C74 for ; Fri, 26 Jan 2024 08:33:12 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 98DFE3858C74 Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=sifive.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=sifive.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 98DFE3858C74 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::42d ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1706258000; cv=none; b=VV+zNIJblHj7yowvhRdlug6O+JkzK/rxAAsEH8BCaJderjEWiZ0sSBLw7wy9wZHVIfqdQVNz3Vz+gBtvb4CP6uww5bd0G712nKsTD75h/d6X5yXV/YDPPLaPy+aTgaZTDFJyWHMhNtSk/5MDIwOG9xNHmteUnuZkCbv6BtJvBZ8= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1706258000; c=relaxed/simple; bh=k0wuNBhDZ36Jcuwzp+ItWggu4OjEGUn2TfA8+2fKt2g=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=H6cDlfxgjKM9bUX0ytxNfrHtdN7Kb6EWLnnLTdGZA6hcr60CRFeEQog1W+Z3c+L3xSdca3RFIPznhmEBvfhi2jqQ7040s5unIfad8bWqeWV+Y+l3K9jGYKP9TtEizyx1HBGEI4LZbqIqgpn8rq5km3RyARjuvaWbLMazP9U78W4= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pf1-x42d.google.com with SMTP id d2e1a72fcca58-6ddc162d8d5so190086b3a.1 for ; Fri, 26 Jan 2024 00:33:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1706257991; x=1706862791; darn=sourceware.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=GGghPbw3KYzWTbr6X0woFaqq1tfzGeImtqz0NGpaUyA=; b=OeJEXzctagv4+n97/xTXXetCHhmkiNQuKiOaedR5lSq6AAbadDqu7F1aVkpJ0IPgQd FgILTUNRp7c0IDTWuBBwkIziFQ0zb3X5s2cznMFxgVJTLFpot0YzJwc+pwfXP3bSg3Sm SXwcr6n1bwg8/OyT/8XhOhPgjUZ5H/ACrkjGwC25mzCqsOxJ9t0XY4nCcSp6PDHi0ed8 S4IzHNxeSbKZPkI8xgsvY8atz7sUrNLXWwAW3fO0B6zjPbNeopyrfjVfxpgkwuyCH1YD OV8wtJpmQhNyQn42hZBij2jlMrkwseO3yv6VELbPknf5qQM58iJZmrC5xlMmZMpQ9Jcl 0EbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706257991; x=1706862791; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=GGghPbw3KYzWTbr6X0woFaqq1tfzGeImtqz0NGpaUyA=; b=AjZQEEnLPF3Ih4U1OVzmga9L5QTzHi1F4LN1f654bh6UAmw4q2trd6xU2/Q5xDTGTp NK0R6bp1KT7k+shJ6TOktBlywAsRRs0OIQ03suO7lMbD2y/ql6oeA9m4e6oRWuV0k12V RdU40XAZ0htKC8R8keMDFWX6FJAaM6QVhRhEo0xTTYd0x6K761ol0UP4LVdWpCC6b3sv F82qBWajR4tkGfs9KdQ4c0RJKKdZraqqatGtRGeK60sEc3aMaZm/UkwB9FNcokPgLCAi FG7gO3iO9JFe/QlIQMNRN3ClfpZOYNALfhQkFWjXiRtoTclhsM3Qr62SKLou58BexGto mnlQ== X-Gm-Message-State: AOJu0Ywgqu0KwbPj7kjOO4qpa+6P7mjuUta/7AMUmTuwa/1v8tSEPAgP MOgVx+bIhLk6JrpWI2/Nla2Rxd0fJ7zKWq/5bpwMh6RKRkKsNahvlX7crZQPWiLaZjM0vETp91s d3F3E1AnzdmYmm+QBHeAu7SE/0iByPoQ/ERR9wg== X-Google-Smtp-Source: AGHT+IH7wP9/fgV4twgTKLB8VKo84HUDO8nWtp/72DjdlbiwpJNr7J4sZGOgTWhU8VcUJaqkxvH8jxV133VP/GPvqjE= X-Received: by 2002:a62:5e46:0:b0:6dc:7794:62c with SMTP id s67-20020a625e46000000b006dc7794062cmr599505pfb.13.1706257991593; Fri, 26 Jan 2024 00:33:11 -0800 (PST) MIME-Version: 1.0 References: <20240124093725.567220-1-jiawei@iscas.ac.cn> In-Reply-To: <20240124093725.567220-1-jiawei@iscas.ac.cn> From: Kito Cheng Date: Fri, 26 Jan 2024 16:33:00 +0800 Message-ID: Subject: Re: [PATCH v4 1/2] RISC-V: Support Zcmp push/pop instructions. To: Jiawei Cc: binutils@sourceware.org, nelson@rivosinc.com, palmer@dabbelt.com, jbeulich@suse.com, research_trasio@irq.a4lg.com, christoph.muellner@vrull.eu, jeremy.bennett@embecosm.com, nandni.jamnadas@embecosm.com, mary.bennett@embecosm.com, charlie.keaney@embecosm.com, simon.cook@embecosm.com, sinan.lin@linux.alibaba.com, gaofei@eswincomputing.com, fujin.zhao@foxmail.com, wuwei2016@iscas.ac.cn, shihua@iscas.ac.cn, shiyulong@iscas.ac.cn, chenyixuan@iscas.ac.cn Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE,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: > +/* If set, disassemble numeric register names instead of ABI names. */ > +static int numeric = false; > > /* Set default RISC-V disassembler options. */ > > @@ -84,6 +86,7 @@ set_default_riscv_dis_options (void) > riscv_gpr_names = riscv_gpr_names_abi; > riscv_fpr_names = riscv_fpr_names_abi; > no_aliases = false; > + numeric = false; > } > > /* Parse RISC-V disassembler option (without arguments). */ > @@ -97,6 +100,7 @@ parse_riscv_dis_option_without_args (const char *option) > { > riscv_gpr_names = riscv_gpr_names_numeric; > riscv_fpr_names = riscv_fpr_names_numeric; > + numeric = true; > } > else > return false; > @@ -215,6 +219,50 @@ maybe_print_address (struct riscv_private_data *pd, int base_reg, int offset, > pd->print_addr = (bfd_vma)(uint32_t)pd->print_addr; > } > > +/* Get Zcmp reg_list field. */ > + > +static void > +print_reg_list (disassemble_info *info, insn_t l) > +{ bool numeric = riscv_gpr_names == riscv_gpr_names_numeric; then you can drop numeric from global variables. > + unsigned reg_list = (int)EXTRACT_OPERAND (REG_LIST, l); > + unsigned r_start = numeric ? X_S2 : X_S0; > + info->fprintf_func (info->stream, "%s", riscv_gpr_names[X_RA]); > + > + if (reg_list == 5) > + info->fprintf_func (info->stream, ",%s", riscv_gpr_names[X_S0]); > + else if (reg_list == 6 || (numeric && reg_list > 6)) > + info->fprintf_func (info->stream, ",%s-%s", > + riscv_gpr_names[X_S0], > + riscv_gpr_names[X_S1]); > +