http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61082
--- Comment #10 from David Greene <greened at obbligato dot org> --- (In reply to H.J. Lu from comment #9) > Y is returned as {NO_CLASS, INTEGER} in register. psABI doesn't > explicitly say how NO_CLASS should be handled in this case. GCC > simply skips NO_CLASS when assigning it to a register. Except section 3.2.3 when talking about classifying aggregates says under point 4 (b): If one of the classes is NO_CLASS, the resulting class is the other class. So Y should be classified as INTEGER and returned in (RAX, RDX).