Annotation of GNUtools/cc/config/ns32k/pc532.h, revision 1.1.1.1

1.1       root        1: /* Definitions of target machine for GNU compiler.
                      2:    PC532 with National 32532.
                      3:    Copyright (C) 1990 Free Software Foundation, Inc.
                      4:    Contributed by Jukka Virtanen <[email protected]>, Jyrki Kuoppala <[email protected]>,
                      5:    Tatu Yl|nen <[email protected]>, Johannes Helander <[email protected]>.
                      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 2, 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: #include "ns32k/ns32k.h"
                     24: 
                     25: /* Compile for the floating point unit & 32532 by default;
                     26:    also presume SB is zero */
                     27: 
                     28: #define TARGET_DEFAULT 25
                     29: 
                     30: /* Write DBX debugging info for gdb to read */
                     31: 
                     32: #define DBX_DEBUGGING_INFO
                     33: 
                     34: /* Use the re-entrant and potentially faster method */
                     35: 
                     36: #undef PCC_STATIC_STRUCT_RETURN
                     37: 
                     38: /* There's a bug in the setjmp implementation that strikes
                     39:    if the caller of setjmp doesn't have a frame pointer.  */
                     40: #undef FRAME_POINTER_REQUIRED
                     41: #define FRAME_POINTER_REQUIRED current_function_calls_setjmp
                     42: 
                     43: /* 32-bit alignment for efficiency */
                     44: #undef POINTER_BOUNDARY
                     45: #define POINTER_BOUNDARY 32
                     46: 
                     47: /* 32-bit alignment for efficiency */
                     48: #undef FUNCTION_BOUNDARY
                     49: #define FUNCTION_BOUNDARY 32
                     50: 
                     51: /* 32532 spec says it can handle any alignment.  Rumor from tm-ns32k.h
                     52:    tells this might not be actually true (but it's for 32032, perhaps
                     53:    National has fixed the bug for 32532).  You might have to change this
                     54:    if the bug still exists. */
                     55: 
                     56: #undef STRICT_ALIGNMENT
                     57: #define STRICT_ALIGNMENT 0
                     58: 
                     59: /* Maybe someone needs to know which processor we're running on */
                     60: 
                     61: #undef CPP_PREDEFINES
                     62: #define CPP_PREDEFINES "-Dns32000 -Dns32532 -Dpc532 -Dunix -Asystem(unix) -Acpu(ns32k) -Amachine(ns32k)"
                     63: 
                     64: /* Use pc relative addressing whenever possible,
                     65:    it's more efficient than absolute (ns32k.c)
                     66:    You have to fix a bug in gas 1.38.1 to make this work with gas,
                     67:    patch available from [email protected]. */
                     68: 
                     69: #define PC_RELATIVE
                     70: 
                     71: /* Operand of bsr or jsr should be just the address.  */
                     72: 
                     73: #define CALL_MEMREF_IMPLICIT
                     74: 
                     75: /* movd insns may have floating point constant operands.  */
                     76: 
                     77: #define MOVD_FLOAT_OK
                     78: 
                     79: /* Every address needs to use a base reg.  */
                     80: 
                     81: #define BASE_REG_NEEDED

unix.superglobalmegacorp.com

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