[Bug target/17345] [4.0 Regression] internal compiler error: in optimize_mode_switching, at lcm.c:1225

uros at kss-loka dot si gcc-bugzilla@gcc.gnu.org
Fri Sep 10 05:38:00 GMT 2004


------- Additional Comments From uros at kss-loka dot si  2004-09-10 05:38 -------
Subject:  [3.5 Regression] internal compiler error: in optimize_mode_switching,
 at lcm.c:1225

(In reply to comment #14)

 > Does it actually help something in this form?  I think we will still end
 > up reinitializing them at each change from one mode to another.  What we
 > really need is either somewhat extended optimize_mode_switching
 > interface or create independent entities for these so multiple of them
 > can be intialized at once...

Hm, it looks I misunderstood the problem. You are right, my patch does 
not move the reinitializiation of control words out of for loops. This 
testcase will show the problem:

double test() {
        double a;
        double x;

        for (x == 0; x < 10.0; x += 1.0)
                a += ceil (x) + floor (x);
        return a;
}

When compiled with '-O2 -ffast-math', CW is initialized inside for loop.

Uros.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17345



More information about the Gcc-bugs mailing list