]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
real.h (MAX_LONG_DOUBLE_TYPE_SIZE): Define to LONG_DOUBLE_TYPE_SIZE if not defined.
authorJakub Jelinek <jakub@redhat.com>
Mon, 6 Mar 2000 18:51:52 +0000 (19:51 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Mon, 6 Mar 2000 18:51:52 +0000 (19:51 +0100)
* real.h (MAX_LONG_DOUBLE_TYPE_SIZE): Define to
LONG_DOUBLE_TYPE_SIZE if not defined.
Use MAX_LONG_DOUBLE_TYPE_SIZE instead of
LONG_DOUBLE_TYPE_SIZE in preprocessor if clauses.
* real.c: Likewise.
* gengenrtl.c: Likewise.
* print-rtl.c: Likewise.
* rtl.c: Likewise.
* config/sparc/sol2-sld-64.h (TARGET_DEFAULT): Set
MASK_LONG_DOUBLE_128.
* config/sparc/sol2.h (TARGET_DEFAULT): Likewise.
* config/sparc/sp64-elf.h (TARGET_DEFAULT): Likewise.
* config/sparc/linux64 (TARGET_DEFAULT): Likewise.
(SUBTARGET_SWITCHES): Define.
(CPP_ARCH32_SPEC): Define __LONG_DOUBLE_128__ if compiling
with -mlong-double-128.
(LONG_DOUBLE_TYPE_SIZE): Define depending on target_flags.
(MAX_LONG_DOUBLE_TYPE_SIZE): Define.
(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define depending on CPP macros.
(CC1_SPEC): Include -mlong-double-{64,128} as needed.
* config/sparc/linux.h (SUBTARGET_SWITCHES): Define.
(CPP_SUBTARGET_SPEC): Define __LONG_DOUBLE_128__ if compiling
with -mlong-double-128.
(LONG_DOUBLE_TYPE_SIZE): Define depending on target_flags.
(MAX_LONG_DOUBLE_TYPE_SIZE): Define.
(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define depending on CPP macros.
* config/sparc/sparc.h (MASK_LONG_DOUBLE_128,
TARGET_LONG_DOUBLE_128): Define.
* config/sparc/linux-aout.h (LONG_DOUBLE_TYPE_SIZE): Remove.
* config/sparc/sparc.c (sparc_override_options): Disallow 64bit
long double on TARGET_ARCH64.

From-SVN: r32367

14 files changed:
gcc/ChangeLog
gcc/config/sparc/linux-aout.h
gcc/config/sparc/linux.h
gcc/config/sparc/linux64.h
gcc/config/sparc/sol2-sld-64.h
gcc/config/sparc/sol2.h
gcc/config/sparc/sp64-elf.h
gcc/config/sparc/sparc.c
gcc/config/sparc/sparc.h
gcc/gengenrtl.c
gcc/print-rtl.c
gcc/real.c
gcc/real.h
gcc/rtl.c

index 8fc53eec0331f01e2e8a74aef987cdb1ed407641..de22acd581334fbfd0ed881ddd17efb46af1af14 100644 (file)
        * config/sparc/sparc.h (ASM_ARCH64_SPEC): Pass -no-undeclared-regs
        to gas if it supports .register pseudo.
 
+       * real.h (MAX_LONG_DOUBLE_TYPE_SIZE): Define to
+       LONG_DOUBLE_TYPE_SIZE if not defined.
+       Use MAX_LONG_DOUBLE_TYPE_SIZE instead of
+       LONG_DOUBLE_TYPE_SIZE in preprocessor if clauses.
+       * real.c: Likewise.
+       * gengenrtl.c: Likewise.
+       * print-rtl.c: Likewise.
+       * rtl.c: Likewise.
+       * config/sparc/sol2-sld-64.h (TARGET_DEFAULT): Set
+       MASK_LONG_DOUBLE_128.
+       * config/sparc/sol2.h (TARGET_DEFAULT): Likewise.
+       * config/sparc/sp64-elf.h (TARGET_DEFAULT): Likewise.
+       * config/sparc/linux64 (TARGET_DEFAULT): Likewise.
+       (SUBTARGET_SWITCHES): Define.
+       (CPP_ARCH32_SPEC): Define __LONG_DOUBLE_128__ if compiling
+       with -mlong-double-128.
+       (LONG_DOUBLE_TYPE_SIZE): Define depending on target_flags.
+       (MAX_LONG_DOUBLE_TYPE_SIZE): Define.
+       (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define depending on CPP macros.
+       (CC1_SPEC): Include -mlong-double-{64,128} as needed.
+       * config/sparc/linux.h (SUBTARGET_SWITCHES): Define.
+       (CPP_SUBTARGET_SPEC): Define __LONG_DOUBLE_128__ if compiling
+       with -mlong-double-128.
+       (LONG_DOUBLE_TYPE_SIZE): Define depending on target_flags.
+       (MAX_LONG_DOUBLE_TYPE_SIZE): Define.
+       (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define depending on CPP macros.
+       * config/sparc/sparc.h (MASK_LONG_DOUBLE_128,
+       TARGET_LONG_DOUBLE_128): Define.
+       * config/sparc/linux-aout.h (LONG_DOUBLE_TYPE_SIZE): Remove.
+       * config/sparc/sparc.c (sparc_override_options): Disallow 64bit
+       long double on TARGET_ARCH64.
+
 2000-03-06  Mark Mitchell  <mark@codesourcery.com>
 
        * function.c (free_temps_for_rtl_expr): Don't free slots
index d7c23034a76d47219220da22aac489cb2ad2383c..74ddd92e5da85200a1d04578caae3a62859f6abf 100644 (file)
@@ -101,13 +101,6 @@ Boston, MA 02111-1307, USA.  */
 #undef ASM_SPEC
 #define ASM_SPEC \
   "%{V} %{v:%{!V:-V}} %{n} %{T} %{Ym,*} %{Wa,*:%*} -s %{fpic:-K PIC} %{fPIC:-K PIC}"
-
-#if 0
-/* Define for support of TFmode long double and REAL_ARITHMETIC.
-   Sparc ABI says that long double is 4 words. GNU/Linux does not support
-   long double yet.  */
-#define LONG_DOUBLE_TYPE_SIZE 128
-#endif
 \f
 /* No weird SPARC variants on Linux */
 #undef TARGET_LIVE_G0
index fba4a9d075e532750b89a4ad1a6632fd67e1cca3..630ca9c45ad017b88f3dc1556933e21f3e676928 100644 (file)
@@ -87,6 +87,11 @@ Boston, MA 02111-1307, USA.  */
 #undef TARGET_VERSION
 #define TARGET_VERSION fprintf (stderr, " (sparc GNU/Linux with ELF)");
 
+#undef SUBTARGET_SWITCHES
+#define SUBTARGET_SWITCHES \
+{"long-double-64", -MASK_LONG_DOUBLE_128, "Use 64 bit long doubles" }, \
+{"long-double-128", MASK_LONG_DOUBLE_128, "Use 128 bit long doubles" },
+
 #undef SIZE_TYPE
 #define SIZE_TYPE "unsigned int"
  
@@ -107,10 +112,12 @@ Boston, MA 02111-1307, USA.  */
 #undef CPP_SUBTARGET_SPEC
 #ifdef USE_GNULIBC_1
 #define CPP_SUBTARGET_SPEC \
-"%{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE}"
+"%{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE} \
+%{mlong-double-128:-D__LONG_DOUBLE_128__}"
 #else
 #define CPP_SUBTARGET_SPEC \
-"%{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
+"%{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE} \
+%{pthread:-D_REENTRANT} %{mlong-double-128:-D__LONG_DOUBLE_128__}"
 #endif
 
 #undef LIB_SPEC
@@ -231,11 +238,19 @@ do {                                                                      \
   sprintf (LABEL, "*.L%s%d", PREFIX, NUM)
 
 \f
-#if 0
 /* Define for support of TFmode long double and REAL_ARITHMETIC.
-   Sparc ABI says that long double is 4 words. GNU/Linux does not support
-   long double yet.  */
-#define LONG_DOUBLE_TYPE_SIZE 128
+   Sparc ABI says that long double is 4 words.  */
+#define LONG_DOUBLE_TYPE_SIZE (TARGET_LONG_DOUBLE_128 ? 128 : 64)
+
+/* Constant which presents upper bound of the above value.  */
+#define MAX_LONG_DOUBLE_TYPE_SIZE 128
+
+/* Define this to set long double type size to use in libgcc2.c, which can
+   not depend on target_flags.  */
+#ifdef __LONG_DOUBLE_128__
+#define LIBGCC2_LONG_DOUBLE_TYPE_SIZE 128
+#else
+#define LIBGCC2_LONG_DOUBLE_TYPE_SIZE 64
 #endif
 \f
 /* No weird SPARC variants on Linux */
index 4426017c7f817b7ca20965a379ba9906ca4d67d5..8d4672fb4855cf2e0584ae7af751115969d6cf09 100644 (file)
@@ -41,7 +41,7 @@ Boston, MA 02111-1307, USA.  */
 #undef TARGET_DEFAULT
 #define TARGET_DEFAULT \
   (MASK_V9 + MASK_PTR64 + MASK_64BIT /* + MASK_HARD_QUAD */ \
-   + MASK_STACK_BIAS + MASK_APP_REGS + MASK_EPILOGUE + MASK_FPU)
+   + MASK_STACK_BIAS + MASK_APP_REGS + MASK_EPILOGUE + MASK_FPU + MASK_LONG_DOUBLE_128)
 #endif
 
 /* Output at beginning of assembler file.  */
@@ -56,6 +56,15 @@ Boston, MA 02111-1307, USA.  */
 #undef ASM_CPU_DEFAULT_SPEC
 #define ASM_CPU_DEFAULT_SPEC "-Av9a"
 
+#ifdef SPARC_BI_ARCH
+
+#undef CPP_ARCH32_SPEC
+#define CPP_ARCH32_SPEC "%{mlong-double-128:-D__LONG_DOUBLE_128__} \
+-D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int \
+-D__GCC_NEW_VARARGS__ -Acpu(sparc) -Amachine(sparc)"
+
+#endif
+
 /* Provide a STARTFILE_SPEC appropriate for GNU/Linux.  Here we add
    the GNU/Linux magical crtbegin.o file (see crtstuff.c) which
    provides part of the support for getting C++ file-scope static
@@ -134,6 +143,11 @@ Boston, MA 02111-1307, USA.  */
 #undef SPARC_DEFAULT_CMODEL
 #define SPARC_DEFAULT_CMODEL CM_MEDLOW
 
+#undef SUBTARGET_SWITCHES
+#define SUBTARGET_SWITCHES \
+{"long-double-64", -MASK_LONG_DOUBLE_128, "Use 64 bit long doubles" }, \
+{"long-double-128", MASK_LONG_DOUBLE_128, "Use 128 bit long doubles" },
+
 #undef WCHAR_TYPE
 #define WCHAR_TYPE "int"
 
@@ -142,8 +156,22 @@ Boston, MA 02111-1307, USA.  */
 
 #undef MAX_WCHAR_TYPE_SIZE
 
+/* Define for support of TFmode long double and REAL_ARITHMETIC.
+   Sparc ABI says that long double is 4 words.  */
 #undef LONG_DOUBLE_TYPE_SIZE
-#define LONG_DOUBLE_TYPE_SIZE 128
+#define LONG_DOUBLE_TYPE_SIZE (TARGET_LONG_DOUBLE_128 ? 128 : 64)
+
+/* Constant which presents upper bound of the above value.  */
+#undef MAX_LONG_DOUBLE_TYPE_SIZE
+#define MAX_LONG_DOUBLE_TYPE_SIZE 128
+
+/* Define this to set long double type size to use in libgcc2.c, which can
+   not depend on target_flags.  */
+#if defined(__arch64__) || defined(__LONG_DOUBLE_128__)
+#define LIBGCC2_LONG_DOUBLE_TYPE_SIZE 128
+#else
+#define LIBGCC2_LONG_DOUBLE_TYPE_SIZE 64
+#endif
 
 #undef CPP_PREDEFINES
 #define CPP_PREDEFINES "-D__ELF__ -Dunix -D_LONGLONG -D__sparc__ -Dlinux -Asystem(unix) -Asystem(posix)"
@@ -227,7 +255,7 @@ Boston, MA 02111-1307, USA.  */
 %{mcypress:-mcpu=cypress} \
 %{msparclite:-mcpu=sparclite} %{mf930:-mcpu=f930} %{mf934:-mcpu=f934} \
 %{mv8:-mcpu=v8} %{msupersparc:-mcpu=supersparc} \
-%{m64:-mptr64 -mstack-bias \
+%{m64:-mptr64 -mstack-bias -mlong-double-128 \
   %{!mcpu*:%{!mcypress:%{!msparclite:%{!mf930:%{!mf934:%{!mv8:%{!msupersparc:-mcpu=ultrasparc}}}}}}} \
   %{!mno-vis:%{!mcpu=v9:-mvis}}} \
 %{!m64:%{g*:%{!gs*:%{!gd*:%{!gx*:%{!gc*:-gstabs+}}}}}} \
@@ -238,7 +266,7 @@ Boston, MA 02111-1307, USA.  */
 %{mcypress:-mcpu=cypress} \
 %{msparclite:-mcpu=sparclite} %{mf930:-mcpu=f930} %{mf934:-mcpu=f934} \
 %{mv8:-mcpu=v8} %{msupersparc:-mcpu=supersparc} \
-%{m32:-mptr32 -mno-stack-bias \
+%{m32:-mptr32 -mno-stack-bias %{!mlong-double-128:-mlong-double-64} \
   %{!mcpu*:%{!mcypress:%{!msparclite:%{!mf930:%{!mf934:%{!mv8:%{!msupersparc:-mcpu=cypress}}}}}}} \
   %{g*:%{!gs*:%{!gd*:%{!gx*:%{!gc*:-gstabs+}}}}}} \
 %{!m32:%{!mcpu*:-mcpu=ultrasparc}} \
index 275a89f536e6eb8575596bdecb5096d045139894..cc441d50f17aaa5be4c121a2ae1058c8828d3b49 100644 (file)
@@ -24,7 +24,7 @@
 #undef TARGET_DEFAULT
 #define TARGET_DEFAULT \
   (MASK_V9 + MASK_PTR64 + MASK_64BIT /* + MASK_HARD_QUAD */ + \
-   MASK_STACK_BIAS + MASK_EPILOGUE + MASK_FPU)
+   MASK_STACK_BIAS + MASK_EPILOGUE + MASK_FPU + MASK_LONG_DOUBLE_128)
 #endif
 
 /* The default code model.  */
index f15807ff72df8663708a8dd1626ac8bf8e184a5f..000fbc6a21f710149de144459f0609bf4e4ae1ed 100644 (file)
@@ -213,7 +213,7 @@ Boston, MA 02111-1307, USA.  */
 /* Solaris allows 64 bit out and global registers in 32 bit mode.
    sparc_override_options will disable V8+ if not generating V9 code.  */
 #undef TARGET_DEFAULT
-#define TARGET_DEFAULT (MASK_EPILOGUE + MASK_FPU + MASK_V8PLUS)
+#define TARGET_DEFAULT (MASK_EPILOGUE + MASK_FPU + MASK_V8PLUS + MASK_LONG_DOUBLE_128)
 \f
 #if TARGET_ARCH32
 /* Override MACHINE_STATE_{SAVE,RESTORE} because we have special
index 49bd01a5d356eb6efb7ba4a42975912b94961e27..b6991474c82545476bad017a5151c8cf921c2f39 100644 (file)
@@ -35,7 +35,7 @@ Boston, MA 02111-1307, USA.  */
 #undef TARGET_DEFAULT
 #define TARGET_DEFAULT \
 (MASK_V9 + MASK_PTR64 + MASK_64BIT + MASK_HARD_QUAD \
- + MASK_APP_REGS + MASK_EPILOGUE + MASK_FPU + MASK_STACK_BIAS)
+ + MASK_APP_REGS + MASK_EPILOGUE + MASK_FPU + MASK_STACK_BIAS + MASK_LONG_DOUBLE_128)
 
 #undef SPARC_DEFAULT_CMODEL
 #define SPARC_DEFAULT_CMODEL CM_EMBMEDANY
index d6dbb9737e8a96264f2b25c24a679c067774ea92..0b9cd18f93d06b9d4a9712c2d2d81f87fe534945 100644 (file)
@@ -250,6 +250,13 @@ sparc_override_options ()
         target_flags &= ~MASK_PTR64;
     }
 
+  /* We force all 64bit archs to use 128 bit long double */
+  if (TARGET_64BIT && ! TARGET_LONG_DOUBLE_128)
+    {
+      error ("-mlong-double-64 not allowed with -m64");
+      target_flags |= MASK_LONG_DOUBLE_128;
+    }
+
   /* Code model selection.  */
   sparc_cmodel = SPARC_DEFAULT_CMODEL;
   
index b720bf88a9b2f8aad6ebd6165ab1def824f726e1..a099796cef787e76c26e77fae3493cd1f28e7bdf 100644 (file)
@@ -555,6 +555,10 @@ extern int target_flags;
 #define MASK_FASTER_STRUCTS 0x4000000
 #define TARGET_FASTER_STRUCTS (target_flags & MASK_FASTER_STRUCTS)
 
+/* Use IEEE quad long double.  */
+#define MASK_LONG_DOUBLE_128 0x8000000
+#define TARGET_LONG_DOUBLE_128 (target_flags & MASK_LONG_DOUBLE_128)
+
 /* TARGET_HARD_MUL: Use hardware multiply instructions but not %y.
    TARGET_HARD_MUL32: Use hardware multiply instructions with rd %y
    to get high 32 bits.  False in V8+ or V9 because multiply stores
index 757cf4562d76d8ba25e875b2324bc235fcec5acd..96b1d277d1340814541caa9ecfce824f98a76c9f 100644 (file)
@@ -40,9 +40,9 @@ Boston, MA 02111-1307, USA.  */
    slots in a CONST_DOUBLE, so we provide them even if one would suffice.  */
 
 #ifdef REAL_ARITHMETIC
-#if LONG_DOUBLE_TYPE_SIZE == 96
+#if MAX_LONG_DOUBLE_TYPE_SIZE == 96
 #define REAL_WIDTH     (11*8 + HOST_BITS_PER_WIDE_INT)/HOST_BITS_PER_WIDE_INT
-#elif LONG_DOUBLE_TYPE_SIZE == 128
+#elif MAX_LONG_DOUBLE_TYPE_SIZE == 128
 #define REAL_WIDTH     (19*8 + HOST_BITS_PER_WIDE_INT)/HOST_BITS_PER_WIDE_INT
 #elif HOST_FLOAT_FORMAT != TARGET_FLOAT_FORMAT
 #define REAL_WIDTH     (7*8 + HOST_BITS_PER_WIDE_INT)/HOST_BITS_PER_WIDE_INT
@@ -50,11 +50,11 @@ Boston, MA 02111-1307, USA.  */
 #endif /* REAL_ARITHMETIC */
 
 #ifndef REAL_WIDTH
-#if HOST_BITS_PER_WIDE_INT*2 >= LONG_DOUBLE_TYPE_SIZE
+#if HOST_BITS_PER_WIDE_INT*2 >= MAX_LONG_DOUBLE_TYPE_SIZE
 #define REAL_WIDTH     2
-#elif HOST_BITS_PER_WIDE_INT*3 >= LONG_DOUBLE_TYPE_SIZE
+#elif HOST_BITS_PER_WIDE_INT*3 >= MAX_LONG_DOUBLE_TYPE_SIZE
 #define REAL_WIDTH     3
-#elif HOST_BITS_PER_WIDE_INT*4 >= LONG_DOUBLE_TYPE_SIZE
+#elif HOST_BITS_PER_WIDE_INT*4 >= MAX_LONG_DOUBLE_TYPE_SIZE
 #define REAL_WIDTH     4
 #endif
 #endif /* REAL_WIDTH */
index f6a4db135848ffe6674e6b5bacd6582fb7dfb275..2c7194a48cb85e8c6855bdadb43acc4edf7a5937 100644 (file)
@@ -357,7 +357,7 @@ print_rtx (in_rtx)
   if (GET_CODE (in_rtx) == MEM)
     fprintf (outfile, " %d", MEM_ALIAS_SET (in_rtx));
 
-#if HOST_FLOAT_FORMAT == TARGET_FLOAT_FORMAT && LONG_DOUBLE_TYPE_SIZE == 64
+#if HOST_FLOAT_FORMAT == TARGET_FLOAT_FORMAT && MAX_LONG_DOUBLE_TYPE_SIZE == 64
   if (GET_CODE (in_rtx) == CONST_DOUBLE && FLOAT_MODE_P (GET_MODE (in_rtx)))
     {
       double val;
index 9b23d621764dfa759c79a502f3841179c0ce51c0..0e4b71654e3e2f0c13b3bb35bd272ca7cf41d41f 100644 (file)
@@ -244,7 +244,7 @@ unknown arithmetic type
    A REAL_VALUE_TYPE is guaranteed to occupy contiguous locations
    in memory, with no holes.  */
 
-#if LONG_DOUBLE_TYPE_SIZE == 96
+#if MAX_LONG_DOUBLE_TYPE_SIZE == 96
 /* Number of 16 bit words in external e type format */
 #define NE 6
 #define MAXDECEXP 4932
@@ -257,7 +257,7 @@ do {                                                \
   bcopy ((char *) e, (char *) r, 2*NE);                \
 } while (0)
 #else /* no XFmode */
-#if LONG_DOUBLE_TYPE_SIZE == 128
+#if MAX_LONG_DOUBLE_TYPE_SIZE == 128
 #define NE 10
 #define MAXDECEXP 4932
 #define MINDECEXP -4977
@@ -1479,7 +1479,7 @@ ereal_isneg (x)
 
 /*  e type constants used by high precision check routines */
 
-#if LONG_DOUBLE_TYPE_SIZE == 128
+#if MAX_LONG_DOUBLE_TYPE_SIZE == 128
 /* 0.0 */
 unsigned EMUSHORT ezero[NE] =
  {0x0000, 0x0000, 0x0000, 0x0000,
@@ -3646,7 +3646,7 @@ toe64 (a, b)
   else
     {
       q = b + 4;                       /* point to output exponent */
-#if LONG_DOUBLE_TYPE_SIZE == 96
+#if MAX_LONG_DOUBLE_TYPE_SIZE == 96
       /* Clear the last two bytes of 12-byte Intel format */
       *(q+1) = 0;
 #endif
@@ -4550,7 +4550,7 @@ enormlz (x)
 #define NTEN 12
 #define MAXP 4096
 
-#if LONG_DOUBLE_TYPE_SIZE == 128
+#if MAX_LONG_DOUBLE_TYPE_SIZE == 128
 static unsigned EMUSHORT etens[NTEN + 1][NE] =
 {
   {0x6576, 0x4a92, 0x804a, 0x153f,
index ea16d0bfac0002d3a302cd56407c0f24f1b09497..66981f02fd28f00798d51411196c8d84b2be5a8e 100644 (file)
@@ -68,7 +68,10 @@ Boston, MA 02111-1307, USA.  */
 #ifndef LONG_DOUBLE_TYPE_SIZE
 #define LONG_DOUBLE_TYPE_SIZE 64
 #endif
-#if (LONG_DOUBLE_TYPE_SIZE == 96) || (LONG_DOUBLE_TYPE_SIZE == 128)
+#ifndef MAX_LONG_DOUBLE_TYPE_SIZE
+#define MAX_LONG_DOUBLE_TYPE_SIZE LONG_DOUBLE_TYPE_SIZE
+#endif
+#if (MAX_LONG_DOUBLE_TYPE_SIZE == 96) || (MAX_LONG_DOUBLE_TYPE_SIZE == 128)
 #ifndef REAL_ARITHMETIC
 #define REAL_ARITHMETIC
 #endif
@@ -78,7 +81,7 @@ Boston, MA 02111-1307, USA.  */
 
 /* Support 80-bit extended real XFmode if LONG_DOUBLE_TYPE_SIZE
    has been defined to be 96 in the tm.h machine file. */
-#if (LONG_DOUBLE_TYPE_SIZE == 96)
+#if (MAX_LONG_DOUBLE_TYPE_SIZE == 96)
 #define REAL_IS_NOT_DOUBLE
 #define REAL_ARITHMETIC
 typedef struct {
@@ -88,7 +91,7 @@ typedef struct {
 
 #else /* no XFmode support */
 
-#if (LONG_DOUBLE_TYPE_SIZE == 128)
+#if (MAX_LONG_DOUBLE_TYPE_SIZE == 128)
 
 #define REAL_IS_NOT_DOUBLE
 #define REAL_ARITHMETIC
@@ -199,7 +202,7 @@ extern REAL_VALUE_TYPE real_value_truncate  PARAMS ((enum machine_mode,
   ereal_from_uint (&d, lo, hi, mode)
 
 /* IN is a REAL_VALUE_TYPE.  OUT is an array of longs. */
-#if LONG_DOUBLE_TYPE_SIZE == 96
+#if MAX_LONG_DOUBLE_TYPE_SIZE == 96
 #define REAL_VALUE_TO_TARGET_LONG_DOUBLE(IN, OUT) (etarldouble ((IN), (OUT)))
 #else
 #define REAL_VALUE_TO_TARGET_LONG_DOUBLE(IN, OUT) (etartdouble ((IN), (OUT)))
index 242db5bb83b2c1f3c317ad12113c8fd4fc2cd6a3..7f7906e4f7d445977dd1ef8c06c645b342b255bf 100644 (file)
--- a/gcc/rtl.c
+++ b/gcc/rtl.c
@@ -52,9 +52,9 @@ extern struct obstack *rtl_obstack;
    slots in a CONST_DOUBLE, so we provide them even if one would suffice.  */
 
 #ifdef REAL_ARITHMETIC
-#if LONG_DOUBLE_TYPE_SIZE == 96
+#if MAX_LONG_DOUBLE_TYPE_SIZE == 96
 #define REAL_WIDTH     (11*8 + HOST_BITS_PER_WIDE_INT)/HOST_BITS_PER_WIDE_INT
-#elif LONG_DOUBLE_TYPE_SIZE == 128
+#elif MAX_LONG_DOUBLE_TYPE_SIZE == 128
 #define REAL_WIDTH     (19*8 + HOST_BITS_PER_WIDE_INT)/HOST_BITS_PER_WIDE_INT
 #elif HOST_FLOAT_FORMAT != TARGET_FLOAT_FORMAT
 #define REAL_WIDTH     (7*8 + HOST_BITS_PER_WIDE_INT)/HOST_BITS_PER_WIDE_INT
@@ -62,11 +62,11 @@ extern struct obstack *rtl_obstack;
 #endif /* REAL_ARITHMETIC */
 
 #ifndef REAL_WIDTH
-#if HOST_BITS_PER_WIDE_INT*2 >= LONG_DOUBLE_TYPE_SIZE
+#if HOST_BITS_PER_WIDE_INT*2 >= MAX_LONG_DOUBLE_TYPE_SIZE
 #define REAL_WIDTH     2
-#elif HOST_BITS_PER_WIDE_INT*3 >= LONG_DOUBLE_TYPE_SIZE
+#elif HOST_BITS_PER_WIDE_INT*3 >= MAX_LONG_DOUBLE_TYPE_SIZE
 #define REAL_WIDTH     3
-#elif HOST_BITS_PER_WIDE_INT*4 >= LONG_DOUBLE_TYPE_SIZE
+#elif HOST_BITS_PER_WIDE_INT*4 >= MAX_LONG_DOUBLE_TYPE_SIZE
 #define REAL_WIDTH     4
 #endif
 #endif /* REAL_WIDTH */