http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59477
--- Comment #4 from Eric Botcazou <ebotcazou at gcc dot gnu.org> --- > Usually combiner will reject such combination on i?86/x86_64 in the fn > argument hard reg setup insns because of cant_combine_insn_p, but here r8 > isn't likely spilled. Also, typically cx is initialized after r8, because > hard register arguments are initialized from last argument to first. But in > this case there is one argument passed in rcx/r8 pair and within a single > argument we typically initialize the first half before the second one. Is rcx likely spilled? If so, the situation looks similar to the one dealt with by likely_spilled_retval_p so maybe the machinery could be extended to argument registers.