Hi, and for size, could you please also do -Os comparsions? I am aware that -O2 inliner is tuned somewhat up at C++. This is given by fact that we do have C++ benchmark suite we use to monitor inlining. http://gcc.opensuse.org/c++bench-frescobaldi/
Programs there are a lot more aggressive on abstraction than whatever SPEC2k and SPEC2k6 does. I know I can tune the inliner down for SPEC but get regression there... But given we can get 10% difference on normal C++ program it might be interesting to consider some compromise, at least for -O2. Honza