On 02/21/2010 12:13 PM, Richard Guenther wrote: > On Sun, Feb 21, 2010 at 1:06 PM, Geert Bosch <bo...@adacore.com> wrote: >> >> On Feb 21, 2010, at 06:18, Steven Bosscher wrote: >>> My point: gcc may fail to attract users (and/or may be losing users) >>> when it tries to tailor to the needs of minorities. >>> >>> IMHO it would be much more reasonable to change the defaults to >>> generate code that can run on, say, 95% of the computers still in use. >>> If a user want to use the latest-and-greatest gcc for a really old >>> machine, the burden of adding extra flags to change the default >>> behavior of the compiler should be on that user. >>> >>> In this case of the i386 back end, that probably means changing the >>> default to something like pentium3. >> >> The biggest change we need to make for x86 is to enable SSE2, >> so we can get proper rounding behavior for float and double, >> as well as significant performance increases. > > I think Joseph fixed the rounding behavior for 4.5. Also without an adjusted > ABI you'd introduce x87 <-> SSE register moves which are not helpful > for performance.
Exactly. For example, double plus(double a, double b) { return a+b; } plus: pushl %ebp movl %esp, %ebp subl $8, %esp movsd 16(%ebp), %xmm0 addsd 8(%ebp), %xmm0 movsd %xmm0, -8(%ebp) fldl -8(%ebp) leave ret Andrew.