> -----Original Message-----
> From: Gcc-patches <gcc-patches-boun...@gcc.gnu.org> On Behalf Of
> Christophe Lyon via Gcc-patches
> Sent: 14 December 2020 10:16
> To: Tamar Christina <tamar.christ...@arm.com>
> Cc: Richard Earnshaw <richard.earns...@arm.com>; nd <n...@arm.com>;
> gcc Patches <gcc-patches@gcc.gnu.org>; Ramana Radhakrishnan
> <ramana.radhakrish...@arm.com>
> Subject: Re: [PATCH v2 13/16]Arm: Add support for auto-vectorization using
> HF mode.
> 
> On Fri, 25 Sept 2020 at 16:31, Tamar Christina <tamar.christ...@arm.com>
> wrote:
> >
> > Hi All,
> >
> > This adds support to the auto-vectorizer to support HFmode vectorization
> for
> > AArch32.  This is supported when +fp16 is used.  I wonder if I should 
> > disable
> > the returning of the type if the option isn't enabled.
> >
> > At the moment it will be returned but the vectorizer will try and fail to 
> > use
> > it.  It wastes a few compile cycles but doesn't result in bad code.
> >
> > Bootstrapped Regtested on arm-none-linux-gnueabihf and no issues.
> >
> > Ok for master?
> >
> > Thanks,
> > Tamar
> >
> > gcc/ChangeLog:
> >
> >         * config/arm/arm.c (arm_preferred_simd_mode): Add E_HFmode.
> >
> > gcc/testsuite/ChangeLog:
> >
> >         * gcc.target/arm/vect-half-floats.c: New test.
> >
> 
> Hi Tamar,
> 
> I have noticed problems with the new tests:
> ERROR: gcc.target/arm/vect-half-floats.c: unknown effective target
> keyword `target_float16' for " dg-require-effective-target 2
> target_float16 "
> 
> This is because there are two typos in the new test:
> +/* { dg-require-effective-target target_float16 } */
> +/* { dg-add-options for_float16 } */
> where target_float16 and for_float16 should just be "float16"
> 
> However, this is not sufficient for the test to pass on my side,
> because the test is then compiled with:
> -ansi -pedantic-errors -mfp16-format=ieee -Ofast -ftree-vectorize
> -fdump-tree-vect-all -std=c11
> leading to:
> vect-half-floats.c:7:11: error: ISO C does not support the '_Float16'
> type [-Wpedantic]
> 
> 
> This patch makes the test pass for me:
> 
> diff --git a/gcc/testsuite/gcc.target/arm/vect-half-floats.c
> b/gcc/testsuite/gcc.target/arm/vect-half-floats.c
> index ebfe7f9..49ca2e9 100644
> --- a/gcc/testsuite/gcc.target/arm/vect-half-floats.c
> +++ b/gcc/testsuite/gcc.target/arm/vect-half-floats.c
> @@ -1,8 +1,8 @@
>  /* { dg-do compile }  */
> -/* { dg-require-effective-target target_float16 } */
> +/* { dg-options "-Ofast -ftree-vectorize -fdump-tree-vect-all -std=c11" } */
> +/* { dg-require-effective-target float16 } */
>  /* { dg-require-effective-target arm_fp16_ok } */
> -/* { dg-add-options for_float16 } */
> -/* { dg-additional-options "-Ofast -ftree-vectorize
> -fdump-tree-vect-all -std=c11" } */
> +/* { dg-add-options float16 } */
> 
>  void foo (_Float16 n1[], _Float16 n2[], _Float16 r[], int n)
>  {
> 
> 
> OK?

Oops, sorry for not catching these.
Ok.
Thanks,
Kyrill

> 
> I'm sure why you didn't see problems with you ran the validations?
> 
> Thanks,
> 
> Christophe
> 
> 
> 
> 
> 
> 
> 
> 
> > --

Reply via email to