https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89654
--- Comment #2 from Uroš Bizjak <ubizjak at gmail dot com> --- Without STV, there are too many moves. -O2 -m32 -mno-stv should generate something like: movl 4(%esp), %eax movl 8(%esp), %edx shldl $3, %eax, %edx shll $3, %eax retl