https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108583
--- Comment #9 from rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org>
---
Are we sure this is a vectoriser vs. C vectors thing?
The equivalent vectoriser test:
void __attribute__((noipa))
f (unsigned *v)
{
for (int i = 0; i < 4; ++i)
v[i] /= 0xffff;
}
int
main (void)
{
unsigned v[] = { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff };
f (v);
for (unsigned i = 0; i < sizeof (v) / sizeof (v[0]); i++)
if (v[i] != 0x00010001)
__builtin_abort ();
return 0;
}
fails in the same way for me (compiled at -O3).