https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81193
--- Comment #13 from Michael Meissner <meissner at gcc dot gnu.org> --- Author: meissner Date: Wed Jul 12 23:07:50 2017 New Revision: 250165 URL: https://gcc.gnu.org/viewcvs?rev=250165&root=gcc&view=rev Log: [gcc] 2017-07-12 Michael Meissner <meiss...@linux.vnet.ibm.com> PR target/81193 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): If GLIBC provides the hardware capability bits, define the macro __BUILTIN_CPU_SUPPORTS__. * config/rs6000/rs6000.c (cpu_expand_builtin): Generate a warning if GLIBC does not provide the hardware capability bits. Add a gcc_unreachable call if the built-in cpu function is neither __builtin_cpu_is nor __builtin_cpu_supports. (rs6000_get_function_versions_dispatcher): Change the warning that an old GLIBC is used which does not export the capability bits to be an error. * doc/extend.texi (target_clones attribute): Document the restriction that GLIBC 2.23 or newer is needed on the PowerPC. (PowerPC built-in functions): Document that GLIBC 2.23 or newer is needed by __builtin_cpu_is and __builtin_cpu_supports. Document the macros defined by GCC if the newer GLIBC is available. [gcc/testsuite] 2017-07-12 Michael Meissner <meiss...@linux.vnet.ibm.com> PR target/81193 * gcc.target/powerpc/bmi-andn-1.c: Add guard against using __builtin_cpu_supports with old GLIBC's. * gcc.target/powerpc/bmi-andn-2.c: Likewise. * gcc.target/powerpc/bmi-bextr-1.c: Likewise. * gcc.target/powerpc/bmi-bextr-2.c: Likewise. * gcc.target/powerpc/bmi-bextr-4.c: Likewise. * gcc.target/powerpc/bmi-bextr-5.c: Likewise. * gcc.target/powerpc/bmi-blsi-1.c: Likewise. * gcc.target/powerpc/bmi-blsi-2.c: Likewise. * gcc.target/powerpc/bmi-blsmsk-1.c: Likewise. * gcc.target/powerpc/bmi-blsmsk-2.c: Likewise. * gcc.target/powerpc/bmi-blsr-1.c: Likewise. * gcc.target/powerpc/bmi-blsr-2.c: Likewise. * gcc.target/powerpc/bmi-tzcnt-1.c: Likewise. * gcc.target/powerpc/bmi-tzcnt-2.c: Likewise. * gcc.target/powerpc/bmi2-bzhi32-1.c: Likewise. * gcc.target/powerpc/bmi2-bzhi64-1.c: Likewise. * gcc.target/powerpc/bmi2-mulx32-1.c: Likewise. * gcc.target/powerpc/bmi2-mulx32-2.c: Likewise. * gcc.target/powerpc/bmi2-mulx64-1.c: Likewise. * gcc.target/powerpc/bmi2-mulx64-2.c: Likewise. * gcc.target/powerpc/bmi2-pdep32-1.c: Likewise. * gcc.target/powerpc/bmi2-pdep64-1.c: Likewise. * gcc.target/powerpc/bmi2-pext32-1.c: Likewise. * gcc.target/powerpc/bmi2-pext64-1.c: Likewise. * gcc.target/powerpc/cpu-builtin-1.c: Likewise. [libgcc] 2017-07-12 Michael Meissner <meiss...@linux.vnet.ibm.com> PR target/81193 * configure.ac (PowerPC float128 hardware support): Test whether we can use __builtin_cpu_supports before enabling the ifunc handler. * configure: Regenerate. Modified: trunk/gcc/ChangeLog trunk/gcc/config/rs6000/rs6000-c.c trunk/gcc/config/rs6000/rs6000.c trunk/gcc/doc/extend.texi trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.target/powerpc/bmi-andn-1.c trunk/gcc/testsuite/gcc.target/powerpc/bmi-andn-2.c trunk/gcc/testsuite/gcc.target/powerpc/bmi-bextr-1.c trunk/gcc/testsuite/gcc.target/powerpc/bmi-bextr-2.c trunk/gcc/testsuite/gcc.target/powerpc/bmi-bextr-4.c trunk/gcc/testsuite/gcc.target/powerpc/bmi-bextr-5.c trunk/gcc/testsuite/gcc.target/powerpc/bmi-blsi-1.c trunk/gcc/testsuite/gcc.target/powerpc/bmi-blsi-2.c trunk/gcc/testsuite/gcc.target/powerpc/bmi-blsmsk-1.c trunk/gcc/testsuite/gcc.target/powerpc/bmi-blsmsk-2.c trunk/gcc/testsuite/gcc.target/powerpc/bmi-blsr-1.c trunk/gcc/testsuite/gcc.target/powerpc/bmi-blsr-2.c trunk/gcc/testsuite/gcc.target/powerpc/bmi-tzcnt-1.c trunk/gcc/testsuite/gcc.target/powerpc/bmi-tzcnt-2.c trunk/gcc/testsuite/gcc.target/powerpc/bmi2-bzhi32-1.c trunk/gcc/testsuite/gcc.target/powerpc/bmi2-bzhi64-1.c trunk/gcc/testsuite/gcc.target/powerpc/bmi2-mulx32-1.c trunk/gcc/testsuite/gcc.target/powerpc/bmi2-mulx32-2.c trunk/gcc/testsuite/gcc.target/powerpc/bmi2-mulx64-1.c trunk/gcc/testsuite/gcc.target/powerpc/bmi2-mulx64-2.c trunk/gcc/testsuite/gcc.target/powerpc/bmi2-pdep32-1.c trunk/gcc/testsuite/gcc.target/powerpc/bmi2-pdep64-1.c trunk/gcc/testsuite/gcc.target/powerpc/bmi2-pext32-1.c trunk/gcc/testsuite/gcc.target/powerpc/bmi2-pext64-1.c trunk/gcc/testsuite/gcc.target/powerpc/cpu-builtin-1.c trunk/libgcc/ChangeLog trunk/libgcc/configure trunk/libgcc/configure.ac