------- Comment #2 from jakub at gcc dot gnu dot org 2010-01-02 14:30 ------- With 3 register vars in the function (ebx, edi, esi) on the register starved ix86 the error is tollerable. From the 8 registers the programmer takes 3, %esp is fixed, without -fomit-frame-pointer %ebp is fixed too, which leaves just %eax, %edx and %ecx for register allocation. Even if this happens to compile, the result can't work fast, as almost all insns need to have temporaries spilled and reread back.
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42536