This is, in principle, non-op, yes.
The compiler does this because branching to an address aligned on a 4-byte boundary is faster than branching to an uneven address. Therefore, if you have a loop, the compiler will insert "padding" just before it starts to bring it into line.