diff options
author | Richard Henderson <rth@redhat.com> | 2002-09-17 02:30:47 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2002-09-17 02:30:47 -0700 |
commit | eaff3bf8c3fca80a61ee8b00e13a6e8a0a11da37 (patch) | |
tree | ac34a77939ea0c0f8fa6f3006381bc025c15b4f0 /gcc/config/m68k | |
parent | 34bdc2473cd4064f5af53c29e557bd38c9fa17e4 (diff) | |
download | gcc-eaff3bf8c3fca80a61ee8b00e13a6e8a0a11da37.zip gcc-eaff3bf8c3fca80a61ee8b00e13a6e8a0a11da37.tar.gz gcc-eaff3bf8c3fca80a61ee8b00e13a6e8a0a11da37.tar.bz2 |
trans.c (tree_transform): Use real_ldexp not REAL_VALUE_LDEXP.
* trans.c (tree_transform): Use real_ldexp not REAL_VALUE_LDEXP.
* config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2): Use real_2expN.
* config/mips/mips.md (fixuns_truncdfsi2): Likewise.
(fixuns_truncdfdi2, fixuns_truncsfsi2, fixuns_truncsfdi2): Likewise.
* config/m68k/m68k.c (floating_exact_log2): Use real_exponent
and real_2expN instead of a loop.
* doc/tm.texi (REAL_VALUE_LDEXP): Remove.
(REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT): Remove.
From-SVN: r57245
Diffstat (limited to 'gcc/config/m68k')
-rw-r--r-- | gcc/config/m68k/m68k.c | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/gcc/config/m68k/m68k.c b/gcc/config/m68k/m68k.c index 5302ff2..acc61bd 100644 --- a/gcc/config/m68k/m68k.c +++ b/gcc/config/m68k/m68k.c @@ -2719,22 +2719,18 @@ floating_exact_log2 (x) rtx x; { REAL_VALUE_TYPE r, r1; - int i; + int exp; REAL_VALUE_FROM_CONST_DOUBLE (r, x); - if (REAL_VALUES_LESS (r, dconst0)) + if (REAL_VALUES_LESS (r, dconst1)) return 0; - r1 = dconst1; - i = 0; - while (REAL_VALUES_LESS (r1, r)) - { - r1 = REAL_VALUE_LDEXP (dconst1, i); - if (REAL_VALUES_EQUAL (r1, r)) - return i; - i = i + 1; - } + exp = real_exponent (&r); + real_2expN (&r1, exp); + if (REAL_VALUES_EQUAL (r1, r)) + return exp; + return 0; } |