ld and the H8/300For the H8/300, ld can perform these global optimizations when
you specify the --relax command-line option.
ld finds all jsr and jmp instructions whose
targets are within eight bits, and turns them into eight-bit
program-counter relative bsr and bra instructions,
respectively.
ld finds all mov.b instructions which use the
sixteen-bit absolute address form, but refer to the top
page of memory, and changes them to use the eight-bit address form.
(That is: the linker turns mov.b @aa:16 into
mov.b @aa:8 whenever the address aa is in the
top page of memory).