From c13a4caaf890f01ccb6fb7761ff87ff21ad4be4e Mon Sep 17 00:00:00 2001 From: Michael Snyder Date: Wed, 23 Jul 2003 21:28:06 +0000 Subject: [PATCH] 2003-07-09 Michael Snyder * gencode.c (ppi_gensim): For a conditional ppi insn, if the condition is false, we want to return (not break). A break will take us to the end of the function where registers will be updated, whereas the desired outcome is for nothing to change. --- sim/sh/ChangeLog | 7 +++++++ sim/sh/gencode.c | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/sim/sh/ChangeLog b/sim/sh/ChangeLog index 8a5e9e3f0c..50a0e506e1 100644 --- a/sim/sh/ChangeLog +++ b/sim/sh/ChangeLog @@ -1,3 +1,10 @@ +2003-07-09 Michael Snyder + + * gencode.c (ppi_gensim): For a conditional ppi insn, if the + condition is false, we want to return (not break). A break + will take us to the end of the function where registers will + be updated, whereas the desired outcome is for nothing to change. + 2003-07-03 Michael Snyder * gencode.c (movs): Fix a couple of text transpositions. diff --git a/sim/sh/gencode.c b/sim/sh/gencode.c index e7b6b4dc54..f0af175c4e 100644 --- a/sim/sh/gencode.c +++ b/sim/sh/gencode.c @@ -2469,7 +2469,7 @@ ppi_gensim () break; case 'c': printf (" if ((((iword >> 8) ^ DSR) & 1) == 0)\n"); - printf ("\tbreak;\n"); + printf ("\treturn;\n"); printf (" }\n"); printf (" case %d: \n", p->index + 1); printf (" {\n");