On Wed, 2005-05-04 at 09:37, Anuradha Suraparaju wrote: > I've attached a sample file to this email. The class defined in the cpp > file is a cut down and modfied version of the class used in Dirac.
That is a fine bug report. You just need to put it in bugzilla if you want us to do anything about it. I took a quick look at it. It appears to be a register allocation issue. The gcc mainline compiled code I looked at uses 3 mmx registers, and ends up putting one variable on the stack, thus needing two extra loads and stores in the inner loop. The gcc-3.3.3 compiled code I looked at put everything in registers, using 7 mmx registers, and no unnecessary loads/stores in the inner loop. -- Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com