In my programs the procedures are 16 bytes aligned.
Do I also have to align the JMPs and the Jcond on a 16 bytes boundary?
Nope !
i think a lot depends on which processor is running the code
on my P4, short branch targets need not be aligned
but, it helps to align long targets
there are short and long (near) types of JMP's and Jcc's, only far JMP's
calls are either near or far, never short
On my AMD it seems that when JMP and Jcc are aligned it is quicker.
It's easy to say, I have nothing to test.