The attached patch series improves MSP430 hardware multiply support, by
improving code generation when setting up the 16-bit and 32-bit hardware
multiply functions, and adding a 64-bit hardware multiply library
function for devices that have a 32-bit hardware multiplier.

Successfully regtested GCC and G++ testsuites for:
    msp430-sim
    msp430-sim/-mcpu=msp430
    msp430-sim/-mhwmult=f5series
    
msp430-sim/-mhwmult=f5series/-mlarge/-mdata-region=either/-mcode-region=either
    msp430-sim/-mlarge
    msp430-sim/-mlarge/-mdata-region=either/-mcode-region=either

Additionally regtested GCC execute.exp for:
    msp430-sim/-mhwmult=16bit
    msp430-sim/-mhwmult=32bit
    msp430-sim/-mhwmult=f5series
    msp430-sim/-mhwmult=none
    msp430-sim/-mlarge/-mcode-region=either/-mdata-region=either/-mhwmult=16bit
    msp430-sim/-mlarge/-mcode-region=either/-mdata-region=either/-mhwmult=32bit
    
msp430-sim/-mlarge/-mcode-region=either/-mdata-region=either/-mhwmult=f5series
    msp430-sim/-mlarge/-mcode-region=either/-mdata-region=either/-mhwmult=none

Ok for trunk?

Jozef Lawrynowicz (2):
  MSP430: Add mulhi, mulsi and {u,}mulsidi3  expanders
  MSP430: Add 64-bit hardware multiply support

 gcc/config/msp430/msp430.md       | 61 ++++++++++++++++++++++--
 libgcc/config/msp430/lib2hw_mul.S | 77 +++++++++++++++++++++++++++++--
 libgcc/config/msp430/lib2mul.c    | 52 +++++++++++++++++++++
 libgcc/config/msp430/t-msp430     |  5 ++
 4 files changed, 186 insertions(+), 9 deletions(-)

-- 
2.29.2

Reply via email to