Commit 17dfb726 by Akiko Matsushita Committed by Jeff Law

* gengenrtl.c, rtl.c: Avoid #elif.

From-SVN: r35456
parent e8205901
Thu Aug 3 10:05:53 2000 Akiko Matsushita <matusita@sra.co.jp>
* gengenrtl.c, rtl.c: Avoid #elif.
2000-08-03 Michael Poole <poole@troilus.org> 2000-08-03 Michael Poole <poole@troilus.org>
* tm.texi (Register Classes): Clarify order of sub-initializers * tm.texi (Register Classes): Clarify order of sub-initializers
......
...@@ -40,37 +40,56 @@ Boston, MA 02111-1307, USA. */ ...@@ -40,37 +40,56 @@ Boston, MA 02111-1307, USA. */
slots in a CONST_DOUBLE, so we provide them even if one would suffice. */ slots in a CONST_DOUBLE, so we provide them even if one would suffice. */
#ifdef REAL_ARITHMETIC #ifdef REAL_ARITHMETIC
#if MAX_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 # define REAL_WIDTH \
#elif MAX_LONG_DOUBLE_TYPE_SIZE == 128 (11*8 + HOST_BITS_PER_WIDE_INT)/HOST_BITS_PER_WIDE_INT
#define REAL_WIDTH (19*8 + HOST_BITS_PER_WIDE_INT)/HOST_BITS_PER_WIDE_INT # else
#elif HOST_FLOAT_FORMAT != TARGET_FLOAT_FORMAT # if MAX_LONG_DOUBLE_TYPE_SIZE == 128
#define REAL_WIDTH (7*8 + HOST_BITS_PER_WIDE_INT)/HOST_BITS_PER_WIDE_INT # define REAL_WIDTH \
#endif (19*8 + HOST_BITS_PER_WIDE_INT)/HOST_BITS_PER_WIDE_INT
# else
# if HOST_FLOAT_FORMAT != TARGET_FLOAT_FORMAT
# define REAL_WIDTH \
(7*8 + HOST_BITS_PER_WIDE_INT)/HOST_BITS_PER_WIDE_INT
# endif
# endif
# endif
#endif /* REAL_ARITHMETIC */ #endif /* REAL_ARITHMETIC */
#ifndef REAL_WIDTH #ifndef REAL_WIDTH
#if HOST_BITS_PER_WIDE_INT*2 >= MAX_LONG_DOUBLE_TYPE_SIZE # if HOST_BITS_PER_WIDE_INT*2 >= MAX_LONG_DOUBLE_TYPE_SIZE
#define REAL_WIDTH 2 # define REAL_WIDTH 2
#elif HOST_BITS_PER_WIDE_INT*3 >= MAX_LONG_DOUBLE_TYPE_SIZE # else
#define REAL_WIDTH 3 # if HOST_BITS_PER_WIDE_INT*3 >= MAX_LONG_DOUBLE_TYPE_SIZE
#elif HOST_BITS_PER_WIDE_INT*4 >= MAX_LONG_DOUBLE_TYPE_SIZE # define REAL_WIDTH 3
#define REAL_WIDTH 4 # else
#endif # if HOST_BITS_PER_WIDE_INT*4 >= MAX_LONG_DOUBLE_TYPE_SIZE
# define REAL_WIDTH 4
# endif
# endif
# endif
#endif /* REAL_WIDTH */ #endif /* REAL_WIDTH */
#if REAL_WIDTH == 1 #if REAL_WIDTH == 1
#define CONST_DOUBLE_FORMAT "e0ww" # define CONST_DOUBLE_FORMAT "e0ww"
#elif REAL_WIDTH == 2
#define CONST_DOUBLE_FORMAT "e0ww"
#elif REAL_WIDTH == 3
#define CONST_DOUBLE_FORMAT "e0www"
#elif REAL_WIDTH == 4
#define CONST_DOUBLE_FORMAT "e0wwww"
#elif REAL_WIDTH == 5
#define CONST_DOUBLE_FORMAT "e0wwwww"
#else #else
#define CONST_DOUBLE_FORMAT /* nothing - will cause syntax error */ # if REAL_WIDTH == 2
# define CONST_DOUBLE_FORMAT "e0ww"
# else
# if REAL_WIDTH == 3
# define CONST_DOUBLE_FORMAT "e0www"
# else
# if REAL_WIDTH == 4
# define CONST_DOUBLE_FORMAT "e0wwww"
# else
# if REAL_WIDTH == 5
# define CONST_DOUBLE_FORMAT "e0wwwww"
# else
# define CONST_DOUBLE_FORMAT /* nothing - will cause syntax error */
# endif
# endif
# endif
# endif
#endif #endif
......
...@@ -52,37 +52,56 @@ extern struct obstack *rtl_obstack; ...@@ -52,37 +52,56 @@ extern struct obstack *rtl_obstack;
slots in a CONST_DOUBLE, so we provide them even if one would suffice. */ slots in a CONST_DOUBLE, so we provide them even if one would suffice. */
#ifdef REAL_ARITHMETIC #ifdef REAL_ARITHMETIC
#if MAX_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 # define REAL_WIDTH \
#elif MAX_LONG_DOUBLE_TYPE_SIZE == 128 (11*8 + HOST_BITS_PER_WIDE_INT)/HOST_BITS_PER_WIDE_INT
#define REAL_WIDTH (19*8 + HOST_BITS_PER_WIDE_INT)/HOST_BITS_PER_WIDE_INT # else
#elif HOST_FLOAT_FORMAT != TARGET_FLOAT_FORMAT # if MAX_LONG_DOUBLE_TYPE_SIZE == 128
#define REAL_WIDTH (7*8 + HOST_BITS_PER_WIDE_INT)/HOST_BITS_PER_WIDE_INT # define REAL_WIDTH \
#endif (19*8 + HOST_BITS_PER_WIDE_INT)/HOST_BITS_PER_WIDE_INT
# else
# if HOST_FLOAT_FORMAT != TARGET_FLOAT_FORMAT
# define REAL_WIDTH \
(7*8 + HOST_BITS_PER_WIDE_INT)/HOST_BITS_PER_WIDE_INT
# endif
# endif
# endif
#endif /* REAL_ARITHMETIC */ #endif /* REAL_ARITHMETIC */
#ifndef REAL_WIDTH #ifndef REAL_WIDTH
#if HOST_BITS_PER_WIDE_INT*2 >= MAX_LONG_DOUBLE_TYPE_SIZE # if HOST_BITS_PER_WIDE_INT*2 >= MAX_LONG_DOUBLE_TYPE_SIZE
#define REAL_WIDTH 2 # define REAL_WIDTH 2
#elif HOST_BITS_PER_WIDE_INT*3 >= MAX_LONG_DOUBLE_TYPE_SIZE # else
#define REAL_WIDTH 3 # if HOST_BITS_PER_WIDE_INT*3 >= MAX_LONG_DOUBLE_TYPE_SIZE
#elif HOST_BITS_PER_WIDE_INT*4 >= MAX_LONG_DOUBLE_TYPE_SIZE # define REAL_WIDTH 3
#define REAL_WIDTH 4 # else
#endif # if HOST_BITS_PER_WIDE_INT*4 >= MAX_LONG_DOUBLE_TYPE_SIZE
# define REAL_WIDTH 4
# endif
# endif
# endif
#endif /* REAL_WIDTH */ #endif /* REAL_WIDTH */
#if REAL_WIDTH == 1 #if REAL_WIDTH == 1
#define CONST_DOUBLE_FORMAT "e0ww" # define CONST_DOUBLE_FORMAT "e0ww"
#elif REAL_WIDTH == 2
#define CONST_DOUBLE_FORMAT "e0ww"
#elif REAL_WIDTH == 3
#define CONST_DOUBLE_FORMAT "e0www"
#elif REAL_WIDTH == 4
#define CONST_DOUBLE_FORMAT "e0wwww"
#elif REAL_WIDTH == 5
#define CONST_DOUBLE_FORMAT "e0wwwww"
#else #else
#define CONST_DOUBLE_FORMAT /* nothing - will cause syntax error */ # if REAL_WIDTH == 2
# define CONST_DOUBLE_FORMAT "e0ww"
# else
# if REAL_WIDTH == 3
# define CONST_DOUBLE_FORMAT "e0www"
# else
# if REAL_WIDTH == 4
# define CONST_DOUBLE_FORMAT "e0wwww"
# else
# if REAL_WIDTH == 5
# define CONST_DOUBLE_FORMAT "e0wwwww"
# else
# define CONST_DOUBLE_FORMAT /* nothing - will cause syntax error */
# endif
# endif
# endif
# endif
#endif #endif
/* Indexed by rtx code, gives number of operands for an rtx with that code. /* Indexed by rtx code, gives number of operands for an rtx with that code.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment