ARM THUMB: fundamental bug in handling of far jumps?
Richard Henderson
rth@redhat.com
Mon Jan 28 11:40:00 GMT 2002
On Mon, Jan 28, 2002 at 04:44:08PM +0100, Adrian von Bidder wrote:
> btw: the far jumps I'm seeing are often in code like this
>
> cmp [something]
> b[cond] .LABEL
> bl .SILLY
> .LABEL: ...
> ...
> ... (a few hundred instructions)
> ...
> .SILLY: add r2, r3 (just some random conditional op)
> bl .LABEL
[...]
> Why does gcc emit code like this?
Because it wants to generate
b[cond] .SILLY
.LABEL
...
.SILLY
add r2 r3
b .LABEL
You can turn off some of this with -fno-reorder-blocks.
r~
More information about the Gcc
mailing list