With this patch, it is calculated if potential jump instruction and target are in the same segment.
If so, jump instruction with immediate field is used.
Also, branch expansion does not cover cases where offset does not fit immediate value of a bc/j instructions.
With this patch, offset is stored into registers, and then jump register instruction is used.