On 9 June 2016 at 17:21, Matthew Wahab <matthew.wa...@foss.arm.com> wrote:
> Hello,
>
> A number of tests were added to check for FP16 arguments and return
> values being passed in registers. These require mfloat-abi=hard to be
> selected but in some test configurations they were run with
> -mfloat-abi=soft or -mfloat-abi=softfp.
>
> Explict skip-if directives are added to the tests to ensure that they
> only run on valid configurations. In addition, the code in the
> gcc.target/arm/fp16-aapcs-1.c test is reworked to focus on argument
> passing and return values and a softfp variant is added as
> fp16-aapcs-2.c.
>
> Tested for arm-none-linux-gnueabihf with native make check and for
> arm-none-eabi with cross-compiled check-gcc. Also checked the new tests
> with cross-compiled arm-eabi-qemu/-mcpu=cortex-m3/-mthumb.
>
> Ok for trunk?
> Matthew
>

Hi Matthew,

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

on non-hf targets, the effective-target arm_neon_fp16_hw will want to
add -mfloat-abi=softfp, but you actually force -mfloat-abi=hard.
So, the dg-skip directive doesn't match, and the test fails to link because
the dejagnu glue code is compiled in soft mode, and conflicts
with the hard mode from vfpXX.o

This is quite tricky :)

Thanks,

Christophe



> 2016-06-09  Matthew Wahab  <matthew.wa...@arm.com>
>
>         * testsuite/gcc.target/arm/aapcs/neon-vect10.c: Skip for
>         mfloat-abi=soft and mfloat-abi=softfp.  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.
>         * 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: Skip for
>         mfloat-abi=soft and mfloat-abi=softfp.  Also, simplify the test
>         and set option -mfloat-abi=hard.
>         * testsuite/gcc.target/arm/fp16-aapcs-2.c: New.

Reply via email to