On 10/06/16 15:30, Matthew Wahab wrote: > On 10/06/16 15:22, Christophe Lyon wrote: >> On 10 June 2016 at 15:56, Matthew Wahab wrote: >>> On 10/06/16 09:32, Christophe Lyon wrote: >>>> >>>> On 9 June 2016 at 17:21, Matthew Wahab wrote: >>>>> >>>> It's an improvement, but I'm still seeing a few problems with this patch: >>>> the vfp* tests are still failing in some of the configurations I test, >>>> because >>>> * you force dg-options that contains -mfloat-abi=hard, >>>> * you check effective-target arm_neon_fp16_hw >>>> * but you don't call dg-add-options arm_neon_fp16 >>>> > I understand now. I still think it would be better to use a list of > require-effective-targets so I'll try that first and use the arm_neon_fp16 > options if that doesn't work. > Sorry for the delay. I've added effective-target requirements to the tests to check for hard-fp and for VFP (i.e. non-neon) FP16 support. The directives for the VFP FP16 support are new. I've split them out to a separate patch, both patches are attached. The first patch adds: - effective-target keywords arm_fp16_ok and arm_fp16_hw to check for compiler and hardware support for FP16. - add-options features arm_fp16_ieee and arm_fp16_alternative, to enable FP16 IEEE format and FP16 ARM Alternative format support Note that the existing add-options feature arm_fp16 enables the default FP16 format (fp16-format=none). The second patch updates the tests to use these directives. It also reworks gcc.target/arm/fp16-aapcs-1.c test is also reworked to focus on argument passing and return values adds a softfp variant as fp16-aapcs-2.c. As before, checked for arm-none-eabi with cross-compiled check-gcc and arm-linux-gnueabihf with native make check. I also ran the tests for cross-compiled arm-none-eabi with -mcpu=Cortex-M3. Ok for trunk? Matthew PATCH 1/2 ChangeLog gcc/ 2016-06-27 Matthew Wahab * doc/sourcebuild.texi (Effective-Target keywords): Add entries for arm_fp16_ok and arm_fp16_hw. (Add Options): Add entries for arm_fp16, arm_fp16_ieee and arm_fp16_alternative. testsuite/ 2016-06-27 Matthew Wahab * lib/target-supports.exp (add_options_for arm_fp16): Reword comment. (add_options_for_arm_fp16_ieee): New. (add_options_for_arm_fp16_alternative): New. (check_effective_target_arm_fp16_ok_nocache): Add to comment. Fix a long-line. (check_effective_target_arm_fp16_hw): New. PATCH 2/2 ChangeLog testsuite/ 2016-06-27 Matthew Wahab * testsuite/gcc.target/arm/aapcs/neon-vect10.c: Require -mfloat-ab=hard. Replace arm_neon_fp16_ok with arm_neon_fp16_hw. * testsuite/gcc.target/arm/aapcs/neon-vect9.c: Likewise. * testsuite/gcc.target/arm/aapcs/vfp18.c: Likewise. Also add options for ARM FP16 IEEE format. * testsuite/gcc.target/arm/aapcs/vfp19.c: Likewise. * testsuite/gcc.target/arm/aapcs/vfp20.c: Likewise. * testsuite/gcc.target/arm/aapcs/vfp21.c: Likewise. * testsuite/gcc.target/arm/fp16-aapcs-1.c: Require -mfloat-ab=hard. Also simplify the test. * testsuite/gcc.target/arm/fp16-aapcs-2.c: New.