From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id gPU7Og4ie2CaOgAAWB0awg (envelope-from ) for ; Sat, 17 Apr 2021 13:59:42 -0400 Received: by simark.ca (Postfix, from userid 112) id ECF331F104; Sat, 17 Apr 2021 13:59:42 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-0.7 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,MAILING_LIST_MULTI,RDNS_DYNAMIC,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.2 Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id A0DB21EE0E for ; Sat, 17 Apr 2021 13:59:40 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 947E8394FC05; Sat, 17 Apr 2021 17:59:39 +0000 (GMT) Received: from mail-pl1-x630.google.com (mail-pl1-x630.google.com [IPv6:2607:f8b0:4864:20::630]) by sourceware.org (Postfix) with ESMTPS id D73FD3896819 for ; Sat, 17 Apr 2021 17:59:23 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org D73FD3896819 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=jimw@sifive.com Received: by mail-pl1-x630.google.com with SMTP id n10so4467553plc.0 for ; Sat, 17 Apr 2021 10:59:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=JizuZg8ehzzFyo4bzcvi4HA189mQZ0HXYRdqGEXvDWo=; b=IX9y83SVIK4+oyImwJvZnxa3QH24rRmEB2tP2mkNnv9GHUgzCmUQc3pJDOE0dEWepd W4j90SDHr4iMrvytMbsa/SDI4i7/SLlBxipwUi85FpCY6znaCWIHkz5QH8/unbrSWWiF urs8Ls2WzwJHbGYxJUReXDUnGM2AA7k73caV61JPNVm0PwFhnmaF+X0W7/hPiz8jj5IE bWpxxkoSS05/JuoxTLn+vpIMosg9SuUrZbeDbupkzmUZdjA3T+1Mo+Y627qDXXBPXWr3 wpVnNsUkTz2/sLl1B9ZXhxXsrWvhFcFPMEsyssDfKJiz6o8Sdl3X1oPi0VxFpqisstvV 2BkQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=JizuZg8ehzzFyo4bzcvi4HA189mQZ0HXYRdqGEXvDWo=; b=r5RND2iH07ubxmpIS1VEEiyNgKHohrQtC2jltgfENIrUbbGTl7Jhk1ctpejxEVfbSe 7Qdrm31OfcnPIK6LhDuoGFXRrQbtIZZAv12xbcKJm36+5sD4U4ADv3VjE9r+aIXpnMLK AAgYymDGjOBsLZ26BIOZR605xOe8Fk6ZeGmGe6Si4+xhxPdpJfb8VVsT8RtmFfVtgtN/ GiyRJe8CwHdU7bzZEdjYGcTVtg7IizQz693h2GaG52pjuDcFMN/Cdv5vL+6svLDWKkOM FdTSaHsH7RUN6rkRu5Ec3baISaXDeUOOn8rJmZcgqWhxBjvZ7GcAjnT5GppUSncboHMY GFoQ== X-Gm-Message-State: AOAM533htOwU8QMxZIqWuCGe2H5Srvr0g8P+zhv/k/3UI5zyXxybLT8g B33tc3V4Hy6sEbCet/0m0ZJbqxohN4ySrg== X-Google-Smtp-Source: ABdhPJzVfpMNiltgMDUT+bcqzmqUdEdXiMwqtx8HNtw4/OYdf2HRL8gHwd0MUHedFF+eFsiZJRvBtA== X-Received: by 2002:a17:902:db03:b029:ec:94dd:b6b3 with SMTP id m3-20020a170902db03b02900ec94ddb6b3mr2078049plx.69.1618682362700; Sat, 17 Apr 2021 10:59:22 -0700 (PDT) Received: from rohan.hsd1.ca.comcast.net ([2601:646:c180:b150:1820:3ed4:975:3fbe]) by smtp.gmail.com with ESMTPSA id u4sm5030705pfk.56.2021.04.17.10.59.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 17 Apr 2021 10:59:22 -0700 (PDT) From: Jim Wilson To: gdb-patches@sourceware.org Subject: [PATCH 18/24] RISC-V sim: Improve branch tracing. Date: Sat, 17 Apr 2021 10:58:25 -0700 Message-Id: <20210417175831.16413-19-jimw@sifive.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210417175831.16413-1-jimw@sifive.com> References: <20210417175831.16413-1-jimw@sifive.com> X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Kito Cheng Errors-To: gdb-patches-bounces@sourceware.org Sender: "Gdb-patches" From: Kito Cheng Print target address not offset to target. sim/riscv/ * sim-main.c (execute_i): In cases MATCH_BEQ, MATCH_BLT, MATCH_BLTU, MATCH_BGE, and MATCH_BNE, print target address instead of offset. --- sim/riscv/sim-main.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/sim/riscv/sim-main.c b/sim/riscv/sim-main.c index 70af81f..13adfa9 100644 --- a/sim/riscv/sim-main.c +++ b/sim/riscv/sim-main.c @@ -1486,7 +1486,8 @@ execute_i (SIM_CPU *cpu, unsigned_word iw, const struct riscv_opcode *op) case MATCH_BEQ: TRACE_INSN (cpu, "beq %s, %s, %#" PRIxTW "; " "// if (%s == %s) goto %#" PRIxTW, - rs1_name, rs2_name, sb_imm, rs1_name, rs2_name, sb_imm); + rs1_name, rs2_name, sb_imm, rs1_name, rs2_name, + cpu->pc + sb_imm); if (cpu->regs[rs1] == cpu->regs[rs2]) { pc = cpu->pc + sb_imm; @@ -1496,7 +1497,8 @@ execute_i (SIM_CPU *cpu, unsigned_word iw, const struct riscv_opcode *op) case MATCH_BLT: TRACE_INSN (cpu, "blt %s, %s, %#" PRIxTW "; " "// if (%s < %s) goto %#" PRIxTW, - rs1_name, rs2_name, sb_imm, rs1_name, rs2_name, sb_imm); + rs1_name, rs2_name, sb_imm, rs1_name, rs2_name, + cpu->pc + sb_imm); if ((signed_word) cpu->regs[rs1] < (signed_word) cpu->regs[rs2]) { pc = cpu->pc + sb_imm; @@ -1506,7 +1508,8 @@ execute_i (SIM_CPU *cpu, unsigned_word iw, const struct riscv_opcode *op) case MATCH_BLTU: TRACE_INSN (cpu, "bltu %s, %s, %#" PRIxTW "; " "// if (%s < %s) goto %#" PRIxTW, - rs1_name, rs2_name, sb_imm, rs1_name, rs2_name, sb_imm); + rs1_name, rs2_name, sb_imm, rs1_name, rs2_name, + cpu->pc + sb_imm); if ((unsigned_word) cpu->regs[rs1] < (unsigned_word) cpu->regs[rs2]) { pc = cpu->pc + sb_imm; @@ -1516,7 +1519,8 @@ execute_i (SIM_CPU *cpu, unsigned_word iw, const struct riscv_opcode *op) case MATCH_BGE: TRACE_INSN (cpu, "bge %s, %s, %#" PRIxTW "; " "// if (%s >= %s) goto %#" PRIxTW, - rs1_name, rs2_name, sb_imm, rs1_name, rs2_name, sb_imm); + rs1_name, rs2_name, sb_imm, rs1_name, rs2_name, + cpu->pc + sb_imm); if ((signed_word) cpu->regs[rs1] >= (signed_word) cpu->regs[rs2]) { pc = cpu->pc + sb_imm; @@ -1526,7 +1530,8 @@ execute_i (SIM_CPU *cpu, unsigned_word iw, const struct riscv_opcode *op) case MATCH_BGEU: TRACE_INSN (cpu, "bgeu %s, %s, %#" PRIxTW "; " "// if (%s >= %s) goto %#" PRIxTW, - rs1_name, rs2_name, sb_imm, rs1_name, rs2_name, sb_imm); + rs1_name, rs2_name, sb_imm, rs1_name, rs2_name, + cpu->pc + sb_imm); if ((unsigned_word) cpu->regs[rs1] >= (unsigned_word) cpu->regs[rs2]) { pc = cpu->pc + sb_imm; @@ -1536,7 +1541,8 @@ execute_i (SIM_CPU *cpu, unsigned_word iw, const struct riscv_opcode *op) case MATCH_BNE: TRACE_INSN (cpu, "bne %s, %s, %#" PRIxTW "; " "// if (%s != %s) goto %#" PRIxTW, - rs1_name, rs2_name, sb_imm, rs1_name, rs2_name, sb_imm); + rs1_name, rs2_name, sb_imm, rs1_name, rs2_name, + cpu->pc + sb_imm); if (cpu->regs[rs1] != cpu->regs[rs2]) { pc = cpu->pc + sb_imm; -- 2.7.4