PR 11637
Janis Johnson
janis187@us.ibm.com
Sat Jul 26 02:37:00 GMT 2003
On Wed, Jul 23, 2003 at 04:29:47PM -0700, Mark Mitchell wrote:
>
> This PR relates to reload creating an invalid instruction; it creates
> thie following move:
>
> (set (mem:SF (reg/v/u/f:SI 0 eax [58]) [3 S4 A32])
> (const_double:DF -858993408 [0xcccccd00] 5.00000007450580596923828125e-2 [0x0.cccccdp-4]))
>
> Note the use of DFmode on the second operand.
>
> Can anyone figure out what is going wrong there?
The regression in PR 11637 was introduced or exposed with this patch:
--- gcc/gcc/ChangeLog ---
2002-11-17 Graham Stott <graham.stott@btinternet.com>
* real.c (real_to_decimal): Fix buffer overrun when buffer size
is smaller than representation.
It was fixed on mainline by:
--- gcc/gcc/ChangeLog ---
Tue Jan 14 00:45:33 CET 2003 Jan Hubicka <jh@suse.cz>
* convert.c (strip_float_extensions): Look for narrowest type handling
FP constants.
* fold-const.c (fold): Fold (double)float1 CMP (double)float2 into
float1 CMP float2.
* convert.c (strip_float_extensions): Make global.
* tree.h (strip_float_extensions): Declare.
The regression hunt was done on i686-pc-linux-gnu using the small test
case compiled with "-O2 -fnon-call-exceptions, and then searching the
generated .s file for "3e-2".
I can't get to gcc.gnu.org right now, but when I can I'll add this
information to the PR.
Janis
More information about the Gcc
mailing list