summaryrefslogtreecommitdiff
path: root/src/arch/sparc/isa/formats/branch.isa
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/sparc/isa/formats/branch.isa')
-rw-r--r--src/arch/sparc/isa/formats/branch.isa10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/arch/sparc/isa/formats/branch.isa b/src/arch/sparc/isa/formats/branch.isa
index 8a3f05173..2c206354b 100644
--- a/src/arch/sparc/isa/formats/branch.isa
+++ b/src/arch/sparc/isa/formats/branch.isa
@@ -224,7 +224,6 @@ let {{
// Primary format for branch instructions:
def format Branch(code, *opt_flags) {{
- code = re.sub(r'handle_annul', handle_annul, code)
(usesImm, code, immCode,
rString, iString) = splitOutImm(code)
iop = InstObjParams(name, Name, 'Branch', code, opt_flags)
@@ -246,7 +245,14 @@ def format Branch(code, *opt_flags) {{
def format BranchN(bits, code, *opt_flags) {{
code = re.sub(r'handle_annul', handle_annul, code)
codeBlk = CodeBlock(code)
- iop = InstObjParams(name, Name, "BranchNBits<%d>" % bits, codeBlk, opt_flags)
+ new_opt_flags = []
+ for flag in opt_flags:
+ if flag == ',a':
+ name += ',a'
+ Name += 'Annul'
+ else:
+ new_opt_flags += flag
+ iop = InstObjParams(name, Name, "BranchNBits<%d>" % bits, codeBlk, new_opt_flags)
header_output = BasicDeclare.subst(iop)
decoder_output = BasicConstructor.subst(iop)
exec_output = BranchExecute.subst(iop)