#include "m68k/m68k.h"
#include "nextstep.h"
#define TARGET_DEFAULT (MASK_68040|MASK_BITFIELD|MASK_68881|MASK_68020)
#undef STACK_BOUNDARY
#define STACK_BOUNDARY 32
#define CPP_PREDEFINES "-Dmc68000 -Dm68k -DNeXT -Dunix -D__MACH__ -D__BIG_ENDIAN__ -D__ARCHITECTURE__=\"m68k\" -Asystem=unix -Asystem=mach -Acpu=m68k -Amachine=m68k -D_NEXT_SOURCE"
#define STRUCTURE_SIZE_BOUNDARY 16
#undef ASM_OUTPUT_FLOAT_OPERAND
#ifdef REAL_VALUE_TO_TARGET_SINGLE
#define ASM_OUTPUT_FLOAT_OPERAND(CODE,FILE,VALUE) \
do { \
long hex; \
REAL_VALUE_TO_TARGET_SINGLE (VALUE, hex); \
fprintf (FILE, "#0%c%lx", (CODE) == 'f' ? 'b' : 'x', hex); \
} while (0)
#else
#define ASM_OUTPUT_FLOAT_OPERAND(CODE,FILE,VALUE) \
do{ \
if (CODE != 'f') \
{ \
long l; \
REAL_VALUE_TO_TARGET_SINGLE (VALUE, l); \
if (sizeof (int) == sizeof (long)) \
asm_fprintf ((FILE), "%I0x%x", (int) l); \
else \
asm_fprintf ((FILE), "%I0x%lx", l); \
} \
else if (REAL_VALUE_ISINF (VALUE)) \
{ \
if (REAL_VALUE_NEGATIVE (VALUE)) \
fprintf (FILE, "#0r-99e999"); \
else \
fprintf (FILE, "#0r99e999"); \
} \
else \
{ char dstr[30]; \
REAL_VALUE_TO_DECIMAL ((VALUE), "%.9g", dstr); \
fprintf (FILE, "#0r%s", dstr); \
} \
} while (0)
#endif
#undef ASM_OUTPUT_DOUBLE_OPERAND
#ifdef REAL_VALUE_TO_TARGET_DOUBLE
#define ASM_OUTPUT_DOUBLE_OPERAND(FILE,VALUE) \
do { \
long hex[2]; \
REAL_VALUE_TO_TARGET_DOUBLE (VALUE, hex); \
fprintf (FILE, "#0b%lx%08lx", hex[0], hex[1]); \
} while (0)
#else
#define ASM_OUTPUT_DOUBLE_OPERAND(FILE,VALUE) \
do { if (REAL_VALUE_ISINF (VALUE)) \
{ \
if (REAL_VALUE_NEGATIVE (VALUE)) \
fprintf (FILE, "#0r-99e999"); \
else \
fprintf (FILE, "#0r99e999"); \
} \
else \
{ char dstr[30]; \
REAL_VALUE_TO_DECIMAL ((VALUE), "%.20g", dstr); \
fprintf (FILE, "#0r%s", dstr); \
} \
} while (0)
#endif
#undef CASE_VECTOR_MODE
#define CASE_VECTOR_MODE SImode
#undef CASE_VECTOR_PC_RELATIVE
#define ASM_OUTPUT_CASE_LABEL(FILE,PREFIX,NUM,TABLEINSN) \
{ ASM_OUTPUT_ALIGN (FILE, 1); ASM_OUTPUT_INTERNAL_LABEL (FILE, PREFIX, NUM); }
#undef GO_IF_INDEXABLE_BASE
#define GO_IF_INDEXABLE_BASE(X, ADDR) \
{ if (LEGITIMATE_BASE_REG_P (X)) goto ADDR; }
#define OBJC_FORWARDING_STACK_OFFSET 8
#define OBJC_FORWARDING_MIN_OFFSET 8
#undef FINALIZE_TRAMPOLINE
#define FINALIZE_TRAMPOLINE(TRAMP) \
emit_library_call(gen_rtx_SYMBOL_REF (Pmode, "__enable_execute_stack"), \
0, VOIDmode, 1, memory_address (SImode, (TRAMP)), Pmode)
#define CLEAR_INSN_CACHE(BEG, END) \
asm volatile ("trap #2")
#undef PCC_STATIC_STRUCT_RETURN