projects
/
soc.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
8318399
)
Fix missing NIA update on ISACaller
author
Cesar Strauss
<cestrauss@gmail.com>
Sun, 7 Mar 2021 20:55:39 +0000
(17:55 -0300)
committer
Cesar Strauss
<cestrauss@gmail.com>
Sun, 7 Mar 2021 22:16:42 +0000
(19:16 -0300)
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
patch
|
blob
|
history
diff --git
a/src/soc/decoder/isa/caller.py
b/src/soc/decoder/isa/caller.py
index 00f5c8ebd71b161307d3e88c1a2286a43011465b..849879b3d3e11faeefe1c3a35a884b87d33826e1 100644
(file)
--- 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