diff options
author | Jozef Lawrynowicz <jozef.l@mittosystems.com> | 2020-11-15 21:03:14 +0000 |
---|---|---|
committer | Jozef Lawrynowicz <jozef.l@mittosystems.com> | 2020-11-18 11:05:27 +0000 |
commit | bf7b94d40739428fda3d798b4add833054f7d012 (patch) | |
tree | af1a2afd2aaa765b753f3b65ead1c8d815516618 /libcpp/errors.c | |
parent | e045b85836091f2461263a3c3f4f1972b3753f9d (diff) | |
download | gcc-bf7b94d40739428fda3d798b4add833054f7d012.zip gcc-bf7b94d40739428fda3d798b4add833054f7d012.tar.gz gcc-bf7b94d40739428fda3d798b4add833054f7d012.tar.bz2 |
MSP430: Add 64-bit hardware multiply support
Hardware multipliers that support widening 32-bit multiplication can
be used to perform a 64-bit * 64-bit multiplication more efficiently
than a software implementation.
The following equation is used to perform 64-bit multiplication for
devices with "32bit" or "f5series" hardware multiply versions:
64bit_result = (low32_op0 * lop32_op1)
+ ((low32_op0 * high32_op1) << 32)
+ ((high32_op0 * low32_op1) << 32)
libgcc/ChangeLog:
* config/msp430/lib2hw_mul.S (mult64_hw): New.
(if MUL_32): Use mult64_hw for __muldi3.
(if MUL_F5): Use mult64_hw for __muldi3.
* config/msp430/lib2mul.c (__muldi3): New.
* config/msp430/t-msp430 (LIB2FUNCS_EXCLUDE): Define.
Diffstat (limited to 'libcpp/errors.c')
0 files changed, 0 insertions, 0 deletions