ubsan: m32c: left shift of negative value

cpu/
	* m32c.cpu (f-dsp-64-s16): Mask before shifting signed value.
opcodes/
	* m32c-ibld.c: Regenerate.
This commit is contained in:
Alan Modra 2020-02-03 11:26:30 +10:30
parent ef4627faba
commit 44e4546fa2
4 changed files with 14 additions and 6 deletions

View file

@ -781,12 +781,12 @@
(df f-dsp-64-s16 " 16 bit signed" (all-isas) 64 16 INT
((value pc) (ext INT
(trunc HI
(or (and (srl value 8) #x00ff)
(and (sll value 8) #xff00))))) ; insert
(or (and (srl value 8) #xff)
(sll (and value #xff) 8))))) ; insert
((value pc) (ext INT
(trunc HI
(or (and (srl value 8) #x00ff)
(and (sll value 8) #xff00))))) ; extract
(or (and (srl value 8) #xff)
(sll (and value #xff) 8))))) ; extract
)
;-------------------------------------------------------------