[PATCH/m68k] fix jump table addressing

Andreas Schwab schwab@suse.de
Wed Sep 19 14:48:00 GMT 2007


Roman Zippel <zippel@linux-m68k.org> writes:

> @@ -3822,16 +3803,6 @@ print_operand (FILE *file, rtx op, int l
>     It is possible for PIC to generate a (plus (label_ref...) (reg...))
>     and we handle that just like we would a (plus (symbol_ref...) (reg...)).
>  
> -   Some SGS assemblers have a bug such that "Lnnn-LInnn-2.b(pc,d0.l*2)"
> -   fails to assemble.  Luckily "Lnnn(pc,d0.l*2)" produces the results
> -   we want.  This difference can be accommodated by using an assembler
> -   define such "LDnnn" to be either "Lnnn-LInnn-2.b", "Lnnn", or any other
> -   string, as necessary.  This is accomplished via the ASM_OUTPUT_CASE_END
> -   macro.  See m68k/sgs.h for an example; for versions without the bug.
> -   Some assemblers refuse all the above solutions.  The workaround is to
> -   emit "K(pc,d0.l*2)" with K being a small constant known to give the
> -   right behavior.
> -
>     They also do not like things like "pea 1.w", so we simple leave off
>     the .w on small constants. 

The last sentence no longer makes sense after removal of the previous
one.  It is obsolete anyway since the removal of the SGS code, so please
remove it as well.

Ok with that change.

Andreas.

-- 
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."



More information about the Gcc-patches mailing list