/* PR tree-optimization/65533 */ | |
/* { dg-do compile } */ | |
/* { dg-options "-Ofast -w" } */ | |
struct A { int a[2]; }; | |
struct B { double b[2]; }; | |
struct C { double c[4][1]; }; | |
static inline void | |
bar (struct B *x, double y, double z) | |
{ | |
x->b[0] = y; | |
x->b[1] = z; | |
} | |
void baz (struct B *); | |
void | |
foo (struct C *x, struct A *y) | |
{ | |
struct B d; | |
bar (&d, x->c[1][0] * y->a[0] + x->c[0][1] * y->a[1] + x->c[0][0] * x->c[0][1], | |
x->c[0][0] * y->a[0] + x->c[0][1] * y->a[1] + x->c[0][1] * y->a[0] + x->c[0][0]); | |
baz (&d); | |
} |