https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120427
Harald van Dijk <harald at gigawatt dot nl> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |harald at gigawatt dot nl --- Comment #9 from Harald van Dijk <harald at gigawatt dot nl> --- (In reply to H.J. Lu from comment #2) > We shouldn't transform "mov $-1,reg" to "push $-1; pop reg". > We should transform "mov $-1,reg" to "or $-1,reg" instead. Is that really an improvement? For 32-bit registers, sure, it's fine, but for 64-bit registers this increases code size, does it not? orq $-1, %rax is four bytes, when pushq $-1; popq %rax is only three.