* optabs.c (expand_float): Don't allow mode widening that causes
double rounding.
From-SVN: r33894
-2000-05-13 Geoffrey Keating <geoffk@cygnus.com>
+2000-05-14 Geoffrey Keating <geoffk@cygnus.com>
+
+ * optabs.c (expand_float): Don't allow mode widening that causes
+ double rounding.
* invoke.texi (RS/6000 and PowerPC Options): Update -m64/-m32
flags to their current names -maix64 and -maix32.
{
int doing_unsigned = unsignedp;
+ if (fmode != GET_MODE (to)
+ && significand_size (fmode) < GET_MODE_BITSIZE (GET_MODE (from)))
+ continue;
+
icode = can_float_p (fmode, imode, unsignedp);
if (icode == CODE_FOR_nothing && imode != GET_MODE (from) && unsignedp)
icode = can_float_p (fmode, imode, 0), doing_unsigned = 0;