[Bug target/79395] New: Compile error with -mcpu=power9 and __builtin_vec_vcmpne_p

acsawdey at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Feb 6 19:40:00 GMT 2017


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79395

            Bug ID: 79395
           Summary: Compile error with -mcpu=power9 and
                    __builtin_vec_vcmpne_p
           Product: gcc
           Version: 7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: acsawdey at gcc dot gnu.org
                CC: kelvin at gcc dot gnu.org, wschmidt at gcc dot gnu.org
  Target Milestone: ---
            Target: powerpc64*-*-*

Testing with trunk and -mcpu=power9 we get the error below from a number of
tests in gcc.dg/vmx:

gcc/xgcc -Bgcc ../trunk/gcc/testsuite/gcc.dg/vmx/3d-01.c
-fno-diagnostics-show-caret -fdiagnostics-color=never -O0 -maltivec
-mabi=altivec -std=gnu99 -mno-vsx -S -mcpu=power9 -o
3d-01.s../trunk/gcc/testsuite/gcc.dg/vmx/3d-01.c: In function
âtest_vec_all_neâ:
../trunk/gcc/testsuite/gcc.dg/vmx/3d-01.c:71:3: error: Builtin function
__builtin_vec_vcmpne_p not supported in this compiler configuration
../trunk/gcc/testsuite/gcc.dg/vmx/3d-01.c: In function âtest_vec_any_eqâ:
../trunk/gcc/testsuite/gcc.dg/vmx/3d-01.c:78:3: error: Builtin function
__builtin_vec_vcmpne_p not supported in this compiler configuration
../trunk/gcc/testsuite/gcc.dg/vmx/3d-01.c: In function âtest_not_vec_all_neâ:
../trunk/gcc/testsuite/gcc.dg/vmx/3d-01.c:155:3: error: Builtin function
__builtin_vec_vcmpne_p not supported in this compiler configuration
../trunk/gcc/testsuite/gcc.dg/vmx/3d-01.c: In function âtest_not_vec_any_eqâ:
../trunk/gcc/testsuite/gcc.dg/vmx/3d-01.c:162:3: error: Builtin function
__builtin_vec_vcmpne_p not supported in this compiler configuration

This change makes the error go away but it may be removing other things that do
work properly:

Index: ../trunk/gcc/config/rs6000/altivec.h
===================================================================
--- ../trunk/gcc/config/rs6000/altivec.h        (revision 245169)
+++ ../trunk/gcc/config/rs6000/altivec.h        (working copy)
@@ -589,12 +589,9 @@
 #ifdef _ARCH_PWR9
 #define vec_all_nez(a1, a2) __builtin_vec_vcmpnez_p (__CR6_LT, (a1), (a2))
 #define vec_any_eqz(a1, a2) __builtin_vec_vcmpnez_p (__CR6_LT_REV, (a1), (a2))
-#define vec_all_ne(a1, a2) __builtin_vec_vcmpne_p (__CR6_LT, (a1), (a2))
-#define vec_any_eq(a1, a2) __builtin_vec_vcmpne_p (__CR6_LT_REV, (a1), (a2))
-#else
+#endif
 #define vec_all_ne(a1, a2) __builtin_vec_vcmpeq_p (__CR6_EQ, (a1), (a2))
 #define vec_any_eq(a1, a2) __builtin_vec_vcmpeq_p (__CR6_EQ_REV, (a1), (a2))
-#endif

 #define vec_any_ne(a1, a2) __builtin_vec_vcmpeq_p (__CR6_LT_REV, (a1), (a2))


More information about the Gcc-bugs mailing list