Annotation of gcc/config/tm-altos3068.h, revision 1.1

1.1     ! root        1: /* Definitions of target machine for GNU compiler.  Altos 3068 68020 version.
        !             2:    Copyright (C) 1988,1989 Free Software Foundation, Inc.
        !             3: 
        !             4: Written by Jyrki Kuoppala <[email protected]>
        !             5: Last modified: Mon Mar  6 22:47:58 1989
        !             6: 
        !             7: This file is part of GNU CC.
        !             8: 
        !             9: GNU CC is free software; you can redistribute it and/or modify
        !            10: it under the terms of the GNU General Public License as published by
        !            11: the Free Software Foundation; either version 1, or (at your option)
        !            12: any later version.
        !            13: 
        !            14: GNU CC is distributed in the hope that it will be useful,
        !            15: but WITHOUT ANY WARRANTY; without even the implied warranty of
        !            16: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        !            17: GNU General Public License for more details.
        !            18: 
        !            19: You should have received a copy of the GNU General Public License
        !            20: along with GNU CC; see the file COPYING.  If not, write to
        !            21: the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
        !            22: 
        !            23: 
        !            24: #include "tm-m68k.h"
        !            25: 
        !            26: /* See tm-m68k.h.  7 means 68020 with 68881.  */
        !            27: /* 5 is without 68881.  Change to 7 if you have 68881 */
        !            28: 
        !            29: #ifndef TARGET_DEFAULT
        !            30: #define TARGET_DEFAULT 5
        !            31: #endif
        !            32: 
        !            33: /* Define __HAVE_68881__ in preprocessor,
        !            34:    according to the -m flags.
        !            35:    This will control the use of inline 68881 insns in certain macros.
        !            36:    Also inform the program which CPU this is for.  */
        !            37: 
        !            38: #if TARGET_DEFAULT & 02
        !            39: 
        !            40: /* -m68881 is the default */
        !            41: #define CPP_SPEC \
        !            42: "%{!msoft-float:-D__HAVE_68881__ }\
        !            43: %{!ansi:%{m68000:-Dmc68010}%{mc68000:-Dmc68010}%{!mc68000:%{!m68000:-Dmc68020}}}"
        !            44: 
        !            45: #else
        !            46: 
        !            47: /* -msoft-float is the default */
        !            48: #define CPP_SPEC \
        !            49: "%{m68881:-D__HAVE_68881__ }\
        !            50: %{!ansi:%{m68000:-Dmc68010}%{mc68000:-Dmc68010}%{!mc68000:%{!m68000:-Dmc68020}}}"
        !            51: 
        !            52: #endif
        !            53: 
        !            54: /* -m68000 requires special flags to the assembler.  */
        !            55: 
        !            56: #define ASM_SPEC \
        !            57:  "%{m68000:-mc68010}%{mc68000:-mc68010}%{!mc68000:%{!m68000:-mc68020}}"
        !            58: 
        !            59: /* Names to predefine in the preprocessor for this target machine.  */
        !            60: 
        !            61: #define CPP_PREDEFINES "-Dmc68000 -DPORTAR -Dmc68k32 -Uvax -Dm68k -Dunix"
        !            62: 
        !            63: /* Every structure or union's size must be a multiple of 2 bytes.  */
        !            64: 
        !            65: #define STRUCTURE_SIZE_BOUNDARY 16
        !            66: 
        !            67: /* Generate calls to memcpy, memcmp and memset.  */
        !            68: #define TARGET_MEM_FUNCTIONS
        !            69: 
        !            70: /* We use gnu assembler, linker and gdb, so we want DBX format.  */
        !            71: 
        !            72: #define DBX_DEBUGGING_INFO
        !            73: 
        !            74: /* Tell some conditionals we will use GAS.  Is this really used?  */
        !            75: 
        !            76: #define USE_GAS
        !            77: 
        !            78: /* This is how to output an assembler line defining a `double' constant.  */
        !            79: 
        !            80: #undef ASM_OUTPUT_DOUBLE
        !            81: #define ASM_OUTPUT_DOUBLE(FILE,VALUE)                    \
        !            82:      fprintf (FILE, "\t.double 0r%.20e\n", (VALUE))
        !            83: 
        !            84: /* This is how to output an assembler line defining a `float' constant.  */
        !            85: 
        !            86: #undef ASM_OUTPUT_FLOAT
        !            87: #define ASM_OUTPUT_FLOAT(FILE,VALUE)                    \
        !            88:      fprintf (FILE, "\t.single 0r%.20e\n", (VALUE))
        !            89: 
        !            90: #undef ASM_OUTPUT_FLOAT_OPERAND
        !            91: #define ASM_OUTPUT_FLOAT_OPERAND(FILE,VALUE)                \
        !            92:      fprintf (FILE, "#0r%.9g", (VALUE))
        !            93: 
        !            94: #undef ASM_OUTPUT_DOUBLE_OPERAND
        !            95: #define ASM_OUTPUT_DOUBLE_OPERAND(FILE,VALUE)                \
        !            96:      fprintf (FILE, "#0r%.20g", (VALUE))
        !            97: 
        !            98: /* Return pointer values in both d0 and a0.  */
        !            99: 
        !           100: #undef FUNCTION_EXTRA_EPILOGUE
        !           101: #define FUNCTION_EXTRA_EPILOGUE(FILE, SIZE)                    \
        !           102: {                                                              \
        !           103:   extern int current_function_returns_pointer;                 \
        !           104:   if ((current_function_returns_pointer) &&                    \
        !           105:       ! find_equiv_reg (0, get_last_insn (), 0, 0, 0, 8, Pmode))\
        !           106:     fprintf (FILE, "\tmovel d0,a0\n");                         \
        !           107: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.