Revision 5bf8f1ab target-cris/op_helper.c
b/target-cris/op_helper.c | ||
---|---|---|
220 | 220 |
env->pregs[PR_CCS] |= P_FLAG; |
221 | 221 |
} |
222 | 222 |
|
223 |
void helper_rfn(void) |
|
224 |
{ |
|
225 |
int rflag = env->pregs[PR_CCS] & R_FLAG; |
|
226 |
|
|
227 |
D(fprintf(logfile, "rfn: erp=%x pid=%x ccs=%x btarget=%x\n", |
|
228 |
env->pregs[PR_ERP], env->pregs[PR_PID], |
|
229 |
env->pregs[PR_CCS], |
|
230 |
env->btarget)); |
|
231 |
|
|
232 |
cris_ccs_rshift(env); |
|
233 |
|
|
234 |
/* Set the P_FLAG only if the R_FLAG is not set. */ |
|
235 |
if (!rflag) |
|
236 |
env->pregs[PR_CCS] |= P_FLAG; |
|
237 |
|
|
238 |
/* Always set the M flag. */ |
|
239 |
env->pregs[PR_CCS] |= M_FLAG; |
|
240 |
} |
|
241 |
|
|
223 | 242 |
void helper_store(uint32_t a0) |
224 | 243 |
{ |
225 | 244 |
if (env->pregs[PR_CCS] & P_FLAG ) |
Also available in: Unified diff