| /* { dg-do compile } */ | |
| /* { dg-require-effective-target arm_dsp } */ | |
| /* { dg-options "-O1 -fexpensive-optimizations" } */ | |
| int mac(const int *a, const int *b, long long sqr, long long *sum) | |
| { | |
| int i; | |
| long long dotp = *sum; | |
| for (i = 0; i < 150; i++) { | |
| dotp += (long long) b[i] * a[i]; | |
| sqr += (long long) b[i] * b[i]; | |
| } | |
| *sum = dotp; | |
| return sqr; | |
| } | |
| /* { dg-final { scan-assembler-times "smlal" 2 } } */ |