home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / gcc-2.7.2.1-base.tgz / gcc-2.7.2.1-base.tar / fsf / gcc / config / m68k / lynx.h < prev    next >
C/C++ Source or Header  |  1995-06-15  |  2KB  |  75 lines

  1. /* Definitions for Motorola 680x0 running LynxOS.
  2.    Copyright (C) 1993, 1994, 1995 Free Software Foundation, Inc.
  3.  
  4. This file is part of GNU CC.
  5.  
  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.
  10.  
  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.
  15.  
  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.  */
  20.  
  21. #include <m68k/m68k.h>
  22. #include <m68k/coff.h>
  23.  
  24. #undef CTORS_SECTION_ASM_OP
  25. #undef DTORS_SECTION_ASM_OP
  26. #undef ASM_OUTPUT_DESTRUCTOR
  27. #undef SELECT_RTX_SECTION
  28.  
  29. #define BSS_SECTION_ASM_OP ".bss"
  30.  
  31. #define ASM_LONG ".long"
  32.  
  33. #include <lynx.h>
  34.  
  35. /* See m68k.h.  7 means 68020 with 68881.  */
  36.  
  37. #ifndef TARGET_DEFAULT
  38. #define TARGET_DEFAULT 7
  39. #endif
  40.  
  41. /* Names to predefine in the preprocessor for this target machine.  */
  42.  
  43. #undef CPP_PREDEFINES
  44. #define CPP_PREDEFINES "-Dunix -Dmc68000 -DM68K -DLynx -DIBITS32 -Asystem(unix) -Asystem(lynx) -Acpu(m68k) -Amachine(m68k)"
  45.  
  46. /* Every structure or union's size must be a multiple of 2 bytes.  */
  47.  
  48. #define STRUCTURE_SIZE_BOUNDARY 16
  49.  
  50. /* Lynx uses d2 and d3 as scratch registers. */
  51. #undef CALL_USED_REGISTERS
  52. #define CALL_USED_REGISTERS \
  53.  {1, 1, 1, 1, 0, 0, 0, 0,   \
  54.   1, 1, 0, 0, 0, 0, 0, 1,   \
  55.   1, 1, 0, 0, 0, 0, 0, 0 }
  56.  
  57. /* Return floating point values in a fp register.  This make fp code a
  58.    little bit faster.  It also makes -msoft-float code incompatible with
  59.    -m68881 code, so people have to be careful not to mix the two.  */
  60. #undef FUNCTION_VALUE
  61. #define FUNCTION_VALUE(VALTYPE,FUNC) LIBCALL_VALUE (TYPE_MODE (VALTYPE))
  62.  
  63. #undef LIBCALL_VALUE
  64. #define LIBCALL_VALUE(MODE)                                                \
  65.  gen_rtx (REG, (MODE),                                                     \
  66.           ((TARGET_68881                                                   \
  67.             && ((MODE) == SFmode || (MODE) == DFmode || (MODE) == XFmode)) \
  68.            ? 16 : 0))
  69.  
  70. #undef FUNCTION_VALUE_REGNO_P
  71. #define FUNCTION_VALUE_REGNO_P(N) ((N) == 0 || (TARGET_68881 && (N) == 16))
  72.  
  73. #undef NEEDS_UNTYPED_CALL
  74. #define NEEDS_UNTYPED_CALL 1
  75.