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
This commit is contained in:
parent
34bdc2473c
commit
eaff3bf8c3
@ -1,3 +1,14 @@
|
||||
2002-09-17 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* 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.
|
||||
|
||||
2002-08-25 Andre Leis <a.leis@gmx.net>
|
||||
David Billinghurst (David.Billinghurst@riotinto.com>
|
||||
|
||||
|
@ -576,11 +576,13 @@ tree_transform (gnat_node)
|
||||
gigi_abort (336);
|
||||
|
||||
else
|
||||
gnu_result
|
||||
= build_real (gnu_result_type,
|
||||
REAL_VALUE_LDEXP
|
||||
(TREE_REAL_CST (gnu_result),
|
||||
- UI_To_Int (Denominator (ur_realval))));
|
||||
{
|
||||
REAL_VALUE_TYPE tmp;
|
||||
|
||||
real_ldexp (&tmp, &TREE_REAL_CST (gnu_result),
|
||||
- UI_To_Int (Denominator (ur_realval)));
|
||||
gnu_result = build_real (gnu_result_type, tmp);
|
||||
}
|
||||
}
|
||||
|
||||
/* Now see if we need to negate the result. Do it this way to
|
||||
|
@ -1937,7 +1937,7 @@
|
||||
rtx label2 = gen_label_rtx ();
|
||||
REAL_VALUE_TYPE offset;
|
||||
|
||||
offset = REAL_VALUE_LDEXP (dconst1, 31);
|
||||
real_2expN (&offset, 31);
|
||||
|
||||
if (reg1) /* turn off complaints about unreached code */
|
||||
{
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -4667,7 +4667,7 @@ move\\t%0,%z4\\n\\
|
||||
rtx label2 = gen_label_rtx ();
|
||||
REAL_VALUE_TYPE offset;
|
||||
|
||||
offset = REAL_VALUE_LDEXP (dconst1, 31);
|
||||
real_2expN (&offset, 31);
|
||||
|
||||
if (reg1) /* turn off complaints about unreached code */
|
||||
{
|
||||
@ -4713,7 +4713,7 @@ move\\t%0,%z4\\n\\
|
||||
rtx label2 = gen_label_rtx ();
|
||||
REAL_VALUE_TYPE offset;
|
||||
|
||||
offset = REAL_VALUE_LDEXP (dconst1, 63);
|
||||
real_2expN (&offset, 63);
|
||||
|
||||
if (reg1) /* turn off complaints about unreached code */
|
||||
{
|
||||
@ -4759,7 +4759,7 @@ move\\t%0,%z4\\n\\
|
||||
rtx label2 = gen_label_rtx ();
|
||||
REAL_VALUE_TYPE offset;
|
||||
|
||||
offset = REAL_VALUE_LDEXP (dconst1, 31);
|
||||
real_2expN (&offset, 31);
|
||||
|
||||
if (reg1) /* turn off complaints about unreached code */
|
||||
{
|
||||
@ -4805,7 +4805,7 @@ move\\t%0,%z4\\n\\
|
||||
rtx label2 = gen_label_rtx ();
|
||||
REAL_VALUE_TYPE offset;
|
||||
|
||||
offset = REAL_VALUE_LDEXP (dconst1, 63);
|
||||
real_2expN (&offset, 63);
|
||||
|
||||
if (reg1) /* turn off complaints about unreached code */
|
||||
{
|
||||
|
@ -8134,11 +8134,6 @@ floating point format supports negative zeroes and/or NaNs,
|
||||
Tests whether @var{x} is less than @var{y}.
|
||||
@end deftypefn
|
||||
|
||||
@findex ldexp
|
||||
@deftypefn Macro REAL_VALUE_TYPE REAL_VALUE_LDEXP (REAL_VALUE_TYPE @var{x}, int @var{scale})
|
||||
Multiplies @var{x} by 2 raised to the power @var{scale}.
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn Macro HOST_WIDE_INT REAL_VALUE_FIX (REAL_VALUE_TYPE @var{x})
|
||||
Truncates @var{x} to a signed integer, rounding toward zero.
|
||||
@end deftypefn
|
||||
@ -8148,17 +8143,6 @@ Truncates @var{x} to an unsigned integer, rounding toward zero. If
|
||||
@var{x} is negative, returns zero.
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn Macro REAL_VALUE_TYPE REAL_VALUE_RNDZINT (REAL_VALUE_TYPE @var{x})
|
||||
Rounds the target-machine floating point value @var{x} towards zero to an
|
||||
integer value, but leaves it represented as a floating point number.
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn Macro REAL_VALUE_TYPE REAL_VALUE_UNSIGNED_RNDZINT (REAL_VALUE_TYPE @var{x})
|
||||
Rounds the target-machine floating point value @var{x} towards zero to an
|
||||
unsigned integer value, but leaves it represented as a floating point
|
||||
number. If @var{x} is negative, returns (positive) zero.
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn Macro REAL_VALUE_TYPE REAL_VALUE_ATOF (const char *@var{string}, enum machine_mode @var{mode})
|
||||
Converts @var{string} into a floating point number in the target machine's
|
||||
representation for mode @var{mode}. This routine can handle both
|
||||
|
Loading…
Reference in New Issue
Block a user