target/microblaze: Store "current" iflags in insn_start
commit683a247ed7a4993464e995106c20acbe237bdbfc
authorRichard Henderson <richard.henderson@linaro.org>
Thu, 20 Aug 2020 15:44:20 +0000 (20 08:44 -0700)
committerRichard Henderson <richard.henderson@linaro.org>
Tue, 1 Sep 2020 14:41:38 +0000 (1 07:41 -0700)
tree3b493f658d5f1b4bf393e0a4e6ebdd8e4f772f63
parent5318223d271865229c85e2cd2d32684b005c1d01
target/microblaze: Store "current" iflags in insn_start

This data is available during exception unwinding, thus
we can restore it from there directly, rather than saving
it during the TB.  Thus we may remove the t_sync_flags()
calls in the load/store operations.

Note that these calls were missing from the other places
where runtime exceptions may be raised, such as idiv and
the floating point operations.

Tested-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
target/microblaze/cpu.h
target/microblaze/translate.c