From: Paul Brook Date: Thu, 29 Dec 2005 15:08:43 +0000 (+0000) Subject: m68k.c (m68k_output_pic_call): Don't use bsr.l for !TARGET_68020. X-Git-Tag: releases/gcc-4.2.0~5120 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=338276300ec3b1b537ca687ea82abd777de15894;p=thirdparty%2Fgcc.git m68k.c (m68k_output_pic_call): Don't use bsr.l for !TARGET_68020. 2005-12-29 Daniel Jacobowitz Paul Brook * config/m68k/m68k.c (m68k_output_pic_call): Don't use bsr.l for !TARGET_68020. * config/m68k/t-m68kelf (EXTRA_PARTS): Remove. (EXTRA_MULTILIB_PARTS): Set. * config/m68k/t-uclinux (EXTRA_PARTS): Remove. (EXTRA_MULTILIB_PARTS): Set. From-SVN: r109141 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9b2a831b2e19..61470bb5add1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +2005-12-29 Daniel Jacobowitz + Paul Brook + + * config/m68k/m68k.c (m68k_output_pic_call): Don't use bsr.l for + !TARGET_68020. + * config/m68k/t-m68kelf (EXTRA_PARTS): Remove. + (EXTRA_MULTILIB_PARTS): Set. + * config/m68k/t-uclinux (EXTRA_PARTS): Remove. + (EXTRA_MULTILIB_PARTS): Set. + 2005-12-29 Alan Modra PR target/25572 diff --git a/gcc/config/m68k/m68k.c b/gcc/config/m68k/m68k.c index 09556d0e14d1..fa3f0e038992 100644 --- a/gcc/config/m68k/m68k.c +++ b/gcc/config/m68k/m68k.c @@ -1057,15 +1057,14 @@ m68k_output_pic_call (rtx dest) if (!(GET_CODE (dest) == MEM && GET_CODE (XEXP (dest, 0)) == SYMBOL_REF)) out = "jsr %0"; - /* We output a BSR instruction if we're using -fpic or we're building for - a target that supports long branches. If we're building -fPIC on the - 68000, 68010 or ColdFire we generate one of two sequences: + /* We output a BSR instruction if we're building for a target that + supports long branches. Otherwise we generate one of two sequences: a shorter one that uses a GOT entry or a longer one that doesn't. We'll use the -Os command-line flag to decide which to generate. Both sequences take the same time to execute on the ColdFire. */ else if (TARGET_PCREL) out = "bsr.l %o0"; - else if (flag_pic == 1 || TARGET_68020) + else if (TARGET_68020) #if defined(USE_GAS) out = "bsr.l %0@PLTPC"; #else diff --git a/gcc/config/m68k/t-m68kelf b/gcc/config/m68k/t-m68kelf index 686e2d49054f..a1d57a04c264 100644 --- a/gcc/config/m68k/t-m68kelf +++ b/gcc/config/m68k/t-m68kelf @@ -24,6 +24,6 @@ LIBGCC = stmp-multilib INSTALL_LIBGCC = install-multilib # from ../t-svr4 -EXTRA_PARTS=crtbegin.o crtend.o +EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o # no pic for now #CRTSTUFF_T_CFLAGS=-fpic diff --git a/gcc/config/m68k/t-uclinux b/gcc/config/m68k/t-uclinux index 8d864bfeb581..1fb7a42e5982 100644 --- a/gcc/config/m68k/t-uclinux +++ b/gcc/config/m68k/t-uclinux @@ -21,4 +21,4 @@ LIBGCC = stmp-multilib INSTALL_LIBGCC = install-multilib # We don't use crtbegin.o and crtend.o -EXTRA_PARTS= +EXTRA_MULTILIB_PARTS= diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index c92d87878f7a..c95b8f80c377 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -130,6 +130,10 @@ * gcc.target/i386/sse-17.c: New. +2005-12-22 Paul Brook + + * gcc.dg/weak/typeof-2.c: Skip assembly test on m68k. + 2005-12-22 Paul Brook * gcc.dg/tree-ssa/loop-1.c: Look for jump/branch on m68k. diff --git a/gcc/testsuite/gcc.dg/weak/typeof-2.c b/gcc/testsuite/gcc.dg/weak/typeof-2.c index 53bb0ebfe54b..9fbfaf0f1408 100644 --- a/gcc/testsuite/gcc.dg/weak/typeof-2.c +++ b/gcc/testsuite/gcc.dg/weak/typeof-2.c @@ -37,4 +37,6 @@ int bar3 (int x) // { dg-final { if [string match s390*-*-* $target_triplet ] {return} } } // Likewise for CRIS targets. // { dg-final { if [string match cris-*-* $target_triplet ] {return} } } +// Likewise for m68k targets. +// { dg-final { if [string match m68k-*-* $target_triplet ] {return} } } // { dg-final { scan-assembler "baz3.*baz3.*baz3.*baz3.*baz3.*baz3" } }