This is the mail archive of the gcc-patches@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]

[arm-embedded] Backport mainline fixed-point support


Backport following mainline revs to ARM/embedded-4_6-branch:
r174187, r176036, r177015, r177017, r177018, r177019, 177022, 177025

Committed.

2011-09-20  Jiangning Liu  <jiangning.liu@arm.com>

	Backport r177025 from mainline
	2011-08-01  Julian Brown  <julian@codesourcery.com>
 
	* 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.

2011-09-20  Jiangning Liu  <jiangning.liu@arm.com>

	Backport r177022 from mainline
	2011-08-01  Julian Brown  <julian@codesourcery.com>

	* calls.c (emit_library_call_value_1): Support padding for libcall
	arguments and return values.
	* config/arm/arm.c (arm_pad_arg_upward): Pad half-float values
	downwards in big-endian mode.

2011-09-20  Jiangning Liu  <jiangning.liu@arm.com>

	Backport r177018 from mainline
	2011-08-01  Julian Brown  <julian@codesourcery.com>
 
	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Support FIXED_CST.

2011-09-20  Jiangning Liu  <jiangning.liu@arm.com>

	Backport r177017 from mainline
	2011-08-01  Julian Brown  <julian@codesourcery.com>

	* final.c (output_addr_const): Print fixed-point constants as
	decimal not hex.

2011-09-20  Jiangning Liu  <jiangning.liu@arm.com>

	Backport r177015 from mainline
	2011-08-01  Julian Brown  <julian@codesourcery.com>

	* optabs.c (prepare_cmp_insn): Use correct biasing for fixed-point
	comparison helpers.

2011-09-20  Jiangning Liu  <jiangning.liu@arm.com>

	Backport r176036 from mainline
	2011-07-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config/fixed-bit.c, config/fixed-bit.h: Move to ../libgcc.

testsuite:
2011-09-20  Jiangning Liu  <jiangning.liu@arm.com>

	Backport r177025 from mainline
	2011-08-01  Julian Brown  <julian@codesourcery.com>

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

libgcc:
2011-09-20  Jiangning Liu  <jiangning.liu@arm.com>

	Backport r177025 from mainline
	2011-08-01  Julian Brown  <julian@codesourcery.com>
 
	* 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.

2011-09-20  Jiangning Liu  <jiangning.liu@arm.com>

	Backport r177019 from mainline
	2011-08-01  Julian Brown  <julian@codesourcery.com>

	* Makefile.in (LIBGCC_VER_FIXEDPOINT_GNU_PREFIX): New.
	(libgcc-std.ver.in): Use above.
	* fixed-bit.h (LIBGCC2_FIXEDBIT_GNU_PREFIX): Define, if
	LIBGCC2_GNU_PREFIX is defined.  Use instead of LIBGCC2_GNU_PREFIX
	throughout file.
	* config/t-fixedpoint-gnu-prefix: New file.
	* config/t-gnu-prefix (LIBGCC_VER_FIXEDPOINT_GNU_PREFIX): Set.
	* libgcc-std.ver.in (fixed-point routines): Use __FIXPTPFX__
	instead of __PFX__.

2011-09-20  Jiangning Liu  <jiangning.liu@arm.com>

	Backport r176036 from mainline
	2011-07-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* fixed-bit.c, fixed-bit.h: New files.
	* fixed-obj.mk ($o$(objext), $(o)_s$(objext)): Use $(srcdir) to
	refer to fixed-bit.c.

2011-09-20  Jiangning Liu  <jiangning.liu@arm.com>

	Partially backport r174187 from mainline
	2011-05-25  Bernd Schmidt  <bernds@codesourcery.com>

	* libgcc-std.ver.in: New file.
	* Makefile.in (LIBGCC_VER_GNU_PREFIX, LIBGCC_VER_SYMBOLS_PREFIX):
New
	variables.
	(libgcc-std.ver): New rule.
	* config/t-gnu-prefix: New file.




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