------- Comment #7 from pinskia at gcc dot gnu dot org 2006-06-03 02:49 ------- If you change the code to be integers, this also cause the drop too with reassociation even without -ffast-math so it is unrelated to the fact -ffast-math turns on reassociate for floating points for fast math.
So what is happening is that the add to rC[0-4]_0 is being further down which causes variable's life to be extended. Yes there should be a pass at the tree level which optimizes variable's life time but I don't know how much use that is without a better register allocator in the first place. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27855