FSF GCC merge 02/23/03
[official-gcc.git] / gcc / config / m68k / 3b1g.h
blob5850a8a0d22cb39baabe835c0e1bce2e950137a5
1 /* Definitions of target machine for GNU compiler, for a 3b1 using GAS.
2 Copyright (C) 1987, 1988 Free Software Foundation, Inc.
4 This file is part of GNU CC.
6 GNU CC is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2, or (at your option)
9 any later version.
11 GNU CC is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with GNU CC; see the file COPYING. If not, write to
18 the Free Software Foundation, 59 Temple Place - Suite 330,
19 Boston, MA 02111-1307, USA. */
21 #include "m68k/m68k.h"
23 /* See m68k.h. 0 means 68000 with no 68881. */
24 #define TARGET_DEFAULT 0
26 /* Don't try using XFmode. */
27 #undef LONG_DOUBLE_TYPE_SIZE
28 #define LONG_DOUBLE_TYPE_SIZE 64
30 /* Define __HAVE_68881 in preprocessor only if -m68881 is specified.
31 This will control the use of inline 68881 insns in certain macros.
32 Also inform the program which CPU this is for. */
33 #define CPP_SPEC "%{m68881:-D__HAVE_68881__} \
34 %{!ansi:%{m68020:-Dmc68020}%{mc68020:-Dmc68020}%{!mc68020:%{!m68020:-Dmc68010}}}"
36 /* -m68020 requires special flags to the assembler. */
37 #define ASM_SPEC \
38 "%{m68020:-mc68020}%{mc68020:-mc68020}%{!mc68020:%{!m68020:-mc68010}}"
40 /* Names to predefine in the preprocessor for this target machine. */
41 #define CPP_PREDEFINES "-Dmc68000 -Dmc68k -Dunix -Dunixpc -Asystem=unix -Asystem=svr3 -Acpu=m68k -Amachine=m68k"
43 /* This is (not really) BSD, so (but) it wants DBX format. */
44 #define DBX_DEBUGGING_INFO 1
46 /* Specify how to pad function arguments.
47 Value should be `upward', `downward' or `none'.
48 Same as the default, except no padding for large or variable-size args. */
49 #define FUNCTION_ARG_PADDING(MODE, TYPE) \
50 (((MODE) == BLKmode \
51 ? ((TYPE) && TREE_CODE (TYPE_SIZE (TYPE)) == INTEGER_CST \
52 && int_size_in_bytes (TYPE) < PARM_BOUNDARY / BITS_PER_UNIT) \
53 : GET_MODE_BITSIZE (MODE) < PARM_BOUNDARY) \
54 ? downward : none)
56 /* Every structure or union's size must be a multiple of 2 bytes. */
57 #define STRUCTURE_SIZE_BOUNDARY 16
59 /* Generate calls to memcpy, memcmp and memset. */
60 #define TARGET_MEM_FUNCTIONS