home *** CD-ROM | disk | FTP | other *** search
/ Education Sampler 1992 [NeXTSTEP] / Education_1992_Sampler.iso / NeXT / GnuSource / cplusplus-8 / config / tm-isi68.h < prev    next >
Encoding:
C/C++ Source or Header  |  1989-08-09  |  2.8 KB  |  80 lines

  1. /* Definitions of target machine for GNU compiler.  ISI 68000/68020 version.
  2.    Intended only for use with GAS, and not ISI's assembler, which is buggy
  3.    Copyright (C) 1988 Free Software Foundation, Inc.
  4.  
  5. This file is part of GNU CC.
  6.  
  7. GNU CC is free software; you can redistribute it and/or modify
  8. it under the terms of the GNU General Public License as published by
  9. the Free Software Foundation; either version 1, or (at your option)
  10. any later version.
  11.  
  12. GNU CC is distributed in the hope that it will be useful,
  13. but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  15. GNU General Public License for more details.
  16.  
  17. You should have received a copy of the GNU General Public License
  18. along with GNU CC; see the file COPYING.  If not, write to
  19. the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  20.  
  21. #include "tm-m68k.h"
  22.  
  23. /* See tm-m68k.h.  7 means 68020 with 68881. */
  24.  
  25. #ifndef TARGET_DEFAULT
  26. #define TARGET_DEFAULT 7
  27. #endif
  28.  
  29. #if TARGET_DEFAULT & 2
  30. /* Define __HAVE_68881__ in preprocessor, unless -msoft-float is specified.
  31.    This will control the use of inline 68881 insns in certain macros.  */
  32.  
  33. #define CPP_SPEC "%{!msoft-float:-D__HAVE_68881__}"
  34.  
  35. /* If the 68881 is used, link must load libmc.a instead of libc.a */
  36.  
  37. #define LIB_SPEC "%{msoft-float:%{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}}%{!msoft-float:%{!p:%{!pg:-lmc}}%{p:-lmc_p}%{pg:-lmc_p}}"
  38.  
  39. #else
  40. /* Define __HAVE_68881__ in preprocessor if -m68881 is specified.
  41.    This will control the use of inline 68881 insns in certain macros.  */
  42.  
  43. #define CPP_SPEC "%{m68881:-D__HAVE_68881__}"
  44.  
  45. /* If the 68881 is used, link must load libmc.a instead of libc.a */
  46.  
  47. #define LIB_SPEC "%{!m68881:%{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}}%{m68881:%{!p:%{!pg:-lmc}}%{p:-lmc_p}%{pg:-lmc_p}}"
  48. #endif
  49.  
  50. /* Names to predefine in the preprocessor for this target machine.  */
  51.  
  52. #define CPP_PREDEFINES "-Dunix -Dmc68000 -Dis68k"
  53.  
  54. /* This is BSD, so it wants DBX format.  */
  55.  
  56. #define DBX_DEBUGGING_INFO
  57.  
  58. /* Override parts of tm-m68000.h to fit the ISI 68k machine.  */
  59.  
  60. #undef FUNCTION_VALUE
  61. #undef LIBCALL_VALUE
  62. #undef FUNCTION_VALUE_REGNO_P
  63. #undef ASM_FILE_START
  64.  
  65. /* If TARGET_68881, return SF and DF values in f0 instead of d0.  */
  66.  
  67. #define FUNCTION_VALUE(VALTYPE,FUNC) LIBCALL_VALUE (TYPE_MODE (VALTYPE))
  68.  
  69. #define LIBCALL_VALUE(MODE) \
  70.  gen_rtx (REG, (MODE), ((TARGET_68881 && ((MODE) == SFmode || (MODE) == DFmode)) ? 16 : 0))
  71.  
  72. /* 1 if N is a possible register number for a function value.
  73.    D0 may be used, and F0 as well if -m68881 is specified.  */
  74.  
  75. #define FUNCTION_VALUE_REGNO_P(N) \
  76.  ((N) == 0 || (TARGET_68881 && (N) == 16))
  77.  
  78. /* Also output something to cause the correct _doprnt to be loaded.  */
  79. #define ASM_FILE_START(FILE) fprintf (FILE, "#NO_APP\n%s\n", TARGET_68881 ? ".globl fltused" : "")
  80.