[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gcc-bugs
Subject:    [Bug middle-end/40924]  New: 4.4.1 regression: miscompiles with -03 (seemingly related to attribute
From:       "kretz at kde dot org" <gcc-bugzilla () gcc ! gnu ! org>
Date:       2009-07-31 9:23:27
Message-ID: bug-40924-17603 () http ! gcc ! gnu ! org/bugzilla/
[Download RAW message or body]

After upgrading to 4.4.1 one of my unit tests started failing reproducibly.

I tried to find the part of -O3 (compared to -O2) that caused the failure and I
was able to "fix" the error by changing "optimize >= 3" to "optimize >= 4" in
tree-ssa-loop.c lines 509 and 550. That's the minimal change to make it work
again.

Next I tried to reduce my code to a simple testcase but that is really hard. I
will attach the smallest file I was able to reduce. But in that case it also
fails at -O3 (with my change above -O4 was necessary to make it fail), -O2 and
-O1. -O0 still doesn't fail.

Any further simplification of the code made the bug go away.

The code creates an array of floats which an index vector (starting from {0,
1}) gathers values from into a float vector class. Then the code verifies that
the correct values were read.

The error I was able to identify in the assembly is that the multiplication at
line 93 ({0, 1} * uint_v(1)) is carried out as {0, 1} * {2, 3} instead of {0,
1} * {1, 1}.


-- 
           Summary: 4.4.1 regression: miscompiles with -03 (seemingly
                    related to attribute may_alias)
           Product: gcc
           Version: 4.4.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: kretz at kde dot org
 GCC build triplet: x86_64-unknown-linux-gnu
  GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: x86_64-unknown-linux-gnu


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

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic