/* PR tree-optimization/36504 */ | |
/* { dg-do compile } */ | |
/* { dg-options "-O3 -fprefetch-loop-arrays -w" } */ | |
/* { dg-additional-options "-march=i686 -msse" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ | |
struct A { struct { int a; } b[8]; }; | |
struct B { int c; int d; }; | |
struct C { struct B d; }; | |
void bar (struct C *, int); | |
struct B | |
foo (struct C *p, struct A *e, int b) | |
{ | |
struct B q; | |
bar (p, e->b[b].a); | |
return q; | |
} | |
void | |
baz (int b, struct A *e) | |
{ | |
struct C p; | |
for (; b; ++b) | |
p.d = foo (&p, e, b); | |
} |