https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78056
--- Comment #14 from Segher Boessenkool <segher at gcc dot gnu.org> --- I used the following patch yesterday, and it works. Totally hacky of course, it should be factored to its own function, etc. === diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 654206f..667c169 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -17509,6 +17509,8 @@ altivec_init_builtins (void) def_builtin (d->name, void_ftype_pcvoid_int_int, d->code); /* Initialize the predicates. */ +if (TARGET_P9_VECTOR) +{ d = bdesc_altivec_preds; for (i = 0; i < ARRAY_SIZE (bdesc_altivec_preds); i++, d++) { @@ -17549,6 +17551,7 @@ altivec_init_builtins (void) def_builtin (d->name, type, d->code); } +} /* Initialize the abs* operators. */ d = bdesc_abs; ===