Revision cfa90513
b/target-sparc/translate.c | ||
---|---|---|
912 | 912 |
static inline void save_state(DisasContext *dc, TCGv cond) |
913 | 913 |
{ |
914 | 914 |
tcg_gen_movi_tl(cpu_pc, dc->pc); |
915 |
/* flush pending conditional evaluations before exposing cpu state */ |
|
916 |
if (dc->cc_op != CC_OP_FLAGS) { |
|
917 |
dc->cc_op = CC_OP_FLAGS; |
|
918 |
gen_helper_compute_psr(); |
|
919 |
} |
|
915 | 920 |
save_npc(dc, cond); |
916 | 921 |
} |
917 | 922 |
|
... | ... | |
4110 | 4115 |
{ |
4111 | 4116 |
unsigned int xop = GET_FIELD(insn, 7, 12); |
4112 | 4117 |
|
4118 |
/* flush pending conditional evaluations before exposing |
|
4119 |
cpu state */ |
|
4120 |
if (dc->cc_op != CC_OP_FLAGS) { |
|
4121 |
dc->cc_op = CC_OP_FLAGS; |
|
4122 |
gen_helper_compute_psr(); |
|
4123 |
} |
|
4113 | 4124 |
cpu_src1 = get_src1(insn, cpu_src1); |
4114 | 4125 |
if (xop == 0x3c || xop == 0x3e) { // V9 casa/casxa |
4115 | 4126 |
rs2 = GET_FIELD(insn, 27, 31); |
Also available in: Unified diff