r177025 - in /trunk: gcc/ChangeLog gcc/config/a...

jules@gcc.gnu.org jules@gcc.gnu.org
Mon Aug 1 12:41:00 GMT 2011


Author: jules
Date: Mon Aug  1 12:41:30 2011
New Revision: 177025

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=177025
Log:
	gcc/
	* configure.ac (fixed-point): Add ARM support.
	* configure: Regenerate.
	* config/arm/arm.c (arm_fixed_mode_set): New struct.
	(arm_set_fixed_optab_libfunc): New.
	(arm_set_fixed_conv_libfunc): New.
	(arm_init_libfuncs): Initialise fixed-point helper libfuncs with
	ARM-specific names.
	(aapcs_libcall_value): Return sub-word-size fixed-point libcall
	return values in SImode.
	(arm_return_in_msb): Return fixed-point types in the msb.
	(arm_pad_reg_upwards, arm_pad_arg_upwards): Pad fixed-point types
	upwards.
	(arm_scalar_mode_supported_p): Support fixed-point modes.
	(arm_vector_mode_supported_p): Support vector fixed-point modes.
	* config/arm/arm.h (SHORT_FRACT_TYPE_SIZE, FRACT_TYPE_SIZE)
	(LONG_FRACT_TYPE_SIZE, LONG_LONG_FRACT_TYPE_SIZE)
	(SHORT_ACCUM_TYPE_SIZE, ACCUM_TYPE_SIZE, LONG_ACCUM_TYPE_SIZE)
	(LONG_LONG_ACCUM_TYPE_SIZE, MAX_FIXED_MODE_SIZE): Define.
	* config/arm/iterators.md (FIXED, ADDSUB, UQADDSUB, QADDSUB, QMUL):
	New mode iterators.
	(qaddsub_suf): New mode attribute.
	* config/arm/arm-modes.def (FRACT, UFRACT, ACCUM, UACCUM): Declare
	vector modes.
	* config/arm/predicates.md (sat_shift_operator): New predicate.
	* config/arm/arm-fixed.md: New.
	* config/arm/arm.md: Include arm-fixed.md.
	* config/arm/t-arm (MD_INCLUDES): Add arm-fixed.md.

	libgcc/
	* config.host (arm*-*-linux*, arm*-*-uclinux*, arm*-*-eabi*)
	(arm*-*-symbianelf*): Add t-fixedpoint-gnu-prefix makefile fragment.
	* config/arm/bpabi-lib.h (LIBGCC2_FIXEDBIT_GNU_PREFIX): Define.

	gcc/testsuite/
	* gcc.target/arm/fixed-point-exec.c: New test.


Added:
    trunk/gcc/config/arm/arm-fixed.md
    trunk/gcc/testsuite/gcc.target/arm/fixed-point-exec.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/arm/arm-modes.def
    trunk/gcc/config/arm/arm.c
    trunk/gcc/config/arm/arm.h
    trunk/gcc/config/arm/arm.md
    trunk/gcc/config/arm/iterators.md
    trunk/gcc/config/arm/predicates.md
    trunk/gcc/config/arm/t-arm
    trunk/gcc/configure
    trunk/gcc/configure.ac
    trunk/gcc/testsuite/ChangeLog
    trunk/libgcc/ChangeLog
    trunk/libgcc/config.host
    trunk/libgcc/config/arm/bpabi-lib.h



More information about the Gcc-cvs mailing list