26 lines
738 B
C
26 lines
738 B
C
/* { dg-do compile } */
|
|
/* { dg-options "-O3 -g -finline-limit=100" } */
|
|
|
|
#define WORK(x, y) __asm__ ("" : "=r" (x) : "0" (x)); y += x + 26
|
|
#define SOME_WORK(x, y) WORK(x, y); WORK(x, y); WORK(x, y); WORK(x, y)
|
|
#define MORE_WORK(x, y) SOME_WORK(x, y); SOME_WORK(x, y); SOME_WORK(x, y)
|
|
#define EVEN_MORE_WORK(x, y) MORE_WORK(x, y); MORE_WORK(x, y); MORE_WORK(x, y)
|
|
#define LOTS_OF_WORK(x, y) EVEN_MORE_WORK(x, y); EVEN_MORE_WORK(x, y)
|
|
|
|
static int __attribute__((unused)) foo (int x)
|
|
{
|
|
inline int bar (int x)
|
|
{
|
|
int y;
|
|
y = x;
|
|
LOTS_OF_WORK(x, y);
|
|
LOTS_OF_WORK(x, y);
|
|
LOTS_OF_WORK(x, y);
|
|
LOTS_OF_WORK(x, y);
|
|
LOTS_OF_WORK(x, y);
|
|
LOTS_OF_WORK(x, y);
|
|
return y;
|
|
}
|
|
return bar(x);
|
|
}
|