[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#229567: gcc-3.3: Miscompile with -O -funroll-loops on powerpc



Matijs van Zuijlen writes:
> Package: gcc-3.3
> Version: 1:3.3.3-0pre2
> Severity: normal
> 
> When complied with -O -funroll-loops on powerpc, the attached test.i
> produces the following output:
> 
> Bytes in main:  0 1
> Bytes in: 0 1 0 1 0 1 ( 0 10 15 254)
> x = 282
> Bytes in: 0 1 0 1 0 1 ( 94 52 15 254)
> x = 418
> Bytes in: 0 1 0 1 0 1 ( 7 208 15 254)
> x = 487
> 
> The reported x's should be the sum of the first six numbers on the line
> above. Instead, it is the sum of _all_ the numbers on the line above.
> Changing -O to -O2, or removing -funroll-loops generates the following
> (correct) result:
> 
> Bytes in main:  0 1
> Bytes in: 0 1 0 1 0 1 ( 70 148 15 234)
> x = 3
> Bytes in: 0 1 0 1 0 1 ( 0 10 15 254)
> x = 3
> Bytes in: 0 1 0 1 0 1 ( 7 76 15 234)
> x = 3
> 
> On 386, this problem does not occur.
> 
> Note that this could be the same bug as PR13222, in which case this would
> be a nice, small, test case. I have not actually looked at the test case
> in PR13222 however, since it is rather large.

please could you recheck with other compiler versions,
i.e. gcc-snapshot (if it's fixed upstream), gcc-3.2, gcc-2.95 (to
check if the bug is a regression)

Thanks, Matthias



Reply to: