aboutsummaryrefslogtreecommitdiff
path: root/sim/igen/gen-semantics.c
diff options
context:
space:
mode:
Diffstat (limited to 'sim/igen/gen-semantics.c')
-rw-r--r--sim/igen/gen-semantics.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/sim/igen/gen-semantics.c b/sim/igen/gen-semantics.c
index 0ffcf78..35b247f 100644
--- a/sim/igen/gen-semantics.c
+++ b/sim/igen/gen-semantics.c
@@ -173,6 +173,15 @@ print_semantic_body(lf *file,
/* FIXME - need to log a conditional failure */
}
+ /* Architecture expects r0 to be zero. Instead of having to check
+ every read to see if it is refering to r0 just zap the r0
+ register */
+ if ((code & generate_with_semantic_delayed_branch))
+ {
+ lf_printf (file, "\n");
+ lf_printf (file, "GPR(0) = 0;\n");
+ }
+
/* generate the code (or at least something */
lf_printf(file, "\n");
lf_printf(file, "/* semantics: */\n");