1 /* { dg-require-effective-target int32plus } */ 2 struct X { 3 char fill0[800000]; 4 int a; 5 char fill1[900000]; 6 int b; 7 }; 8 9 int __attribute__((noinline,noclone)) Avg(struct X * p,int s)10Avg(struct X *p, int s) 11 { 12 return (s * (long long)(p->a + p->b)) >> 17; 13 } 14 15 struct X x; 16 main()17int main() 18 { 19 x.a = 1 << 17; 20 x.b = 2 << 17; 21 if (Avg(&x, 1) != 3) 22 __builtin_abort(); 23 return 0; 24 } 25 26