diff options
Diffstat (limited to 'cpu')
-rw-r--r-- | cpu/ChangeLog | 4 | ||||
-rw-r--r-- | cpu/iq2000.cpu | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/cpu/ChangeLog b/cpu/ChangeLog index 1729efd..3e6a8d8 100644 --- a/cpu/ChangeLog +++ b/cpu/ChangeLog @@ -1,3 +1,7 @@ +2019-12-23 Alan Modra <amodra@gmail.com> + + * iq2000.cpu (f-offset): Avoid left shift of negative values. + 2019-12-20 Alan Modra <amodra@gmail.com> * or1korbis.cpu (f-disp26, f-disp21): Don't left shift negative values. diff --git a/cpu/iq2000.cpu b/cpu/iq2000.cpu index e25ba69..cb9cfae 100644 --- a/cpu/iq2000.cpu +++ b/cpu/iq2000.cpu @@ -207,7 +207,7 @@ (df f-offset "pc offset field" (PCREL-ADDR) 15 16 INT ; Actually, this is relative to the address of the delay slot. ((value pc) (sra SI (sub SI value pc) 2)) - ((value pc) (add SI (sll SI value 2) (add pc 4)))) + ((value pc) (add SI (mul SI value 4) (add pc 4)))) ; Instruction fields that scarcely appear in instructions. |