diff options
author | Alan Modra <amodra@gmail.com> | 2020-01-30 21:59:20 +1030 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2020-01-30 23:39:55 +1030 |
commit | 0c115f8483ac32dc95fde902cac8c8bb99f9c3be (patch) | |
tree | 3671689d98fe08794014ceb29b7f7947c057788e /cpu/ChangeLog | |
parent | b5d36aaa8ad9b0aee720b7a6b3270d561a27cb6f (diff) | |
download | binutils-0c115f8483ac32dc95fde902cac8c8bb99f9c3be.zip binutils-0c115f8483ac32dc95fde902cac8c8bb99f9c3be.tar.gz binutils-0c115f8483ac32dc95fde902cac8c8bb99f9c3be.tar.bz2 |
ubsan: m32c: left shift of negative value
More nonsense fixing "bugs" with left shifts of signed values. Yes,
the C standard does say this is undefined (and right shifts of signed
values are implementation defined BTW) but in practice there is no
problem with current machines. 1's complement is a thing of the past.
cpu/
* m32c.cpu (f-src32-rn-unprefixed-QI): Shift before inverting.
(f-src32-rn-prefixed-QI, f-dst32-rn-unprefixed-QI): Likewise.
(f-dst32-rn-prefixed-QI): Likewise.
(f-dsp-32-s32): Mask before shifting left.
(f-dsp-48-u32, f-dsp-48-s32): Likewise.
(f-bitbase32-16-s11-unprefixed): Multiply signed field rather than
shifting left.
(f-bitbase32-24-s11-prefixed, f-bitbase32-24-s19-prefixed): Likewise.
(h-gr-SI): Mask before shifting.
opcodes/
* m32c-ibld.c: Regenerate.
Diffstat (limited to 'cpu/ChangeLog')
-rw-r--r-- | cpu/ChangeLog | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/cpu/ChangeLog b/cpu/ChangeLog index b6a1e3a..3e8f019 100644 --- a/cpu/ChangeLog +++ b/cpu/ChangeLog @@ -1,3 +1,15 @@ +2020-01-30 Alan Modra <amodra@gmail.com> + + * m32c.cpu (f-src32-rn-unprefixed-QI): Shift before inverting. + (f-src32-rn-prefixed-QI, f-dst32-rn-unprefixed-QI): Likewise. + (f-dst32-rn-prefixed-QI): Likewise. + (f-dsp-32-s32): Mask before shifting left. + (f-dsp-48-u32, f-dsp-48-s32): Likewise. + (f-bitbase32-16-s11-unprefixed): Multiply signed field rather than + shifting left. + (f-bitbase32-24-s11-prefixed, f-bitbase32-24-s19-prefixed): Likewise. + (h-gr-SI): Mask before shifting. + 2020-01-30 Jose E. Marchesi <jose.marchesi@oracle.com> * bpf.cpu (define-alu-insn-un): The unary BPF instructions |