Bug 21737 - long double incorrect result
Summary: long double incorrect result
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: target (show other bugs)
Version: 3.4.3
: P2 normal
Target Milestone: 4.0.0
Assignee: Not yet assigned to anyone
URL:
Keywords: wrong-code
Depends on:
Blocks:
 
Reported: 2005-05-24 16:09 UTC by Fabrizio Ferrandi
Modified: 2006-03-18 06:22 UTC (History)
1 user (show)

See Also:
Host: i386-redhat-linux
Target: i386-redhat-linux
Build: i386-redhat-linux
Known to work:
Known to fail:
Last reconfirmed:


Attachments
preprocessed file (254 bytes, text/plain)
2005-05-24 16:13 UTC, Fabrizio Ferrandi
Details
i386 assembler of 20040208-2.c.t12.eh.c (444 bytes, text/plain)
2005-05-24 16:31 UTC, Fabrizio Ferrandi
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Fabrizio Ferrandi 2005-05-24 16:09:01 UTC
Starting from file 20040208-2.c provided in the gcc testsuite I've obtained an
equivalent version performing an abort.

By changing the following two lines:
  Internal = x_0 * 0x0.8000000000000000000000000000000000000000p+2L;
  x = Internal;

in 
  x = x_0 * 0x0.8000000000000000000000000000000000000000p+2L;
everything work well.

I've obtained the same bug on gcc  2.96, 3.3.4, 3.4.3 and 4.0.0.
Comment 1 Fabrizio Ferrandi 2005-05-24 16:13:33 UTC
Created attachment 8961 [details]
preprocessed file
Comment 2 Andrew Pinski 2005-05-24 16:18:56 UTC
4.0.0 and 4.1.0 works for me on i686-pc-linux-gnu.
3.4.0 fails though.
Comment 3 Fabrizio Ferrandi 2005-05-24 16:31:40 UTC
Created attachment 8962 [details]
i386 assembler of 20040208-2.c.t12.eh.c
Comment 4 Andrew Pinski 2006-03-18 06:22:55 UTC
As I mentioned 4.0.0 works for me so closing as fixed.