/* { dg-do compile } */ | |
typedef struct { | |
short a; | |
short b; | |
} c; | |
c *d; | |
int e, f, i, j, k, l, m, n, o, p; | |
c g, h; | |
void q() { | |
do { | |
if (o) { | |
(*d).a = (*d).b = d[e].a = d[e].a * 3 + 1 >> 15; | |
d[e].b = d[e].b * 3 + 1 >> 15; | |
} | |
n = -(d[e].b * g.b) >> 5; | |
m = d[e].b * g.a + 1 >> 5; | |
l = d[f].a * -d[f].b * h.b + 1 >> 5; | |
k = d[f].a * h.b + d[f].b * h.a + 1 >> 5; | |
j = n + l; | |
i = m - k; | |
(*d).a += j; | |
d[e].a -= i; | |
++d; | |
} while (--p); | |
} |