[PATCH] rs6000, vec_popcntd is improperly defined in altivec.h

will schmidt will_schmidt@vnet.ibm.com
Mon Aug 31 15:56:20 GMT 2020


On Fri, 2020-08-28 at 08:08 -0700, Carl Love wrote:
> GCC maintainers:
> 

Hi, 



> The defines for vec_popcnt, bvec_popcnth, vec_popcntw, vec_popcntd in

s/bvec/vec/

> gcc/config/rs6000/altivec.h are not listed in the Power 64-Bi ELF V2
> ABI specification revision 1.4, May 10, 2017.  They are not used by
> any
> of the regression tests.  They also do not work as reported in:
> 
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85830
> 


Can probably replace that URL with a reference to "PR 85830".

> The following patch removes the unsupported defines for the builtin
> functions.
> 
> The patch has been tested on 
> 
>   powerpc64le-unknown-linux-gnu (Power 9 LE
> 
> with no regression errors.
> 
> Please let me know if this patch is acceptable for mainline.
> 
>                  Carl Love
> 
> ------------------------------------------------------
>  vec_popcntd is improperly defined in altivec.h


^ stray line ? 

> 
> gcc/ChangeLog
> 
> 2020-08-27  Carl Love  <cel@us.ibm.com>
> 
> 	PR target/85830
> 	* config/rs6000/altivec.h (vec_popcntub, vec_popcntuh,
> vec_popcntuw,
> 	vec_popcntud): Remove defines.
> ---
>  gcc/config/rs6000/altivec.h | 4 ----
>  1 file changed, 4 deletions(-)
> 
> diff --git a/gcc/config/rs6000/altivec.h
> b/gcc/config/rs6000/altivec.h
> index bf2240f16a2..8a2dcda0144 100644
> --- a/gcc/config/rs6000/altivec.h
> +++ b/gcc/config/rs6000/altivec.h
> @@ -407,10 +407,6 @@
>  #define vec_vpopcnth __builtin_vec_vpopcnth
>  #define vec_vpopcntw __builtin_vec_vpopcntw
>  #define vec_popcnt __builtin_vec_vpopcntu
> -#define vec_popcntb __builtin_vec_vpopcntub
> -#define vec_popcnth __builtin_vec_vpopcntuh
> -#define vec_popcntw __builtin_vec_vpopcntuw
> -#define vec_popcntd __builtin_vec_vpopcntud

That looks OK within this context.

Are there any existing tests that use these named variations?  

Thanks,
-Will

>  #define vec_vrld __builtin_vec_vrld
>  #define vec_vsld __builtin_vec_vsld
>  #define vec_vsrad __builtin_vec_vsrad



More information about the Gcc-patches mailing list