diff options
author | rms <rms@138bc75d-0d04-0410-961f-82ee72b054a4> | 1993-09-22 19:15:37 +0000 |
---|---|---|
committer | rms <rms@138bc75d-0d04-0410-961f-82ee72b054a4> | 1993-09-22 19:15:37 +0000 |
commit | 50a3c18634117dc4fa8eaca7d509ccca9a214e01 (patch) | |
tree | f43fb3dfa9076933fa143e0b67928034ef10b64b /gcc/enquire.c | |
parent | e04a978fc825fe9c79bf573d90780618d07297a5 (diff) | |
download | gcc-50a3c18634117dc4fa8eaca7d509ccca9a214e01.tar.gz |
(FPROP): Recognize 80387 or 68881 XFmode format.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@5410 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/enquire.c')
-rw-r--r-- | gcc/enquire.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/gcc/enquire.c b/gcc/enquire.c index d9e16f16788..029fbd2ee91 100644 --- a/gcc/enquire.c +++ b/gcc/enquire.c @@ -29,6 +29,10 @@ Richard Stallman, May 93: In F_check, check NO_LONG_DOUBLE_IO. + Changes by Stephen Moshier, installed Sep 93: + (FPROP): Recognize 80387 or 68881 XFmode format. + + COMPILING With luck and a following wind, just the following will work: cc enquire.c -o enquire @@ -2678,6 +2682,14 @@ int FPROP(bits_per_byte) int bits_per_byte; { if (f_radix != 10) { hidden=0; mantbits=floor_log(2, (Long_double)f_radix)*f_mant_dig; + if (mantbits == 64 + && iexp == 15 + && f_max_exp+f_min_exp > 0 /* ??? f_min_exp may be wrong. */ + && mantbits+iexp+17 == (int)sizeof(Number)*bits_per_byte) { + Vprintf("%sArithmetic probably doesn't use a hidden bit%s\n", co, oc); + Vprintf("%sIt's probably 80387 or 68881 extended real%s\n", co, oc); + goto is_extended; + } if (mantbits+iexp == (int)sizeof(Number)*bits_per_byte) { hidden=1; Vprintf("%sArithmetic uses a hidden bit%s\n", co, oc); @@ -2698,6 +2710,7 @@ int FPROP(bits_per_byte) int bits_per_byte; { f_mant_dig==53 ? "double" : f_mant_dig >53 ? "extended" : "some", oc); +is_extended: if (f_rounds != 1 || normal) { Vprintf("%s though ", co); if (f_rounds != 1) { |