[RFA/ARM]: Correct Neon testsuite generation

Richard Earnshaw rearnsha@arm.com
Tue Mar 13 10:22:00 GMT 2012


On 12/03/12 17:19, Matthew Gretton-Dann wrote:
> All,
> 
> The commit to fix PR51534 did not update the testsuite (as no changes were
> expected there).
> 
> Unfortunately, this means that I didn't notice that the Neon testsuite generator
> is broken.  The attached patch fixes the generator.
> 
> Checked by re-running the Neon testsuite and arm_neon.h generators and ensuring no
> changes in the generated testsuite/header.
> 
> OK for trunk?
> 
> OK for backporting to GCC 4.7?
> 

This is OK for trunk

It's OK for 4.7 if the RM's agree.

R.

> Thanks,
> 
> Matt
> 
> gcc/ChangeLog:
> 
> 2012-03-12  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
> 
> 	* config/arm/neon.ml (ops): Fixup expected instructions for
> 	unsigned vector compares.
> 
> 
> 1-RFA-GCC32A-569-Correct-Neon-testsuite-generation.txt
> 
> 
> diff --git a/gcc/config/arm/neon.ml b/gcc/config/arm/neon.ml
> index 363e55c..85eb5ec 100644
> --- a/gcc/config/arm/neon.ml
> +++ b/gcc/config/arm/neon.ml
> @@ -780,14 +780,19 @@ let ops =
>  
>      (* Comparison, greater-than or equal.  *)
>      Vcge, [], All (3, Dreg), "vcge", cmp_sign_matters, F32 :: s_8_32;
> -    Vcge, [Builtin_name "vcgeu"], All (3, Dreg), "vcge", cmp_sign_matters, u_8_32;
> +    Vcge, [Instruction_name ["vcge"]; Builtin_name "vcgeu"],
> +      All (3, Dreg), "vcge", cmp_sign_matters,
> +      u_8_32;
>      Vcge, [], All (3, Qreg), "vcgeQ", cmp_sign_matters, F32 :: s_8_32;
> -    Vcge, [Builtin_name "vcgeu"], All (3, Qreg), "vcgeQ", cmp_sign_matters, u_8_32;
> +    Vcge, [Instruction_name ["vcge"]; Builtin_name "vcgeu"],
> +      All (3, Qreg), "vcgeQ", cmp_sign_matters,
> +      u_8_32;
>  
>      (* Comparison, less-than or equal.  *)
>      Vcle, [Flipped "vcge"], All (3, Dreg), "vcle", cmp_sign_matters,
>        F32 :: s_8_32;
> -    Vcle, [Flipped "vcgeu"], All (3, Dreg), "vcle", cmp_sign_matters,
> +    Vcle, [Instruction_name ["vcge"]; Flipped "vcgeu"],
> +      All (3, Dreg), "vcle", cmp_sign_matters,
>        u_8_32;
>      Vcle, [Instruction_name ["vcge"]; Flipped "vcgeQ"],
>        All (3, Qreg), "vcleQ", cmp_sign_matters,
> @@ -798,14 +803,19 @@ let ops =
>  
>      (* Comparison, greater-than.  *)
>      Vcgt, [], All (3, Dreg), "vcgt", cmp_sign_matters, F32 :: s_8_32;
> -    Vcgt, [Builtin_name "vcgtu"], All (3, Dreg), "vcgt", cmp_sign_matters, u_8_32;
> +    Vcgt, [Instruction_name ["vcgt"]; Builtin_name "vcgtu"],
> +      All (3, Dreg), "vcgt", cmp_sign_matters,
> +      u_8_32;
>      Vcgt, [], All (3, Qreg), "vcgtQ", cmp_sign_matters, F32 :: s_8_32;
> -    Vcgt, [Builtin_name "vcgtu"], All (3, Qreg), "vcgtQ", cmp_sign_matters, u_8_32;
> +    Vcgt, [Instruction_name ["vcgt"]; Builtin_name "vcgtu"],
> +      All (3, Qreg), "vcgtQ", cmp_sign_matters,
> +      u_8_32;
>  
>      (* Comparison, less-than.  *)
>      Vclt, [Flipped "vcgt"], All (3, Dreg), "vclt", cmp_sign_matters,
>        F32 :: s_8_32;
> -    Vclt, [Flipped "vcgtu"], All (3, Dreg), "vclt", cmp_sign_matters,
> +    Vclt, [Instruction_name ["vcgt"]; Flipped "vcgtu"],
> +      All (3, Dreg), "vclt", cmp_sign_matters,
>        u_8_32;
>      Vclt, [Instruction_name ["vcgt"]; Flipped "vcgtQ"],
>        All (3, Qreg), "vcltQ", cmp_sign_matters,




More information about the Gcc-patches mailing list