GCC maintainers: The defines for vec_popcnt, bvec_popcnth, vec_popcntw, vec_popcntd in 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 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 gcc/ChangeLog 2020-08-27 Carl Love <c...@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 #define vec_vrld __builtin_vec_vrld #define vec_vsld __builtin_vec_vsld #define vec_vsrad __builtin_vec_vsrad -- 2.17.1