First of all, only the 486 requires 16 byte alignment for code sections. The
Pentium doesn't require 16 byte alignment for cache optimization.
Second, .align is not necessarily 'supposed' to align to 2^xx bytes. If you
look at the as documentation, you'll find that the actual alignment amount
varies from system to system. If you want guaranteed 16 byte alignment, you
should use .balign 16.
I do agree that sections should be aligned at 16 byte boundries however.
I wouldn't know how to change this however and it isn't all that important to me
at this point.