From: Luke Kenneth Casson Leighton Date: Mon, 8 Jun 2020 17:51:23 +0000 (+0100) Subject: whoops, overflow-decode (handle_overflow) needed to check e.oe.ok X-Git-Tag: div_pipeline~466 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3d76458fd33c52db68618a3cbe114053d8b4f9d7;p=soc.git whoops, overflow-decode (handle_overflow) needed to check e.oe.ok *and* e.oe.oe to decide whether to set SO/OV/OV32 --- diff --git a/src/soc/decoder/isa/caller.py b/src/soc/decoder/isa/caller.py index 6e6494d3..6541a56c 100644 --- a/src/soc/decoder/isa/caller.py +++ b/src/soc/decoder/isa/caller.py @@ -380,8 +380,9 @@ class ISACaller: carry_en = yield self.dec2.e.output_carry if carry_en: yield from self.handle_carry_(inputs, results, already_done) - ov_en = yield self.dec2.e.oe - if ov_en: + ov_en = yield self.dec2.e.oe.oe + ov_ok = yield self.dec2.e.oe.ok + if ov_en & ov_ok: yield from self.handle_overflow(inputs, results) rc_en = yield self.dec2.e.rc.data if rc_en: