https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119629
Peter Bergner <bergner at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Ever confirmed|0 |1
Last reconfirmed| |2025-04-09
Status|UNCONFIRMED |NEW
--- Comment #8 from Peter Bergner <bergner at gcc dot gnu.org> ---
(In reply to Peter Bergner from comment #7)
> diff --git a/gcc/config/rs6000/rs6000-builtins.def
> b/gcc/config/rs6000/rs6000-builtins.def
> index 555d7d58950..56b3a544b7d 100644
> --- a/gcc/config/rs6000/rs6000-builtins.def
> +++ b/gcc/config/rs6000/rs6000-builtins.def
> @@ -2650,7 +2650,7 @@
> STXVL stxvl {}
>
> const signed int __builtin_scalar_byte_in_set (signed int, signed long
> long);
> - CMPEQB cmpeqb {}
> + CMPEQB cmpeqb {no32bit}
>
> pure vsc __builtin_vsx_lxvl (const void *, signed long);
> LXVL lxvl {}
Doing a cross build to powerpc-elf, I see the ICE without the patch and no ICE
with this patch. That said, the byte-in-set-2.c test case still fails, but
that is because with the patch, the error message is different than before. If
we compile with -m32 -mno-powerpc64, we get the error message the test case
expects:
error: ‘__builtin_scalar_byte_in_set’ requires the ‘-mcpu=power9’ option and
either the ‘-m64’ or ‘-mpowerpc64’ option
but for -m32 -mpowerpc64, we see:
error: ‘__builtin_scalar_byte_in_set’ is not supported in 32-bit mode
Both messages seem valid, so I think we can probably modify the test case to
look for both error messages.