Since things like brne, brlt and such cannot really be used on their own for branches inside a function (they can only jump up to 64 instructions away), they all have to be
- inverted branch and use long jmp
or use compare skip if equal and the like and then long jump.
So the mess created by this then has to be optimized away again in some optimizer pass.