1/* { dg-do compile } */ 2/* { dg-options "-O2" } */ 3/* { dg-require-effective-target ia32 } */ 4 5long long mac(const int *a, const int *b, long long sqr, long long *sum) 6{ 7 int i; 8 long long dotp = *sum; 9 10 for (i = 0; i < 150; i++) { 11 dotp += (long long)b[i] * a[i]; 12 sqr += (long long)b[i] * b[i]; 13 } 14 15 *sum = dotp; 16 return sqr; 17} 18 19/* { dg-final { scan-assembler-times "imull" 2 } } */ 20