https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79341
--- Comment #37 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
The overflow-vec-1.c and vec-2.c on -m64 fail also on ppc64{,le}.
Minimum failing testcase is:
#define SCHAR_MAX __SCHAR_MAX__
#define SCHAR_MIN (-__SCHAR_MAX__ - 1)
typedef signed char VC __attribute__((vector_size (16)));
void __attribute__((noinline,noclone))
checkvc (VC i, VC j)
{
if (__builtin_memcmp (&i, &j, sizeof (VC)))
__builtin_abort ();
}
int
main (void)
{
/* Check that for a vector operation, only the first element with UB is
reported. */
volatile VC a = (VC) { 0, SCHAR_MAX - 2, SCHAR_MAX - 2, 3, 2, 3, 4, 5, 0, 7,
1, 2, 3, 4, SCHAR_MAX - 13, SCHAR_MAX };
volatile VC b = (VC) { 5, 2, 1, 5, 0, 1, 2, 7, 8, 9,
10, 11, 6, -2, 13, 0 };
volatile VC k = b + a;
checkvc (k, (VC) { 5, SCHAR_MAX, SCHAR_MAX - 1, 8, 2, 4, 6, 12, 8,
16, 11, 13, 9, 2, SCHAR_MAX, SCHAR_MAX });
return 0;
}
Looking into that now.