r236269 - in /trunk/gcc: ChangeLog config/arm/a...

mwahab@gcc.gnu.org mwahab@gcc.gnu.org
Mon May 16 09:31:00 GMT 2016


Author: mwahab
Date: Mon May 16 09:31:58 2016
New Revision: 236269

URL: https://gcc.gnu.org/viewcvs?rev=236269&root=gcc&view=rev
Log:
[ARM] Enable __fp16 as a function parameter and return type.

gcc/
2016-05-16  Matthew Wahab  <matthew.wahab@arm.com>
	    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
	    Jiong Wang  <jiong.wang@arm.com>

	* config/arm/arm-c.c (arm_cpu_builtins): Use def_or_undef_macro
	for __ARM_FP16_FORMAT_IEEE and __ARM_FP16_FORMAT_ALTERNATIVE.
	Define __ARM_FP16_ARGS when appropriate.
	* config/arm/arm.c (arm_invalid_parameter_type): Remove
	declaration.
	(arm_invalid_return_type): Likewise.
	(TARGET_INVALID_PARAMETER_TYPE): Remove.
	(TARGET_INVALID_RETURN_TYPE): Remove.
	(aapcs_vfp_sub_candidate): Allow HFmode.
	(aapcs_vfp_allocate): Add comment.  Support HFmode.
	(aapcs_vfp_allocate_return_reg): Likewise.
	(struct aapcs_cp_arg_layout): Slightly reword comments for
	is_return_candidate and allocate_return_reg.
	(output_mov_vfp): Update assert.
	(arm_hard_regno_mode_ok): Remove comment, update HF-mode
	condition.
	(arm_invalid_parameter_type): Remove.
	(amr_invalid_return_type): Remove.
	* config/arm/arm.h (TARGET_NEON_FP16): Fix definition.
	* config/arm/arm.md (*arm32_movhf): Disable for TARGET_VFP.
	* config/arm/vfp.md (*movhf_vfp): Enable for TARGET_VFP.

gcc/testsuite/
2016-05-16  Matthew Wahab  <matthew.wahab@arm.com>

	* g++.dg/ext/arm-fp16/fp16-param-1.c: Update expected output.  Add
	test for __ARM_FP16_ARGS.
	* g++.dg/ext/arm-fp16/fp16-return-1.c: Update expected output.
	* gcc.target/arm/aapcs/neon-vect10.c: New.
	* gcc.target/arm/aapcs/neon-vect9.c: New.
	* gcc.target/arm/aapcs/vfp18.c: New.
	* gcc.target/arm/aapcs/vfp19.c: New.
	* gcc.target/arm/aapcs/vfp20.c: New.
	* gcc.target/arm/aapcs/vfp21.c: New.
	* gcc.target/arm/fp16-aapcs-1.c: New.
	* g++.target/arm/fp16-param-1.c: Update expected output.  Add
	test for __ARM_FP16_ARGS.
	* g++.target/arm/fp16-return-1.c: Update expected output.


Added:
    trunk/gcc/testsuite/gcc.target/arm/aapcs/neon-vect10.c
    trunk/gcc/testsuite/gcc.target/arm/aapcs/neon-vect9.c
    trunk/gcc/testsuite/gcc.target/arm/aapcs/vfp18.c
    trunk/gcc/testsuite/gcc.target/arm/aapcs/vfp19.c
    trunk/gcc/testsuite/gcc.target/arm/aapcs/vfp20.c
    trunk/gcc/testsuite/gcc.target/arm/aapcs/vfp21.c
    trunk/gcc/testsuite/gcc.target/arm/fp16-aapcs-1.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/arm/arm-c.c
    trunk/gcc/config/arm/arm.c
    trunk/gcc/config/arm/arm.h
    trunk/gcc/config/arm/arm.md
    trunk/gcc/config/arm/vfp.md
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/g++.dg/ext/arm-fp16/fp16-param-1.C
    trunk/gcc/testsuite/g++.dg/ext/arm-fp16/fp16-return-1.C
    trunk/gcc/testsuite/gcc.target/arm/fp16-param-1.c
    trunk/gcc/testsuite/gcc.target/arm/fp16-return-1.c



More information about the Gcc-cvs mailing list