diff options
Diffstat (limited to 'libiberty')
-rw-r--r-- | libiberty/ChangeLog | 9 | ||||
-rw-r--r-- | libiberty/floatformat.c | 52 |
2 files changed, 54 insertions, 7 deletions
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index 98d924b..0b3dd67 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,12 @@ +2001-08-20 Andrew Cagney <ac131313@redhat.com> + + * floatformat.c (floatformat_m88110_ext): Remove #ifdef + HARRIS_FLOAT_FORMAT. + (floatformat_ia64_spill_little, floatformat_ia64_quad_little) + (floatformat_ia64_spill_big, floatformat_ia64_quad_big) + (floatformat_arm_ext_big, floatformat_arm_ext_littlebyte_bigword) + (floatformat_m88110_harris_ext): New float formats. + 2001-08-17 Christopher Faylor <cgf@cygnus.com> * configure.in: Always set HAVE_SYS_ERRLIST when targetting cygwin. diff --git a/libiberty/floatformat.c b/libiberty/floatformat.c index 27d99f0..b5d0121 100644 --- a/libiberty/floatformat.c +++ b/libiberty/floatformat.c @@ -91,17 +91,17 @@ const struct floatformat floatformat_i960_ext = }; const struct floatformat floatformat_m88110_ext = { -#ifdef HARRIS_FLOAT_FORMAT + floatformat_big, 80, 0, 1, 15, 0x3fff, 0x7fff, 16, 64, + floatformat_intbit_yes, + "floatformat_m88110_ext" +}; +const struct floatformat floatformat_m88110_harris_ext = +{ /* Harris uses raw format 128 bytes long, but the number is just an ieee double, and the last 64 bits are wasted. */ floatformat_big,128, 0, 1, 11, 0x3ff, 0x7ff, 12, 52, floatformat_intbit_no, - "floatformat_m88110_ext(harris)" -#else - floatformat_big, 80, 0, 1, 15, 0x3fff, 0x7fff, 16, 64, - floatformat_intbit_yes, - "floatformat_m88110_ext" -#endif /* HARRIS_FLOAT_FORMAT */ + "floatformat_m88110_ext_harris" }; const struct floatformat floatformat_arm_ext = { @@ -110,6 +110,44 @@ const struct floatformat floatformat_arm_ext = floatformat_intbit_yes, "floatformat_arm_ext" }; +const struct floatformat floatformat_arm_ext_big = +{ + /* Bits 1 to 16 are unused. */ + floatformat_big, 96, 0, 17, 15, 0x3fff, 0x7fff, 32, 64, + floatformat_intbit_yes, + "floatformat_arm_ext_big" +}; +const struct floatformat floatformat_arm_ext_littlebyte_bigword = +{ + /* Bits 1 to 16 are unused. */ + floatformat_littlebyte_bigword, 96, 0, 17, 15, 0x3fff, 0x7fff, 32, 64, + floatformat_intbit_yes, + "floatformat_arm_ext_littlebyte_bigword" +}; +const struct floatformat floatformat_ia64_spill_big = +{ + floatformat_big, 128, 0, 1, 17, 65535, 0x1ffff, 18, 64, + floatformat_intbit_yes, + "floatformat_ia64_spill_big" +}; +const struct floatformat floatformat_ia64_spill_little = +{ + floatformat_little, 128, 0, 1, 17, 65535, 0x1ffff, 18, 64, + floatformat_intbit_yes, + "floatformat_ia64_spill_little" +}; +const struct floatformat floatformat_ia64_quad_big = +{ + floatformat_big, 128, 0, 1, 15, 16383, 0x7fff, 16, 112, + floatformat_intbit_no, + "floatformat_ia64_quad_big" +}; +const struct floatformat floatformat_ia64_quad_little = +{ + floatformat_little, 128, 0, 1, 15, 16383, 0x7fff, 16, 112, + floatformat_intbit_no, + "floatformat_ia64_quad_little" +}; static unsigned long get_field PARAMS ((unsigned char *, enum floatformat_byteorders, |