------- Comment #2 from stefan dot bruens at rwth-aachen dot de  2008-08-09 
20:37 -------
The expected output is quite clear - 69f00000 6a000000 - but output is 69f00000
0.
The loop should run 100000 times, as i does not overflow.
d_phase does overflow after 2048 steps, but this should not influence the loop.

with -O2, gcc seems to do the following:
- d_phase is the same as i*0x100000
- the block should run 0x186a0 times
- (0x186a0 * 0x100000) & 0xffffffff = 0x6a000000
- break when d_phase reaches 0x6a000000 (1696 increment steps)

with -O3 and -O1, d_phase and i get their own variables
there should be at least a warning


-- 

stefan dot bruens at rwth-aachen dot de changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |UNCONFIRMED
         Resolution|INVALID                     |


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

Reply via email to