From bdfa4c5dadd75b197cf009b5ae95f5e3f17bc176 Mon Sep 17 00:00:00 2001 From: Cesar Strauss Date: Sun, 7 Mar 2021 17:55:39 -0300 Subject: [PATCH] Fix missing NIA update on ISACaller The effect of this bug was mostly hidden because NIA is later updated at the end of the SV Loop, in call(). However, in a VL==0 loop, the effect is apparent, as PC is incremented by 4 instead of 8. --- src/soc/decoder/isa/caller.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/soc/decoder/isa/caller.py b/src/soc/decoder/isa/caller.py index 00f5c8eb..849879b3 100644 --- a/src/soc/decoder/isa/caller.py +++ b/src/soc/decoder/isa/caller.py @@ -1130,6 +1130,7 @@ class ISACaller: pfx.insn[7].value == 0b1 and pfx.insn[9].value == 0b1) self.pc.update_nia(self.is_svp64_mode) + self.namespace['NIA'] = self.pc.NIA if not self.is_svp64_mode: return -- 2.30.2