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

Carl Love cel@us.ibm.com
Mon Aug 31 16:25:43 GMT 2020


> That looks OK within this context.
> Are there any existing tests that use these named variations?  
> Thanks,
> -Will

I was not able to find any test cases for these named builtins.  I
fixed the other issues you mentioned in the message and patch below.

                   Carl Love


GCC maintainers:

The defines for vec_popcnt, vec_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 PR

The following patch removes the unsupported defines for the builtin

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

rs6000, fix improperly defined in builtins.


2020-08-31  Carl Love  <cel@us.ibm.com>

	PR target/85830
	* config/rs6000/altivec.h (vec_popcntb, vec_popcnth,
	vec_popcntd): 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

More information about the Gcc-patches mailing list