25 lines
603 B
C
25 lines
603 B
C
/* Test inline ASM clobber for SP register */
|
|
|
|
/* { dg-do compile } */
|
|
/* { dg-options "-O1" } */
|
|
|
|
/* -O1 in the options is significant. */
|
|
|
|
extern void abort (void);
|
|
|
|
int
|
|
test1 (void)
|
|
{
|
|
int res;
|
|
|
|
/* { dg-warning "listing the stack pointer register 'sp' in a clobber list is deprecated" "" { target pru-*-* } .+2 } */
|
|
/* { dg-message "note: the value of the stack pointer after an 'asm' statement must be the same as it was before the statement" "" { target pru-*-* } .+1 } */
|
|
asm volatile(
|
|
"ldi %[res], 101 \n\t"
|
|
: [res] "=r" (res)
|
|
:
|
|
: "sp");
|
|
|
|
return res;
|
|
}
|