diff options
author | edgar_igl <edgar_igl@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-06-06 11:17:17 +0000 |
---|---|---|
committer | edgar_igl <edgar_igl@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-06-06 11:17:17 +0000 |
commit | bf443337130809afc7887dd59e0a29fe605155eb (patch) | |
tree | 1786ca3300d91cfa47e2948fba8d3f985feca4d8 /target-cris/op_helper.c | |
parent | 313281198dc87984fde5cc3aceccbb002beed047 (diff) |
Correct P flag assertion in rfe.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4683 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-cris/op_helper.c')
-rw-r--r-- | target-cris/op_helper.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/target-cris/op_helper.c b/target-cris/op_helper.c index ebff31a1de..21ee5ee1c5 100644 --- a/target-cris/op_helper.c +++ b/target-cris/op_helper.c @@ -202,6 +202,8 @@ static void cris_ccs_rshift(CPUState *env) void helper_rfe(void) { + int rflag = env->pregs[PR_CCS] & R_FLAG; + D(fprintf(logfile, "rfe: erp=%x pid=%x ccs=%x btarget=%x\n", env->pregs[PR_ERP], env->pregs[PR_PID], env->pregs[PR_CCS], @@ -210,7 +212,7 @@ void helper_rfe(void) cris_ccs_rshift(env); /* RFE sets the P_FLAG only if the R_FLAG is not set. */ - if (!(env->pregs[PR_CCS] & R_FLAG)) + if (!rflag) env->pregs[PR_CCS] |= P_FLAG; } |