blob: 8134f0cfe352460675353ac474f7c73f011b135b [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-O2" } */
/* Just create some dummy call that should trigger sibcall, no
stack logic. */
int calc (int a, int b, int c) {
if (c <= 0) return a;
return calc (a * b, b, --c);
}
int main() {
return calc (4, 3, 4);
}
/* Ensure sibcalls do not need to manipulate the stack. */
/* { dg-final { scan-assembler-not "r1," } } */
/* Ensure sibcall maintains the body of the function. */
/* { dg-final { scan-assembler "l.mul" } } */