https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67260
--- Comment #8 from Alexander Monakov <amonakov at gcc dot gnu.org> --- Hm, if GCC won't accept clobbering a hardreg that overlaps the output hardregs holding the return value (operands[0]), then it's less obvious. r0 is always suitable then and does not require mentioning in the RTL template, but constrains scheduling as Rich said. On the other hand, r1-r3 are also always suitable by virtue of being call-clobbered, and thus they wouldn't require a mention in the RTL template either.