1 /* { dg-do compile } */
2 /* { dg-skip-if "" { arm_thumb1 } { "*" } { "" } } */
3 /* { dg-options "-O2" } */
4 
5 
6 int
foo(int * p,int * q)7 foo (int *p, int *q)
8 {
9   int i;
10   int accum = 0;
11 
12   for (i = 0 ; i < 1024; i++)
13     {
14       accum += ((*p--) * (*q++));
15       accum += 4096;
16       accum >>= 13 ;
17     }
18 
19   return accum;
20 }
21 
22 /* { dg-final { scan-assembler "mla\\t" } } */
23