This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/39762] New: [4.4/4.5 Regression] IRA ICE with -msoft-float
- From: "jakub at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 14 Apr 2009 09:29:09 -0000
- Subject: [Bug rtl-optimization/39762] New: [4.4/4.5 Regression] IRA ICE with -msoft-float
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
/* { dg-do compile } */
/* { dg-options "-Os" } */
/* { dg-options "-Os -msoft-float" { target { { i?86-* x86_64-* } && ilp32 } }
} */
extern void bar (void);
void
foo (unsigned int x, unsigned int y, unsigned int z)
{
unsigned int a, b, d, e;
unsigned int f = (8 << 12) + 0.000122 * 4096;
b = (x << 12) + 0.000122 * 4096;
e = (100 << 12) + 0.000122 * 4096;
b = (unsigned long long) (((b << 13) / e) + 1) / 2;
a = (y / 8);
e = (a << 12) + 0.000122 * 4096;
d = (unsigned long long) (b * e + 2048) >> 12;
d = (unsigned long long) (d * f + 2048) >> 12;
if (z >= d)
bar ();
}
ICEs on i?86-linux (and x86_64-linux -m32) with -Os -msoft-float since r142892,
with -fno-ira it worked until that option has been removed.
--
Summary: [4.4/4.5 Regression] IRA ICE with -msoft-float
Product: gcc
Version: 4.4.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: rtl-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jakub at gcc dot gnu dot org
GCC target triplet: i?86-linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39762