extern void abort (void);
double d = __FLT_MIN__ / 2;
int main()
{
double x = __FLT_MIN__ / 2;
if (x != d)
abort ();
return 0;
}
This test will SIGFPE on alpha, because we'll emit the constant for X as
a float. Obviously this cannot be represented as a normalized number.
--
Summary: compress_float_constant creates denormals
Product: gcc
Version: 4.0.1
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: rtl-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rth at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org
GCC target triplet: alpha
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23941