blob: 7e3737d96359f6f97091ea2b75910a781839bf2f [file] [log] [blame]
/* { dg-do run } */
/* { dg-options "-msave-restore -fomit-frame-pointer" } */
#include <stdlib.h>
__attribute__((noinline)) int g(void) { return 42; }
__attribute__((noinline)) int f(void) {
asm volatile ("li s0, 0x87654321" ::: "s0");
return g();
}
int main(void) {
asm volatile ("li s0, 0x12345678" ::: "s0");
f();
long s0;
asm volatile ("mv %0, s0" : "=r"(s0));
if (s0 == 0x12345678)
exit (0);
else
abort();
}