http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57299
--- Comment #4 from Chris Mihelich <umbricola at gmail dot com> --- Yes indeed, x is loaded from the stack into edi, and y is loaded from the stack into esi, as the register variable declarations specified. That's two registers. Where are the other two?