https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89317
--- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Andrew Pinski from comment #5) > Reduced testcase for that issue: > struct { int data[16]; } *x; > int foo (int n1) > { > int *a = x->data; > int *b = ((int*)x) + 4; > return b - a; > } Better one: struct b { int data[16]; }; int foo (struct b *x) { int *a = x->data; int *b = ((int*)x) + 4; return b - a; }