mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-23 17:39:31 +08:00
optabs.c (expand_float): Don't allow mode widening that causes double rounding.
* optabs.c (expand_float): Don't allow mode widening that causes double rounding. From-SVN: r33894
This commit is contained in:
parent
fa06229fde
commit
5ba02ca647
@ -1,4 +1,7 @@
|
||||
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.
|
||||
|
@ -3888,6 +3888,10 @@ expand_float (to, from, unsignedp)
|
||||
{
|
||||
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;
|
||||
|
Loading…
Reference in New Issue
Block a user