diff options
Diffstat (limited to 'sim/igen/gen-semantics.c')
-rw-r--r-- | sim/igen/gen-semantics.c | 9 |
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"); |