1 /* { dg-do compile { target { arm_thumb2_ok } } } */
2 /* { dg-options "-O2 -fdump-rtl-loop2_invariant " } */
4 int t1
, t2
, t3
, t4
, t5
, t6
, t7
, t8
, t9
, t10
;
5 extern void foo2 (int *, int *, int *, int *, int *, int *);
6 extern int foo3 (int, int, int, int, int, int);
7 int foo (int a
, int b
, int c
, int d
)
14 foo2 (&t1
, &t2
, &t3
, &t4
, &t5
, &t6
);
15 foo2 (&t1
, &t2
, &t3
, &t4
, &t5
, &t6
);
17 foo2 (&t7
, &t2
, &t8
, &t4
, &t5
, &t6
);
18 foo2 (&t1
, &t2
, &t3
, &t4
, &t5
, &t6
);
20 foo2 (&t1
, &t9
, &t10
, &t4
, &t5
, &t6
);
24 return foo3 (t1
, t2
, t3
, t4
, t5
, t6
);
27 /* { dg-final { scan-rtl-dump "Decided to move invariant 0" "loop2_invariant" } } */