This is the mail archive of the gcc-cvs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

r231286 - in /trunk: gcc/ChangeLog gcc/common/c...


Author: nickc
Date: Fri Dec  4 17:24:30 2015
New Revision: 231286

URL: https://gcc.gnu.org/viewcvs?rev=231286&root=gcc&view=rev
Log:
gcc	* config.gcc (extra_gcc_objs): Define for MSP430.
        * common/config/msp430/msp430-common.c (msp430_handle_option):
	Pass both -mmcu and -mcpu on to the back end if they are both
	defined.
	* config/msp430/msp430.c (hwmult_name): New function.
        (msp430_option_override): If an unrecognised MCU name is
	detected only warn if the user has not provided suitable
        -mhwmult and -mcpu options.  Use msp430_warn_mcu to control
	warning messages.  Generate warnings about conflicts between
	-mmcu and -mcpu and -mhwmult options. 
	If neither -mcpu nor -mmcu have been specified but -mhwmult=
	f5series has the select the 430X isa.
	(msp430_no_hwmult): If -mmcu has not been specified and
	msp430_hwmult_type is AUTO then return true.
	* config/msp430/msp430.h (EXTRA_SPEC_FUNCTIONS): Define.
	(LIB_SPEC): Add hardware multiply library selection.
	* config/msp430/t-msp430: Delete hardware multiply multilibs.
	Add rule to build driver-msp430.o
	* config/msp430/driver-msp430.c: New file.
	* config/msp430/msp430.opt (warn-mcu): New option.
	* doc/invoke.texi: Update description of -mhwmult=auto.
        Document -mwarn-mcu option.

tests	* gcc.target/msp430/msp_abi_div_funcs.c: New test.
	* gcc.target/msp430/mul_main.h: New test support file.
	* gcc.target/msp430/mul_none.c: New test.
	* gcc.target/msp430/mul_16bit.c: New test.
	* gcc.target/msp430/mul_32bit.c: New test.
	* gcc.target/msp430/mul_f5.c: New test.

libgcc	* config/msp430/mpy.c (__mulhi3): Use a faster algorithm.
	Allow for the second argument being negative.
	* config.host (extra_parts): Define for MSP430.  Create separate
	libraries for each of the hardware multiply formats.
	* config/msp430/lib2hw_mul.S: Build only the multiply routines
	that are needed.
	* config/msp430/lib2mul.c: Likewise.
	* config/msp430/t-msp430 (LIB2ADD): Remove lib2hw_mul.S.
	Add rules to build hardware multiply libraries.
	* config/msp430/lib2divSI.c: (__mspabi_divlu): Alias for
	__mspabi_divul function.
	(__mspabi_divllu): New stub function.

Added:
    trunk/gcc/config/msp430/driver-msp430.c
    trunk/gcc/testsuite/gcc.target/msp430/msp_abi_div_funcs.c
    trunk/gcc/testsuite/gcc.target/msp430/mul_16bit.c
    trunk/gcc/testsuite/gcc.target/msp430/mul_32bit.c
    trunk/gcc/testsuite/gcc.target/msp430/mul_f5.c
    trunk/gcc/testsuite/gcc.target/msp430/mul_main.h
    trunk/gcc/testsuite/gcc.target/msp430/mul_none.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/common/config/msp430/msp430-common.c
    trunk/gcc/config.gcc
    trunk/gcc/config/msp430/msp430.c
    trunk/gcc/config/msp430/msp430.h
    trunk/gcc/config/msp430/msp430.opt
    trunk/gcc/config/msp430/t-msp430
    trunk/gcc/doc/invoke.texi
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/c-c++-common/cpp/warning-zero-location.c
    trunk/libgcc/ChangeLog
    trunk/libgcc/config.host
    trunk/libgcc/config/msp430/lib2divSI.c
    trunk/libgcc/config/msp430/lib2hw_mul.S
    trunk/libgcc/config/msp430/lib2mul.c
    trunk/libgcc/config/msp430/mpy.c
    trunk/libgcc/config/msp430/t-msp430


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]