------- Comment #50 from jakub at gcc dot gnu dot org 2009-05-20 22:09 ------- nopl 0x0(%rax,%rax,1) and nopw 0x0(%rax,%rax,1) aren't padding (though, it has been added in this case for label alignment or function entry alignment, not to avoid 4+ jumps in one 16byte page)? Anyway, you want to look at both -S output and objdump -d of -c output, there you'll see needed .p2align added.
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39942