From: Richard Kenner Date: Wed, 31 Jan 1996 12:09:20 +0000 (-0500) Subject: (MACHINE_STATE_{SAVE,RESTORE}): Allow MOTOROLA syntax. X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ad92f7940c5fbbd8a0b021856e1fbde37eb9bc7a;p=platform%2Fupstream%2Fgcc.git (MACHINE_STATE_{SAVE,RESTORE}): Allow MOTOROLA syntax. From-SVN: r11126 --- diff --git a/gcc/config/m68k/m68k.h b/gcc/config/m68k/m68k.h index c8280f6..60f3063 100644 --- a/gcc/config/m68k/m68k.h +++ b/gcc/config/m68k/m68k.h @@ -1,5 +1,5 @@ /* Definitions of target machine for GNU compiler. Sun 68000/68020 version. - Copyright (C) 1987, 1988, 1993, 1994, 1995 Free Software Foundation, Inc. + Copyright (C) 1987, 88, 93, 94, 95, 1996 Free Software Foundation, Inc. This file is part of GNU CC. @@ -926,15 +926,27 @@ while(0) /* Save all registers which may be clobbered by a function call. */ -#define MACHINE_STATE_SAVE(id) \ - asm (" movew cc,sp@-"); \ - asm (" moveml d0/d1/a0/a1,sp@-"); +#ifdef MOTOROLA +#define MACHINE_STATE_SAVE(id) \ + asm ("move.w %ccr,-(%sp)"); \ + asm ("movm.l &0xc0c0,-(%sp)"); +#else +#define MACHINE_STATE_SAVE(id) \ + asm ("movew cc,sp@-"); \ + asm ("moveml d0/d1/a0/a1,sp@-"); +#endif /* Restore all registers saved by MACHINE_STATE_SAVE. */ -#define MACHINE_STATE_RESTORE(id) \ - asm (" moveml sp@+,d0/d1/a0/a1"); \ - asm (" movew sp@+,cc"); +#ifdef MOTOROLA +#define MACHINE_STATE_RESTORE(id) \ + asm ("movm.l (%sp)+,&0x0303"); \ + asm ("move.w (%sp)+,%ccr"); +#else +#define MACHINE_STATE_RESTORE(id) \ + asm ("moveml sp@+,d0/d1/a0/a1"); \ + asm ("movew sp@+,cc"); +#endif /* EXIT_IGNORE_STACK should be nonzero if, when returning from a function, the stack pointer does not matter. The value is tested only in