diff --git a/fpu.vhdl b/fpu.vhdl index 52b35c2..190f4a3 100644 --- a/fpu.vhdl +++ b/fpu.vhdl @@ -1077,7 +1077,6 @@ begin v.writing_fpr := '0'; v.writing_cr := '0'; v.writing_xer := '0'; - v.comm_fpscr := r.fpscr; v.illegal := '0'; end if; @@ -3728,6 +3727,10 @@ begin v.fpscr(FPSCR_FX) := '1'; end if; + if r.complete = '1' or r.do_intr = '1' then + v.comm_fpscr := v.fpscr; + end if; + if v.instr_done = '1' then if r.state /= IDLE then v.state := IDLE;