1 /* Wrong method to get number of arg reg will cause argument corruption. */
3 /* { dg-skip-if "incompatible options" { ! { arm_thumb1_ok || arm_thumb2_ok } } { "*" } { "" } } */
4 /* { dg-require-effective-target arm_eabi } */
5 /* { dg-options "-mthumb -O1" } */
7 extern void abort (void);
9 int foo (int, int, int, int) __attribute__((noinline
));
12 foo (int a
, int b
, int c
, int d
)
14 register int m
asm ("r8");
21 asm ("" : "=r" (m
) : "0" (m
));
35 sum
= foo (a
, b
, c
, d
);