diff options
Diffstat (limited to 'gcc/config/m68k/m68k.h')
-rw-r--r-- | gcc/config/m68k/m68k.h | 162 |
1 files changed, 0 insertions, 162 deletions
diff --git a/gcc/config/m68k/m68k.h b/gcc/config/m68k/m68k.h index b0e0e25..65a34ee 100644 --- a/gcc/config/m68k/m68k.h +++ b/gcc/config/m68k/m68k.h @@ -1092,168 +1092,6 @@ extern enum reg_class regno_reg_class[]; #define FUNCTION_PROFILER(FILE, LABELNO) \ asm_fprintf (FILE, "\tlea %LLP%d,%Ra0\n\tjsr mcount\n", (LABELNO)) -/* Output assembler code to FILE to initialize this source file's - basic block profiling info, if that has not already been done. */ - -#define FUNCTION_BLOCK_PROFILER(FILE, BLOCK_OR_LABEL) \ -do \ - { \ - switch (profile_block_flag) \ - { \ - case 2: \ - asm_fprintf (FILE, "\tpea %d\n\tpea %LLPBX0\n\tjsr %U__bb_init_trace_func\n\taddql %I8,%Rsp\n", \ - (BLOCK_OR_LABEL)); \ - break; \ - \ - default: \ - asm_fprintf (FILE, "\ttstl %LLPBX0\n\tbne %LLPI%d\n\tpea %LLPBX0\n\tjsr %U__bb_init_func\n\taddql %I4,%Rsp\n%LLPI%d:\n", \ - (BLOCK_OR_LABEL), (BLOCK_OR_LABEL)); \ - break; \ - } \ - } \ -while(0) - -/* Output assembler code to FILE to increment the counter for - the BLOCKNO'th basic block in this source file. */ - -#define BLOCK_PROFILER(FILE, BLOCKNO) \ -do \ - { \ - switch (profile_block_flag) \ - { \ - case 2: \ - asm_fprintf (FILE, "\tmovel %Ra1,%Rsp@-\n\tlea ___bb,%Ra1\n\tmovel %I%d,%Ra1@(0)\n\tmovel %I%LLPBX0,%Ra1@(4)\n\tmovel %Rsp@+,%Ra1\n\tjsr %U__bb_trace_func\n", \ - BLOCKNO); \ - break; \ - \ - default: \ - asm_fprintf (FILE, "\taddql %I1,%LLPBX2+%d\n", 4 * BLOCKNO); \ - break; \ - } \ - } \ -while(0) - -/* Output assembler code to FILE to indicate return from - a function during basic block profiling. */ - -#define FUNCTION_BLOCK_PROFILER_EXIT(FILE) \ - asm_fprintf (FILE, "\tjsr %U__bb_trace_ret\n"); - -/* Save all registers which may be clobbered by a function call. - MACHINE_STATE_SAVE and MACHINE_STATE_RESTORE are target-code macros, - used in libgcc2.c. They may not refer to TARGET_* macros !!! */ -#if defined (__mc68010__) || defined(mc68010) \ - || defined(__mc68020__) || defined(mc68020) \ - || defined(__mc68030__) || defined(mc68030) \ - || defined(__mc68040__) || defined(mc68040) \ - || defined(__mcpu32__) || defined(mcpu32) -#define MACHINE_STATE_m68010_up -#endif - -#ifdef MOTOROLA -#if defined(__mcf5200__) -#define MACHINE_STATE_SAVE(id) \ - { \ - asm ("sub.l 20,%sp"); \ - asm ("movm.l &0x0303,4(%sp)"); \ - asm ("move.w %ccr,%d0"); \ - asm ("movm.l &0x0001,(%sp)"); \ - } -#else /* !__mcf5200__ */ -#if defined(MACHINE_STATE_m68010_up) -#ifdef __HPUX_ASM__ -/* HPUX assembler does not accept %ccr. */ -#define MACHINE_STATE_SAVE(id) \ - { \ - asm ("move.w %cc,-(%sp)"); \ - asm ("movm.l &0xc0c0,-(%sp)"); \ - } -#else /* ! __HPUX_ASM__ */ -#define MACHINE_STATE_SAVE(id) \ - { \ - asm ("move.w %ccr,-(%sp)"); \ - asm ("movm.l &0xc0c0,-(%sp)"); \ - } -#endif /* __HPUX_ASM__ */ -#else /* !MACHINE_STATE_m68010_up */ -#define MACHINE_STATE_SAVE(id) \ - { \ - asm ("move.w %sr,-(%sp)"); \ - asm ("movm.l &0xc0c0,-(%sp)"); \ - } -#endif /* MACHINE_STATE_m68010_up */ -#endif /* __mcf5200__ */ -#else /* !MOTOROLA */ -#if defined(__mcf5200__) -#define MACHINE_STATE_SAVE(id) \ - { \ - asm ("subl %#20,%/sp" : ); \ - asm ("movml %/d0/%/d1/%/a0/%/a1,%/sp@(4)" : ); \ - asm ("movew %/cc,%/d0" : ); \ - asm ("movml %/d0,%/sp@" : ); \ - } -#else /* !__mcf5200__ */ -#if defined(MACHINE_STATE_m68010_up) -#define MACHINE_STATE_SAVE(id) \ - { \ - asm ("movew %/cc,%/sp@-" : ); \ - asm ("moveml %/d0/%/d1/%/a0/%/a1,%/sp@-" : ); \ - } -#else /* !MACHINE_STATE_m68010_up */ -#define MACHINE_STATE_SAVE(id) \ - { \ - asm ("movew %/sr,%/sp@-" : ); \ - asm ("moveml %/d0/%/d1/%/a0/%/a1,%/sp@-" : ); \ - } -#endif /* MACHINE_STATE_m68010_up */ -#endif /* __mcf5200__ */ -#endif /* MOTOROLA */ - -/* Restore all registers saved by MACHINE_STATE_SAVE. */ - -#ifdef MOTOROLA -#if defined(__mcf5200__) -#define MACHINE_STATE_RESTORE(id) \ - { \ - asm ("movm.l (%sp),&0x0001"); \ - asm ("move.w %d0,%ccr"); \ - asm ("movm.l 4(%sp),&0x0303"); \ - asm ("add.l 20,%sp"); \ - } -#else /* !__mcf5200__ */ -#ifdef __HPUX_ASM__ -/* HPUX assembler does not accept %ccr. */ -#define MACHINE_STATE_RESTORE(id) \ - { \ - asm ("movm.l (%sp)+,&0x0303"); \ - asm ("move.w (%sp)+,%cc"); \ - } -#else /* ! __HPUX_ASM__ */ -#define MACHINE_STATE_RESTORE(id) \ - { \ - asm ("movm.l (%sp)+,&0x0303"); \ - asm ("move.w (%sp)+,%ccr"); \ - } -#endif /* __HPUX_ASM__ */ -#endif /* __mcf5200__ */ -#else /* !MOTOROLA */ -#if defined(__mcf5200__) -#define MACHINE_STATE_RESTORE(id) \ - { \ - asm ("movml %/sp@,%/d0" : ); \ - asm ("movew %/d0,%/cc" : ); \ - asm ("movml %/sp@(4),%/d0/%/d1/%/a0/%/a1" : ); \ - asm ("addl %#20,%/sp" : ); \ - } -#else /* !__mcf5200__ */ -#define MACHINE_STATE_RESTORE(id) \ - { \ - asm ("moveml %/sp@+,%/d0/%/d1/%/a0/%/a1" : ); \ - asm ("movew %/sp@+,%/cc" : ); \ - } -#endif /* __mcf5200__ */ -#endif /* MOTOROLA */ - /* EXIT_IGNORE_STACK should be nonzero if, when returning from a function, the stack pointer does not matter. The value is tested only in functions that have frame pointers. |