blob: b5f8e6c2bbef41a230b4dc105ba97eee8a9a6ad1 [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-O2 -march=rv64gc -mabi=lp64d -fno-schedule-insns -fno-schedule-insns2" } */
/* { dg-skip-if "" { *-*-* } { "-flto -fno-fat-lto-objects" } } */
/* Make sure no stack offset are misaligned.
** interrupt:
** ...
** sd\tt0,40\(sp\)
** frcsr\tt0
** sw\tt0,32\(sp\)
** sd\tt1,24\(sp\)
** fsd\tft0,8\(sp\)
** ...
** lw\tt0,32\(sp\)
** fscsr\tt0
** ld\tt0,40\(sp\)
** ld\tt1,24\(sp\)
** fld\tft0,8\(sp\)
** ...
*/
void interrupt(void) __attribute__((interrupt));
void interrupt(void)
{
asm volatile ("# clobber!":::"t0", "t1", "ft0");
}
/* { dg-final { check-function-bodies "**" "" } } */