Commit Graph

21 Commits

Author SHA1 Message Date
Jakub Jelinek 8d9254fc8a Update copyright years.
From-SVN: r279813
2020-01-01 12:51:42 +01:00
Jozef Lawrynowicz a9046e9853 MSP430: Add -fno-exceptions multilib
ChangeLog:

2019-12-11  Jozef Lawrynowicz  <jozef.l@mittosystems.com>

	* config-ml.in (msp430-*-*): Support --disable-no-exceptions configure
	flag.

gcc/ChangeLog:

2019-12-11  Jozef Lawrynowicz  <jozef.l@mittosystems.com>

	* config/msp430/msp430.h (STARTFILE_SPEC) [!fexceptions]: Use
	crtbegin_no_eh.o if building for the C language.
	[fno-exceptions]: Use crtbegin_no_eh.o if building for any language
	except C.
	(ENDFILE_SPEC) [!fexceptions]: Use crtend_no_eh.o if building for 
	the C language.
	[fno-exceptions]: Use crtend_no_eh.o if building for any language
	except C.
	* config/msp430/t-msp430: Add -fno-exceptions multilib.
	* doc/install.texi: Document --disable-no-exceptions multilib configure
	option.
	* doc/sourcebuild.texi: Document exceptions_enabled effective target.

gcc/testsuite/ChangeLog:

2019-12-11  Jozef Lawrynowicz  <jozef.l@mittosystems.com>

	* lib/gcc-dg.exp: Add dg-prune messages for when exception handling is
	disabled.
	* lib/target-supports.exp (check_effective_target_exceptions_enabled):
	New.

libgcc/ChangeLog:

2019-12-11  Jozef Lawrynowicz  <jozef.l@mittosystems.com>

	* config.host: Add crt{begin,end}_no_eh.o to "extra_parts".
	* config.host (msp430*-*-elf): Add crt{begin,end}_no_eh.o to
	"extra_parts".

From-SVN: r279246
2019-12-11 19:19:50 +00:00
Jozef Lawrynowicz 91c64455e8 lib2hw_mul.S: Fix wrong syntax in branch instruction.
2019-10-23  Jozef Lawrynowicz  <jozef.l@mittosystems.com>

	* config/msp430/lib2hw_mul.S: Fix wrong syntax in branch instruction.
	s/RESULT_LO/RESLO, s/RESULT_HI/RESHI, s/MPY_OP1/MPY, 
	s/MPY_OP1_S/MPYS, s/MAC_OP1/MAC, s/MPY_OP2/OP2, s/MAC_OP2/OP2.
	Define symbols for 32-bit and f5series hardware multiply
	register addresses.
	Replace hard-coded register addresses with symbols.
	Fix "_mspabi*" typo.
	Fix whitespace.
	* config/msp430/lib2mul.c: Add comment.

From-SVN: r277340
2019-10-23 16:52:47 +00:00
Jozef Lawrynowicz 0fcc78f79e MSP430: Implement 64-bit shifts in assembly code
gcc/ChangeLog:

2019-06-16  Jozef Lawrynowicz  <jozef.l@mittosystems.com>

	* config/msp430/msp430.c (msp430_expand_helper): Setup arguments which
	describe how to perform MSPABI compliant 64-bit shift.
	* config/msp430/msp430.md (ashldi3): New define_expand.
	(ashrdi3): New define_expand.
	(lshrdi3): New define_expand.

libgcc/ChangeLog:

2019-06-16  Jozef Lawrynowicz  <jozef.l@mittosystems.com>

	* config/msp430/slli.S (__mspabi_sllll): New library function for
	performing a logical left shift of a 64-bit value.
	* config/msp430/srai.S (__mspabi_srall): New library function for
	performing a arithmetic right shift of a 64-bit value.
	* config/msp430/srll.S (__mspabi_srlll): New library function for
	performing a logical right shift of a 64-bit value.

gcc/testsuite/ChangeLog:

2019-06-16  Jozef Lawrynowicz  <jozef.l@mittosystems.com>

	* gcc.target/msp430/mspabi_sllll.c: New test.
	* gcc.target/msp430/mspabi_srall.c: New test.
	* gcc.target/msp430/mspabi_srlll.c: New test.
	* gcc.c-torture/execute/shiftdi-2.c: New test.

From-SVN: r272360
2019-06-16 21:24:56 +00:00
Jozef Lawrynowicz d1b2f85f78 MSP430: Put libgcc shift functions in their own section
2019-06-06  Jozef Lawrynowicz  <jozef.l@mittosystems.com>

	* config/msp430/slli.S (__mspabi_slli_n): Put function in its own
	section.
	(__mspabi_slli): Likewise.
	(__mspabi_slll_n): Likewise.
	(__mspabi_slll): Likewise.
	* config/msp430/srai.S (__mspabi_srai_n): Likewise.
	(__mspabi_srai): Likewise.
	(__mspabi_sral_n): Likewise.
	(__mspabi_sral): Likewise.
	* config/msp430/srli.S (__mspabi_srli_n): Likewise.
	(__mspabi_srli): Likewise.
	(__mspabi_srll_n): Likewise.
	(__mspabi_srll): Likewise.

From-SVN: r271992
2019-06-06 09:07:36 +00:00
Jakub Jelinek a554497024 Update copyright years.
From-SVN: r267494
2019-01-01 13:31:55 +01:00
Jakub Jelinek 85ec4feb11 Update copyright years.
From-SVN: r256169
2018-01-03 11:03:58 +01:00
Joe Seymour 4701fba31c t-msp430 (LIB2ADD): Remove mpy.c
libgcc/
	* config/msp430/t-msp430 (LIB2ADD): Remove mpy.c
	(mpy.o): New rule.
	(libmul_none.a): Add mpy.o

	gcc/testsuite/
	* gcc.target/msp430/mul_f5_muldef.c: New test.

From-SVN: r244564
2017-01-17 22:56:10 -05:00
Joe Seymour 829afb8f05 t-msp430 (libmul_none.a, [...]): Filter archived prerequisites.
2017-01-13  Joe Seymour  <joe.s@somniumtech.com>
* config/msp430/t-msp430 (libmul_none.a, libmul_16.a, libmul_32.a,
libmul_f5.a): Filter archived prerequisites.

From-SVN: r244455
2017-01-13 17:18:07 -05:00
Jakub Jelinek cbe34bb5ed Update copyright years.
From-SVN: r243994
2017-01-01 13:07:43 +01:00
Nick Clifton 2de1cf8c4b cmpd.c (__mspabi_cmpf): Add prototype.
* config/msp430/cmpd.c (__mspabi_cmpf): Add prototype.
	(__mspabi_cmpd): Likewise.
	* config/msp430/floathidf.c (__floathidf): Likewise.
	* config/msp430/floathisf.c (__floathisf): Likewise
	* config/msp430/floatunhidf.c (__floatunssidf): Likewise.
	* config/msp430/floatunhisf.c (__floatunshisf): Likewise.
	* config/msp430/lib2shift.c (__ashlsi3): Take a signed char as the
	second parameter.
	(__ashrsi3): Likewise.

From-SVN: r235409
2016-04-25 11:13:35 +00:00
Nick Clifton bdc27e509c t-msp430 (lib2_mul_none.o): Only use the first dependency as the source file to be compiled.
* config/msp430/t-msp430 (lib2_mul_none.o): Only use the first
	dependency as the source file to be compiled.
	(lib2_mul_16bit.o, lib2hw_mul_16.o, lib2hw_mul_32.o)
	(lib2hw_mul_f5.o): Likewise.

From-SVN: r232402
2016-01-15 08:18:13 +00:00
Jakub Jelinek 818ab71a41 Update copyright years.
From-SVN: r232055
2016-01-04 15:30:50 +01:00
Nick Clifton 04a9ae287f 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.

From-SVN: r231286
2015-12-04 17:24:30 +00:00
DJ Delorie 9afebea2d5 * config/msp430/lib2hw_mul.S: Fix alignment.
From-SVN: r230633
2015-11-19 19:08:50 -05:00
Jakub Jelinek 5624e564d2 Update copyright years.
From-SVN: r219188
2015-01-05 13:33:28 +01:00
Nick Clifton 161c931207 t-msp430 (HOST_LIBGCC2_CFLAGS): Add -mhwmult=none.
* config/msp430/t-msp430 (HOST_LIBGCC2_CFLAGS): Add
	-mhwmult=none.

From-SVN: r210811
2014-05-22 15:15:36 +00:00
Nick Clifton df2b279c5c t-msp430 (LIB2ADD): Add lib2hw_mul.S
* config/msp430/t-msp430 (LIB2ADD): Add lib2hw_mul.S
	* config/msp430/lib2hw_mul.S: New: Hardware multiply routines.

From-SVN: r208374
2014-03-06 08:35:40 +00:00
Richard Sandiford ac1dca3cab Update copyright years in libgcc/
From-SVN: r206295
2014-01-02 22:25:22 +00:00
Richard Sandiford f9030485a3 arc-common.c, [...]: Use the standard form for the copyright notice.
gcc/
	* common/config/arc/arc-common.c, config/arc/arc-modes.def,
	config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
	config/arc/arc.md, config/arc/arc.opt, config/arm/arm_neon_builtins.def,
	config/arm/crypto.def, config/i386/avx512cdintrin.h,
	config/i386/avx512erintrin.h, config/i386/avx512fintrin.h,
	config/i386/avx512pfintrin.h, config/i386/btver2.md,
	config/i386/shaintrin.h, config/i386/slm.md, config/linux-protos.h,
	config/linux.c, config/winnt-c.c, diagnostic-color.c,
	diagnostic-color.h, gimple-ssa-isolate-paths.c, vtable-verify.c,
	vtable-verify.h: Use the standard form for the copyright notice.

gcc/c-family/
	* array-notation-common.c, c-cilkplus.c: Use the standard form for
	the copyright notice.

gcc/c/
	* c-array-notation.c: Use the standard form for the copyright notice.

gcc/cp/
	* cp-array-notation.c, cp-cilkplus.c, vtable-class-hierarchy.c: Use
	the standard form for the copyright notice.

gcc/testsuite/
	* gcc.target/arc/arc.exp: Use the standard form for the copyright
	notice.

libgcc/
	* config/arc/asm.h, config/arc/crtg.S, config/arc/crtgend.S,
	config/arc/crti.S, config/arc/crtn.S, config/arc/divtab-arc700.c,
	config/arc/dp-hack.h, config/arc/fp-hack.h,
	config/arc/ieee-754/adddf3.S, config/arc/ieee-754/addsf3.S,
	config/arc/ieee-754/arc600-dsp/divdf3.S,
	config/arc/ieee-754/arc600-dsp/divsf3.S,
	config/arc/ieee-754/arc600-dsp/muldf3.S,
	config/arc/ieee-754/arc600-dsp/mulsf3.S,
	config/arc/ieee-754/arc600-mul64/divdf3.S,
	config/arc/ieee-754/arc600-mul64/divsf3.S,
	config/arc/ieee-754/arc600-mul64/muldf3.S,
	config/arc/ieee-754/arc600-mul64/mulsf3.S,
	config/arc/ieee-754/arc600/divsf3.S,
	config/arc/ieee-754/arc600/mulsf3.S,
	config/arc/ieee-754/divdf3.S, config/arc/ieee-754/divsf3-stdmul.S,
	config/arc/ieee-754/divsf3.S, config/arc/ieee-754/divtab-arc-df.c,
	config/arc/ieee-754/divtab-arc-sf.c, config/arc/ieee-754/eqdf2.S,
	config/arc/ieee-754/eqsf2.S, config/arc/ieee-754/extendsfdf2.S,
	config/arc/ieee-754/fixdfsi.S, config/arc/ieee-754/fixsfsi.S,
	config/arc/ieee-754/fixunsdfsi.S, config/arc/ieee-754/floatsidf.S,
	config/arc/ieee-754/floatsisf.S, config/arc/ieee-754/floatunsidf.S,
	config/arc/ieee-754/gedf2.S, config/arc/ieee-754/gesf2.S,
	config/arc/ieee-754/gtdf2.S, config/arc/ieee-754/gtsf2.S,
	config/arc/ieee-754/muldf3.S, config/arc/ieee-754/mulsf3.S,
	config/arc/ieee-754/orddf2.S, config/arc/ieee-754/ordsf2.S,
	config/arc/ieee-754/truncdfsf2.S, config/arc/ieee-754/uneqdf2.S,
	config/arc/ieee-754/uneqsf2.S, config/arc/initfini.c,
	config/arc/lib1funcs.S, config/arc/t-arc, config/arc/t-arc-newlib,
	config/cris/umulsidi3.S, config/msp430/cmpsi2.S,
	config/msp430/epilogue.S, config/msp430/lib2bitcountHI.c,
	config/msp430/lib2divHI.c, config/msp430/lib2divQI.c,
	config/msp430/lib2divSI.c, config/msp430/lib2mul.c,
	config/msp430/msp430-divmod.h, config/msp430/msp430-mul.h,
	config/msp430/slli.S, config/msp430/srai.S, config/msp430/srli.S,
	config/rl78/divmodhi.S, config/rl78/divmodqi.S, config/rl78/divmodsi.S,
	config/rl78/signbit.S, vtv_end.c, vtv_end_preinit.c, vtv_start.c,
	vtv_start_preinit.c: Use the standard form for the copyright notice.

libgomp/
	* hashtab.h: Use the standard form for the copyright notice.

libstdc++-v3/
	* testsuite/18_support/new_handler.cc,
	testsuite/18_support/terminate_handler.cc,
	testsuite/18_support/unexpected_handler.cc: Use the standard form for
	the copyright notice.

From-SVN: r206288
2014-01-02 22:09:02 +00:00
DJ Delorie f6a83b4a9f MAINTAINERS: Add Nick Clifton and DJ Delorie as msp430 maintainers.
* MAINTAINERS: Add Nick Clifton and DJ Delorie as msp430
maintainers.

[gcc]
* config/msp430/: New port.
* config.gcc (msp430): Added.
* doc/invoke.texi: Document MSP430 options.
* doc/install.texi: Document msp430-elf
* doc/md.texi: Document msp430-elf
* doc/contrib.texi: Document msp430-elf

[libgcc]
* config.host (msp*-*-elf): New.
* config/msp430/: New port.

[contrib]
* config-list.mk: Add msp430-elf.

From-SVN: r202535
2013-09-12 13:52:41 -04:00