From 3e5070a3f121d84846de16718575567725129db9 Mon Sep 17 00:00:00 2001 From: Steve Reinhardt Date: Tue, 3 Feb 2004 07:19:05 -0800 Subject: Fix bug: forgot branchTarget() method on indirect branches. arch/alpha/isa_desc: Add missing branchTarget() method for indirect branches. cpu/static_inst.hh: Add comment clarifying when branchTarget() can be used on indirect branches. --HG-- extra : convert_revision : 0dcfb36a9792a338cefceb3d1501825abace7ac5 --- arch/alpha/isa_desc | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'arch/alpha') diff --git a/arch/alpha/isa_desc b/arch/alpha/isa_desc index 3533da09f..51bce65c2 100644 --- a/arch/alpha/isa_desc +++ b/arch/alpha/isa_desc @@ -1287,6 +1287,13 @@ declare {{ { } + Addr branchTarget(ExecContext *xc) + { + Addr NPC = xc->readPC() + 4; + uint64_t Rb = xc->readIntReg(_srcRegIdx[0]); + return (Rb & ~3) | (NPC & 1); + } + std::string generateDisassembly(Addr pc, const SymbolTable *symtab) { std::stringstream ss; -- cgit v1.2.3