[ARM] Fix, add tests for FP16 aapcs.
Christophe Lyon
christophe.lyon@linaro.org
Wed Jun 29 08:36:00 GMT 2016
On 27 June 2016 at 11:58, Matthew Wahab <matthew.wahab@foss.arm.com> wrote:
> 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 <matthew.wahab@foss.arm.com>
>>> wrote:
>>>> On 10/06/16 09:32, Christophe Lyon wrote:
>>>>>
>>>>> On 9 June 2016 at 17:21, Matthew Wahab <matthew.wahab@foss.arm.com>
>>>>> 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.
>
I have run validations with the 2 patches applied, and the result
looks OK to me, FWIW.
Thanks,
Christophe.
> 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 <matthew.wahab@arm.com>
>
> * 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 <matthew.wahab@arm.com>
>
> * 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 <matthew.wahab@arm.com>
>
> * 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.
>
More information about the Gcc-patches
mailing list