summaryrefslogtreecommitdiff
path: root/src/arch/sparc/isa/formats/branch.isa
diff options
context:
space:
mode:
authorKorey Sewell <ksewell@umich.edu>2011-06-10 03:49:23 -0400
committerKorey Sewell <ksewell@umich.edu>2011-06-10 03:49:23 -0400
commita3862d4c593bfe2d8660035d8fe4f1f2985addac (patch)
treeecd3dc2bd084d371cb3665013650a45f5a9c9903 /src/arch/sparc/isa/formats/branch.isa
parent9331b5d26ab8ff9d0c9e01406bd3c2fc05969a50 (diff)
parent1a451cd2c5ec20c27c39a1cd3e3b5422c2b4f679 (diff)
downloadgem5-a3862d4c593bfe2d8660035d8fe4f1f2985addac.tar.xz
sparc: merge regr. updates w/last update
Diffstat (limited to 'src/arch/sparc/isa/formats/branch.isa')
-rw-r--r--src/arch/sparc/isa/formats/branch.isa5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/arch/sparc/isa/formats/branch.isa b/src/arch/sparc/isa/formats/branch.isa
index bf2d9a748..014c0d486 100644
--- a/src/arch/sparc/isa/formats/branch.isa
+++ b/src/arch/sparc/isa/formats/branch.isa
@@ -262,6 +262,9 @@ def format Branch(code, *opt_flags) {{
let {{
def doBranch(name, Name, base, cond,
code, annul_code, fail, annul_fail, opt_flags):
+ if "IsIndirectControl" not in opt_flags:
+ opt_flags += ('IsDirectControl', )
+
iop = InstObjParams(name, Name, base,
{"code": code,
"fail": fail,
@@ -289,12 +292,14 @@ let {{
return (header_output, decoder_output, exec_output, decode_block)
def doCondBranch(name, Name, base, cond, code, opt_flags):
+ opt_flags += ('IsCondControl', )
return doBranch(name, Name, base, cond, code, code,
'NNPC = NNPC; NPC = NPC;\n',
'NNPC = NPC + 8; NPC = NPC + 4;\n',
opt_flags)
def doUncondBranch(name, Name, base, code, annul_code, opt_flags):
+ opt_flags += ('IsUncondControl', )
return doBranch(name, Name, base, "true", code, annul_code,
";", ";", opt_flags)