ubsan: or1k: left shift of negative value

cpu/
	* or1korbis.cpu (f-disp26, f-disp21): Don't left shift negative values.
opcodes/
	* or1k-ibld.c: Regenerate.
This commit is contained in:
Alan Modra
2019-12-20 14:37:44 +10:30
parent e76832f125
commit bcd9f578a9
4 changed files with 12 additions and 4 deletions

View File

@ -76,7 +76,7 @@
26
INT
((value pc) (sra IAI (sub IAI value pc) (const 2)))
((value pc) (add IAI (sll IAI value (const 2)) pc))
((value pc) (add IAI (mul IAI value (const 4)) pc))
)
; PC relative, 21-bit, 13 shifted to right, aligned.
@ -91,7 +91,7 @@
((value pc)
(sub IAI (sra IAI value (const 13)) (sra IAI pc (const 13))))
((value pc)
(sll IAI (add IAI value (sra IAI pc (const 13))) (const 13)))
(mul IAI (add IAI value (sra IAI pc (const 13))) (const 8192)))
)
; Immediates.