Brian D.McGrew <brian@xxxxxxxxxxxxx> writes: > As for the -O0 flag, I posted the wrong trace file. In the release > trees, we use -O2 -g -finline-limit=2750 on all versions, all > platforms. My bad. I doubt this is your problem, but -finline-limit will have a different effect on i386 and SPARC, since the SPARC will normally require more instructions. Although -finline-limit is expressed in terms of pseudo-instructions, gcc pseudo-instructions are different on i386 and SPARC. It would normally be appropriate to use a larger -finline-limit on SPARC. As I say, I doubt this is your problem. I have no idea what your problem is. It's fairly unlikely that anybody can tell you what is wrong here. As was already suggested, try using a profiler to see where the hot spots are in your slow version. Perhaps gcc is egregiously miscompiling something on SPARC. Ian