#include "m68k/m68k.h"

Go to the source code of this file.
Data Types | |
| type | sysV68_cumulative_args |
Defines | |
| #define | MOTOROLA |
| #define | MOTOROLA_BSR |
| #define | SGS |
| #define | SGS_CMP_ORDER |
| #define | SGS_SWAP_W |
| #define | NO_DOLLAR_IN_LABEL |
| #define | NO_DOT_IN_LABEL |
| #define | STABS_GCC_MARKER "gcc2_compiled%" |
| #define | TARGET_DEFAULT (MASK_68040|MASK_BITFIELD|MASK_68881|MASK_68020) |
| #define | ASM_SPEC "%{m68000:-p 000}%{mc68000:-p 000}" |
| #define | LIB_SPEC "%{!shlib:%{!msoft-float:-lc881}%{msoft-float:-lc}}" |
| #define | CPP_SPEC "%{!msoft-float:-D__HAVE_68881__}\%{!mc68000:%{!m68000: -D__mc68020__}}" |
| #define | STARTFILE_SPEC "%{!shlib:%{pg:mcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}}\ %{shlib:crt0s.o%s shlib.ifile%s} %{p:-L/usr/lib/libp} %{pg:-L/usr/lib/libp} " |
| #define | TARGET_MEM_FUNCTIONS |
| #define | SIZE_TYPE "unsigned int" |
| #define | ADD_MISSING_POSIX 1 |
| #define | ADD_MISSING_XOPEN 1 |
| #define | STRUCTURE_SIZE_BOUNDARY 16 |
| #define | PCC_BITFIELD_TYPE_MATTERS 1 |
| #define | PARM_BOUNDARY 16 |
| #define | SCCS_DIRECTIVE |
| #define | SDB_DEBUGGING_INFO |
| #define | REGISTER_PREFIX "%" |
| #define | LOCAL_LABEL_PREFIX "L%" |
| #define | IMMEDIATE_PREFIX "&" |
| #define | REGISTER_NAMES |
| #define | FUNCTION_EXTRA_EPILOGUE(FILE, SIZE) |
| #define | FUNCTION_PROFILER(FILE, LABEL_NO) asm_fprintf (FILE, "\tmov.l %I%LLP%d,%Ra0\n\tjsr mcount%%\n", (LABEL_NO)) |
| #define | ASM_OUTPUT_REG_PUSH(FILE, REGNO) fprintf (FILE, "\tmov.l %s,-(%%sp)\n", reg_names[REGNO]) |
| #define | ASM_OUTPUT_REG_POP(FILE, REGNO) fprintf (FILE, "\tmov.l (%%sp)+,%s\n", reg_names[REGNO]) |
| #define | ASM_APP_ON "" |
| #define | ASM_APP_OFF "" |
| #define | TEXT_SECTION_ASM_OP "\ttext" |
| #define | DATA_SECTION_ASM_OP "\tdata" |
| #define | ASCII_DATA_ASM_OP "\tbyte\t" |
| #define | SET_ASM_OP "\tset\t" |
| #define | ASM_FILE_START(FILE) output_file_directive ((FILE), main_input_filename) |
| #define | CPP_PREDEFINES "-Dm68k -Dunix -DsysV68 -D__motorola__ -Asystem=unix -Asystem=svr3 -Acpu=m68k -Amachine=m68k" |
| #define | TARGET_VERSION fprintf (stderr, " (68k, SGS/AT&T sysV68 syntax)"); |
| #define | RETURN_IN_MEMORY(type) |
| #define | DEFAULT_PCC_STRUCT_RETURN 0 |
| #define | FUNCTION_VALUE(VALTYPE, FUNC) |
| #define | LIBCALL_VALUE(MODE) |
| #define | FUNCTION_VALUE_REGNO_P(N) ((N) == 0 || (N) == 8 || (TARGET_68881 && (N) == 16)) |
| #define | NEEDS_UNTYPED_CALL 1 |
| #define | GLOBAL_ASM_OP "\tglobal\t" |
| #define | ASM_FORMAT_PRIVATE_NAME(OUTPUT, NAME, LABELNO) |
| #define | INT_OP_GROUP INT_OP_NO_DOT |
| #define | ALIGN_ASM_OP "\teven" |
| #define | ASM_OUTPUT_ALIGN(FILE, LOG) |
| #define | SKIP_ASM_OP "\tspace\t" |
| #define | ASM_OUTPUT_SKIP(FILE, SIZE) fprintf (FILE, "%s%u\n", SKIP_ASM_OP, (SIZE)) |
| #define | ASM_NO_SKIP_IN_TEXT 1 |
| #define | ASM_OUTPUT_SOURCE_FILENAME(FILE, FILENAME) |
| #define | ASM_OUTPUT_SOURCE_LINE(FILE, LINENO) |
| #define | ASM_OUTPUT_ASCII(FILE, PTR, LEN) |
| #define | ASM_OUTPUT_FLOAT_OPERAND(CODE, FILE, VALUE) |
| #define | ASM_OUTPUT_DOUBLE_OPERAND(FILE, VALUE) |
| #define | ASM_GENERATE_INTERNAL_LABEL(LABEL, PREFIX, NUM) sprintf ((LABEL), "%s%s%ld", LOCAL_LABEL_PREFIX, (PREFIX), (long)(NUM)) |
| #define | ASM_OUTPUT_INTERNAL_LABEL(FILE, PREFIX, NUM) asm_fprintf (FILE, "%L%s%d:\n", PREFIX, NUM) |
| #define | USER_LABEL_PREFIX "" |
| #define | ASM_OUTPUT_ADDR_VEC_ELT(FILE, VALUE) asm_fprintf (FILE, "%s%LL%d\n", integer_asm_op (4, TRUE), (VALUE)) |
| #define | ASM_OUTPUT_ADDR_DIFF_ELT(FILE, BODY, VALUE, REL) |
| #define | ASM_OUTPUT_CASE_LABEL(FILE, PREFIX, NUM, TABLE) |
| #define | SGS_NO_LI |
| #define | ASM_OUTPUT_CASE_FETCH(file, labelno, regname) asm_fprintf (file, "12(%Rpc,%s.", regname) |
| #define | ASM_RETURN_CASE_JUMP |
| #define | ASM_OUTPUT_OPCODE(FILE, PTR) |
| #define | ASM_OUTPUT_COMMON(FILE, NAME, SIZE, ROUNDED) |
| #define | ASM_OUTPUT_LOCAL(FILE, NAME, SIZE, ROUNDED) |
| #define | PUT_SDB_SCL(a) fprintf(asm_out_file, "\tscl\t%d;", (a)) |
| #define | PUT_SDB_INT_VAL(a) fprintf (asm_out_file, "\tval\t%d;", (a)) |
| #define | PUT_SDB_VAL(a) |
| #define | PUT_SDB_DEF(a) |
| #define | PUT_SDB_PLAIN_DEF(a) fprintf(asm_out_file,"\tdef\t~%s;",a) |
| #define | PUT_SDB_ENDEF fputs("\tendef\n", asm_out_file) |
| #define | PUT_SDB_TYPE(a) fprintf(asm_out_file, "\ttype\t0%o;", a) |
| #define | PUT_SDB_SIZE(a) fprintf(asm_out_file, "\tsize\t%d;", a) |
| #define | PUT_SDB_START_DIM fprintf(asm_out_file, "\tdim\t") |
| #define | PUT_SDB_NEXT_DIM(a) fprintf(asm_out_file, "%d,", a) |
| #define | PUT_SDB_LAST_DIM(a) fprintf(asm_out_file, "%d;", a) |
| #define | PUT_SDB_TAG(a) |
| #define | PUT_SDB_BLOCK_START(LINE) |
| #define | PUT_SDB_BLOCK_END(LINE) |
| #define | PUT_SDB_FUNCTION_START(LINE) |
| #define | PUT_SDB_FUNCTION_END(LINE) |
| #define | PUT_SDB_EPILOGUE_END(NAME) |
| #define | SDB_GENERATE_FAKE(BUFFER, NUMBER) sprintf ((BUFFER), "~%dfake", (NUMBER)); |
| #define | DIVSI3_LIBCALL "*ldiv%%" |
| #define | UDIVSI3_LIBCALL "*uldiv%%" |
| #define | MODSI3_LIBCALL "*lrem%%" |
| #define | UMODSI3_LIBCALL "*ulrem%%" |
| #define | MULSI3_LIBCALL "*lmul%%" |
| #define | CUMULATIVE_ARGS struct sysV68_cumulative_args |
| #define | INIT_CUMULATIVE_ARGS(CUM, FNTYPE, LIBNAME, INDIRECT) |
| #define | FUNCTION_ARG_ADVANCE(CUM, MODE, TYPE, NAMED) |
| #define | FUNCTION_ARG(CUM, MODE, TYPE, NAMED) |
| #define | FUNCTION_ARG_PARTIAL_NREGS(CUM, MODE, TYPE, NAMED) |
| #define | FUNCTION_ARG_REGNO_P(N) (TARGET_68020 ? 0 : (N) == 0) |
| #define | ALT_LIBM "-lm881" |
| #define | NEED_ATEXIT 1 |
| #define | EXIT_BODY |
| #define | FINALIZE_TRAMPOLINE(TRAMP) |
| #define ALT_LIBM "-lm881" |
| #define ASM_FILE_START | ( | FILE | ) | output_file_directive ((FILE), main_input_filename) |
| #define ASM_FORMAT_PRIVATE_NAME | ( | OUTPUT, | |||
| NAME, | |||||
| LABELNO | ) |
Value:
asm_fprintf (FILE, "\t%s %LL%d-%LL%d\n", \ integer_asm_op (2, TRUE), (VALUE), (REL))
| #define ASM_OUTPUT_ALIGN | ( | FILE, | |||
| LOG | ) |
Value:
do { register size_t sp = 0, lp = 0, limit = (LEN); \ fputs (integer_asm_op (1, TRUE), (FILE)); \ loop: \ if ((PTR)[sp] > ' ' && ! ((PTR)[sp] & 0x80) && (PTR)[sp] != '\\') \ { lp += 3; \ fprintf ((FILE), "'%c", (PTR)[sp]); } \ else \ { lp += 5; \ fprintf ((FILE), "0x%x", (PTR)[sp]); } \ if (++sp < limit) \ { if (lp > 60) \ { lp = 0; \ fprintf ((FILE), "\n%s", ASCII_DATA_ASM_OP); } \ else \ putc (',', (FILE)); \ goto loop; } \ putc ('\n', (FILE)); } while (0)
| #define ASM_OUTPUT_CASE_LABEL | ( | FILE, | |||
| PREFIX, | |||||
| NUM, | |||||
| TABLE | ) |
| #define ASM_OUTPUT_COMMON | ( | FILE, | |||
| NAME, | |||||
| SIZE, | |||||
| ROUNDED | ) |
| #define ASM_OUTPUT_LOCAL | ( | FILE, | |||
| NAME, | |||||
| SIZE, | |||||
| ROUNDED | ) |
| #define ASM_OUTPUT_SOURCE_FILENAME | ( | FILE, | |||
| FILENAME | ) |
| #define ASM_OUTPUT_SOURCE_LINE | ( | FILE, | |||
| LINENO | ) |
| #define ASM_RETURN_CASE_JUMP |
Value:
do { \ if (TARGET_5200) \ { \ if (ADDRESS_REG_P (operands[0])) \ return "jmp 8(%%pc,%0.l)"; \ else \ return "ext%.l %0\n\tjmp 8(%%pc,%0.l)"; \ } \ else \ return "jmp 8(%%pc,%0.w)"; \ } while (0)
| #define CPP_PREDEFINES "-Dm68k -Dunix -DsysV68 -D__motorola__ -Asystem=unix -Asystem=svr3 -Acpu=m68k -Amachine=m68k" |
| #define CPP_SPEC "%{!msoft-float:-D__HAVE_68881__}\%{!mc68000:%{!m68000: -D__mc68020__}}" |
| #define EXIT_BODY |
| #define FINALIZE_TRAMPOLINE | ( | TRAMP | ) |
Value:
if (!TARGET_68040) \ ; \ else \ emit_library_call (gen_rtx_SYMBOL_REF (Pmode, "__clear_insn_cache"), \ 0, VOIDmode, 0)
| #define FUNCTION_ARG | ( | CUM, | |||
| MODE, | |||||
| TYPE, | |||||
| NAMED | ) |
Value:
(((CUM).libcall && (CUM).offset == 0) ? gen_rtx_REG ((MODE), 0)\ : (TARGET_REGPARM && (CUM).offset < 8) ? gen_rtx_REG ((MODE), (CUM).offset / 4) : 0)
| #define FUNCTION_ARG_ADVANCE | ( | CUM, | |||
| MODE, | |||||
| TYPE, | |||||
| NAMED | ) |
Value:
((CUM).offset += ((MODE) != BLKmode \ ? (GET_MODE_SIZE (MODE) + 3) & ~3 \ : (int_size_in_bytes (TYPE) + 3) & ~3))
| #define FUNCTION_ARG_PARTIAL_NREGS | ( | CUM, | |||
| MODE, | |||||
| TYPE, | |||||
| NAMED | ) |
Value:
((TARGET_REGPARM && (CUM).offset < 8 \ && 8 < ((CUM).offset + ((MODE) == BLKmode \ ? int_size_in_bytes (TYPE) \ : GET_MODE_SIZE (MODE)))) \ ? 2 - (CUM).offset / 4 : 0)
| #define FUNCTION_ARG_REGNO_P | ( | N | ) | (TARGET_68020 ? 0 : (N) == 0) |
| #define FUNCTION_EXTRA_EPILOGUE | ( | FILE, | |||
| SIZE | ) |
Value:
{ if (current_function_returns_pointer \
&& ! find_equiv_reg (0, get_last_insn (), 0, 0, 0, 8, Pmode)) \
asm_fprintf (FILE, "\tmov.l %Ra0,%Rd0\n"); }
| #define FUNCTION_VALUE | ( | VALTYPE, | |||
| FUNC | ) |
Value:
(TREE_CODE (VALTYPE) == REAL_TYPE && TARGET_68881 \ ? gen_rtx_REG (TYPE_MODE (VALTYPE), 16) \ : (POINTER_TYPE_P (VALTYPE) \ ? gen_rtx_REG (TYPE_MODE (VALTYPE), 8) \ : gen_rtx_REG (TYPE_MODE (VALTYPE), 0)))
| #define FUNCTION_VALUE_REGNO_P | ( | N | ) | ((N) == 0 || (N) == 8 || (TARGET_68881 && (N) == 16)) |
| #define INIT_CUMULATIVE_ARGS | ( | CUM, | |||
| FNTYPE, | |||||
| LIBNAME, | |||||
| INDIRECT | ) |
| #define LIB_SPEC "%{!shlib:%{!msoft-float:-lc881}%{msoft-float:-lc}}" |
| #define LIBCALL_VALUE | ( | MODE | ) |
Value:
gen_rtx_REG ((MODE), \ ((TARGET_68881 \ && ((MODE) == SFmode || (MODE) == DFmode \ || (MODE) == XFmode)) \ ? 16 : 0))
| #define PUT_SDB_BLOCK_END | ( | LINE | ) |
Value:
fprintf (asm_out_file, \ "\tdef\t~eb;\tval\t~;\tscl\t100;\tline\t%d;\tendef\n", \ (LINE))
| #define PUT_SDB_BLOCK_START | ( | LINE | ) |
Value:
fprintf (asm_out_file, \ "\tdef\t~bb;\tval\t~;\tscl\t100;\tline\t%d;\tendef\n", \ (LINE))
| #define PUT_SDB_DEF | ( | a | ) |
Value:
do { fprintf (asm_out_file, "\tdef\t"); \ ASM_OUTPUT_LABELREF (asm_out_file, a); \ fprintf (asm_out_file, ";"); } while (0)
| #define PUT_SDB_EPILOGUE_END | ( | NAME | ) |
Value:
fprintf (asm_out_file, \ "\tdef\t%s;\tval\t~;\tscl\t-1;\tendef\n", \ (NAME))
| #define PUT_SDB_FUNCTION_END | ( | LINE | ) |
Value:
fprintf (asm_out_file, \ "\tdef\t~ef;\tval\t~;\tscl\t101;\tline\t%d;\tendef\n", \ (LINE))
| #define PUT_SDB_FUNCTION_START | ( | LINE | ) |
Value:
fprintf (asm_out_file, \ "\tdef\t~bf;\tval\t~;\tscl\t101;\tline\t%d;\tendef\n", \ (LINE))
| #define PUT_SDB_INT_VAL | ( | a | ) | fprintf (asm_out_file, "\tval\t%d;", (a)) |
| #define PUT_SDB_LAST_DIM | ( | a | ) | fprintf(asm_out_file, "%d;", a) |
| #define PUT_SDB_NEXT_DIM | ( | a | ) | fprintf(asm_out_file, "%d,", a) |
| #define PUT_SDB_PLAIN_DEF | ( | a | ) | fprintf(asm_out_file,"\tdef\t~%s;",a) |
| #define PUT_SDB_SCL | ( | a | ) | fprintf(asm_out_file, "\tscl\t%d;", (a)) |
| #define PUT_SDB_SIZE | ( | a | ) | fprintf(asm_out_file, "\tsize\t%d;", a) |
| #define PUT_SDB_START_DIM fprintf(asm_out_file, "\tdim\t") |
| #define PUT_SDB_TAG | ( | a | ) |
Value:
do { fprintf (asm_out_file, "\ttag\t"); \ ASM_OUTPUT_LABELREF (asm_out_file, a); \ fprintf (asm_out_file, ";"); } while (0)
| #define PUT_SDB_TYPE | ( | a | ) | fprintf(asm_out_file, "\ttype\t0%o;", a) |
| #define PUT_SDB_VAL | ( | a | ) |
Value:
( fputs ("\tval\t", asm_out_file), \ output_addr_const (asm_out_file, (a)), \ fputc (';', asm_out_file))
| #define REGISTER_NAMES |
| #define RETURN_IN_MEMORY | ( | type | ) |
Value:
((TYPE_MODE (type) == BLKmode) \ || (AGGREGATE_TYPE_P (type) \ && GET_MODE_SIZE (TYPE_MODE (type)) > UNITS_PER_WORD))
| #define SDB_GENERATE_FAKE | ( | BUFFER, | |||
| NUMBER | ) | sprintf ((BUFFER), "~%dfake", (NUMBER)); |
| #define STARTFILE_SPEC "%{!shlib:%{pg:mcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}}\ %{shlib:crt0s.o%s shlib.ifile%s} %{p:-L/usr/lib/libp} %{pg:-L/usr/lib/libp} " |
| #define TARGET_DEFAULT (MASK_68040|MASK_BITFIELD|MASK_68881|MASK_68020) |
| #define TARGET_VERSION fprintf (stderr, " (68k, SGS/AT&T sysV68 syntax)"); |
1.5.6