Hacker News new | ask | show | jobs
by kccqzy 3293 days ago
Fine. If you are really into getting the shortest instruction, try "xorl %eax,%eax" then "incl %eax" which is four bytes (31 c0 ff c0).
1 comments

push $1/pop %eax (6a 01 58) is shorter, but perhaps not the best idea.
Actually, there is no 32-bit pop instruction in x86-64 mode. Your code won't work.
You're right: it should be pushq $1/pop %rax (which is also three bytes, although there will be a prefix byte for registers r8 through r15).