NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: toolchain/45439: gcc generates out-of-range branch insn for m68k
The following reply was made to PR toolchain/45439; it has been noted by GNATS.
From: Hauke Fath <hauke%Espresso.Rhein-Neckar.DE@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: toolchain-manager%NetBSD.org@localhost, gnats-admin%NetBSD.org@localhost
Subject: Re: toolchain/45439: gcc generates out-of-range branch insn for
m68k
Date: Fri, 7 Oct 2011 21:18:52 +0200
At 18:20 Uhr +0000 7.10.2011, David Laight wrote:
> Possibly this is an assembler bug.
> The 68k coprocesser conditional branches can have either a 16bit
> or 32bit signed offset.
>
> The compiler could add an explicit .l suffix, but I don't expect
> that it expects to - and probably doesn't for non-coprocessor
> branches.
The as(1) info documentation has a paragraph about the magic it works to
pick the proper displacement for branch insns, to the point where it will
insert a jmp for a bra if needs be. The corresponding paragraph on fpu
branches is way shorter:
Each of these pseudo-operations always expands to a single Motorola
coprocessor branch instruction, word or long. All Motorola
coprocessor branch instructions allow both word and long
displacements.
So gcc grew to expect a smart assembler, and gas is dragging its feet?
hauke
--
"It's never straight up and down" (DEVO)
Home |
Main Index |
Thread Index |
Old Index