diff options
author | Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | 2002-08-14 03:16:05 +0000 |
---|---|---|
committer | Kaveh Ghazi <ghazi@gcc.gnu.org> | 2002-08-14 03:16:05 +0000 |
commit | cbf2f4797d982be4607bcb1936dc8309e45bed2f (patch) | |
tree | c946b3e76d1b19092d0ebca5507db8021857973c /gcc | |
parent | d3969c34076167e10d0c53833f19348db7bd54e6 (diff) | |
download | gcc-cbf2f4797d982be4607bcb1936dc8309e45bed2f.zip gcc-cbf2f4797d982be4607bcb1936dc8309e45bed2f.tar.gz gcc-cbf2f4797d982be4607bcb1936dc8309e45bed2f.tar.bz2 |
m68k.c (m68k_output_function_prologue, [...]): Delete versions for DPX2/MOTOROLA and NEWS/MOTOROLA.
* m68k.c (m68k_output_function_prologue,
m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
and NEWS/MOTOROLA.
* genattrtab.c: Remove dpx2 comment.
* libgcc2.c (__enable_execute_stack): Delete versions for
NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
sony_news/SYSTYPE_BSD.
* longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
__gmicro__, __i860__, __NeXT__ and __pyr__.
* rtl.h: Remove convex comment.
* varasm.c: Likewise.
From-SVN: r56272
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 14 | ||||
-rw-r--r-- | gcc/config/m68k/m68k.c | 431 | ||||
-rw-r--r-- | gcc/genattrtab.c | 1 | ||||
-rw-r--r-- | gcc/libgcc2.c | 147 | ||||
-rw-r--r-- | gcc/longlong.h | 184 | ||||
-rw-r--r-- | gcc/rtl.h | 2 | ||||
-rw-r--r-- | gcc/varasm.c | 1 |
7 files changed, 18 insertions, 762 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 92750d3..5c1ba3c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,19 @@ 2002-08-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + * m68k.c (m68k_output_function_prologue, + m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA + and NEWS/MOTOROLA. + * genattrtab.c: Remove dpx2 comment. + * libgcc2.c (__enable_execute_stack): Delete versions for + NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and + sony_news/SYSTYPE_BSD. + * longlong.h: Delete code for __a29k__, _AM29K, __clipper__, + __gmicro__, __i860__, __NeXT__ and __pyr__. + * rtl.h: Remove convex comment. + * varasm.c: Likewise. + +2002-08-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + * c-opts.c (lang_flags): Const-ify. * ra-build.c (undef_table): Likewise. * ra.c (eliminables): Likewise. diff --git a/gcc/config/m68k/m68k.c b/gcc/config/m68k/m68k.c index 6289d3f..43f0fbb 100644 --- a/gcc/config/m68k/m68k.c +++ b/gcc/config/m68k/m68k.c @@ -245,163 +245,7 @@ m68k_output_function_prologue (stream, size) fprintf (stream, "\tmovem $0x%x,-(sp)\n", mask); } -#else -#if defined (DPX2) && defined (MOTOROLA) - -static void -m68k_output_function_prologue (stream, size) - FILE *stream; - HOST_WIDE_INT size; -{ - register int regno; - register int mask = 0; - int num_saved_regs = 0, first = 1; - HOST_WIDE_INT fsize = ((size) + 3) & -4; - - if (frame_pointer_needed) - { - /* Adding negative number is faster on the 68040. */ - if (fsize < 0x8000 && !TARGET_68040) - fprintf (stream, "\tlink %s,#%d\n", - reg_names[FRAME_POINTER_REGNUM], -fsize); - else if (TARGET_68020) - fprintf (stream, "\tlink %s,#%d\n", - reg_names[FRAME_POINTER_REGNUM], -fsize); - else - fprintf (stream, "\tlink %s,#0\n\tadd.l #%d,sp\n", - reg_names[FRAME_POINTER_REGNUM], -fsize); - } - else if (fsize) - { - /* Adding negative number is faster on the 68040. */ - if (fsize + 4 < 0x8000) - fprintf (stream, "\tadd.w #%d,sp\n", - (fsize + 4)); - else - fprintf (stream, "\tadd.l #%d,sp\n", - (fsize + 4)); - } - - for (regno = 23; regno >= 16; regno--) - if (regs_ever_live[regno] && ! call_used_regs[regno]) - { - if (first) - { - fprintf (stream, "\tfmovem.x %s", reg_names[regno]); - first = 0; - } - else - fprintf (stream, "/%s", reg_names[regno]); - } - if (!first) - fprintf (stream, ",-(sp)\n"); - - mask = 0; - for (regno = 0; regno < 16; regno++) - if (regs_ever_live[regno] && ! call_used_regs[regno]) - { - mask |= 1 << (15 - regno); - num_saved_regs++; - } - - if (frame_pointer_needed) - { - mask &= ~ (1 << (15 - FRAME_POINTER_REGNUM)); - num_saved_regs--; - } - - if (num_saved_regs <= 2) - { - /* Store each separately in the same order moveml uses. - Using two movel instructions instead of a single moveml - is about 15% faster for the 68020 and 68030 at no expense - in code size */ - - int i; - - /* Undo the work from above. */ - for (i = 0; i< 16; i++) - if (mask & (1 << i)) - fprintf (stream, "\tmove.l %s,-(sp)\n", reg_names[15 - i]); - } - else if (mask) - { - first = 1; - for (regno = 0; regno < 16; regno++) - if (mask & (1 << regno)) - { - if (first) - { - fprintf (stream, "\tmovem.l %s", reg_names[15 - regno]); - first = 0; - } - else - fprintf (stream, "/%s", reg_names[15 - regno]); - } - fprintf (stream, ",-(sp)\n"); - } - - if (flag_pic && current_function_uses_pic_offset_table) - { - fprintf (stream, "\tmove.l #__GLOBAL_OFFSET_TABLE_, %s\n", - reg_names[PIC_OFFSET_TABLE_REGNUM]); - fprintf (stream, "\tlea.l (pc,%s.l),%s\n", - reg_names[PIC_OFFSET_TABLE_REGNUM], - reg_names[PIC_OFFSET_TABLE_REGNUM]); - } -} - -#else -#if defined (NEWS) && defined (MOTOROLA) - -static void -m68k_output_function_prologue (stream, size) - FILE *stream; - HOST_WIDE_INT size; -{ - register int regno; - register int mask = 0; - HOST_WIDE_INT fsize = ((size) + 3) & -4; - - if (frame_pointer_needed) - { - if (fsize < 0x8000) - fprintf (stream, "\tlink fp,#%d\n", -fsize); - else if (TARGET_68020) - fprintf (stream, "\tlink.l fp,#%d\n", -fsize); - else - fprintf (stream, "\tlink fp,#0\n\tsub.l #%d,sp\n", fsize); - } - else if (fsize) - { - int amt = fsize + 4; - /* Adding negative number is faster on the 68040. */ - if (fsize + 4 < 0x8000) - asm_fprintf (stream, "\tadd.w %0I%d,%Rsp\n", - amt); - else - asm_fprintf (stream, "\tadd.l %0I%d,%Rsp\n", - amt); - } - - for (regno = 16; regno < FIRST_PSEUDO_REGISTER; regno++) - if (regs_ever_live[regno] && ! call_used_regs[regno]) - mask |= 1 << (regno - 16); - - if (mask != 0) - fprintf (stream, "\tfmovem.x #0x%x,-(sp)\n", mask & 0xff); - - mask = 0; - for (regno = 0; regno < 16; regno++) - if (regs_ever_live[regno] && ! call_used_regs[regno]) - mask |= 1 << (15 - regno); - - if (frame_pointer_needed) - mask &= ~ (1 << (15-FRAME_POINTER_REGNUM)); - - if (exact_log2 (mask) >= 0) - fprintf (stream, "\tmove.l %s,-(sp)\n", reg_names[15 - exact_log2 (mask)]); - else - if (mask) fprintf (stream, "\tmovem.l #0x%x,-(sp)\n", mask); -} - -#else /* !CRDS && ! (NEWS && MOTOROLA) && ! (DPX2 && MOTOROLA) */ +#else /* !CRDS */ static void m68k_output_function_prologue (stream, size) @@ -767,8 +611,6 @@ m68k_output_function_prologue (stream, size) #endif } } -#endif /* ! (DPX2 && MOTOROLA) */ -#endif /* ! (NEWS && MOTOROLA) */ #endif /* !CRDS */ /* Return true if this function's epilogue can be output as RTL. */ @@ -913,273 +755,7 @@ m68k_output_function_epilogue (stream, size) fprintf (stream, "\trts\n"); } -#else -#if defined (DPX2) && defined (MOTOROLA) - -static void -m68k_output_function_epilogue (stream, size) - FILE *stream; - HOST_WIDE_INT size; -{ - register int regno; - register int mask, fmask; - register int nregs; - HOST_WIDE_INT offset, foffset, fpoffset, first = 1; - HOST_WIDE_INT fsize = ((size) + 3) & -4; - int big = 0; - rtx insn = get_last_insn (); - - /* If the last insn was a BARRIER, we don't have to write any code. */ - if (GET_CODE (insn) == NOTE) - insn = prev_nonnote_insn (insn); - if (insn && GET_CODE (insn) == BARRIER) - { - /* Output just a no-op so that debuggers don't get confused - about which function the pc is in at this address. */ - fprintf (stream, "\tnop\n"); - return; - } - - nregs = 0; fmask = 0; fpoffset = 0; - for (regno = 16; regno < 24; regno++) - if (regs_ever_live[regno] && ! call_used_regs[regno]) - { - nregs++; - fmask |= 1 << (23 - regno); - } - - foffset = fpoffset + nregs * 12; - nregs = 0; mask = 0; - if (frame_pointer_needed) - regs_ever_live[FRAME_POINTER_REGNUM] = 0; - - for (regno = 0; regno < 16; regno++) - if (regs_ever_live[regno] && ! call_used_regs[regno]) - { - nregs++; - mask |= 1 << regno; - } - - offset = foffset + nregs * 4; - if (offset + fsize >= 0x8000 - && frame_pointer_needed - && (mask || fmask || fpoffset)) - { - fprintf (stream, "\tmove.l #%d,a0\n", -fsize); - fsize = 0, big = 1; - } - - if (nregs <= 2) - { - /* Restore each separately in the same order moveml does. - Using two movel instructions instead of a single moveml - is about 15% faster for the 68020 and 68030 at no expense - in code size. */ - - int i; - - /* Undo the work from above. */ - for (i = 0; i< 16; i++) - if (mask & (1 << i)) - { - if (big) - fprintf (stream, "\tmove.l -%d(%s,a0.l),%s\n", - offset + fsize, - reg_names[FRAME_POINTER_REGNUM], - reg_names[i]); - else if (! frame_pointer_needed) - fprintf (stream, "\tmove.l (sp)+,%s\n", - reg_names[i]); - else - fprintf (stream, "\tmove.l -%d(%s),%s\n", - offset + fsize, - reg_names[FRAME_POINTER_REGNUM], - reg_names[i]); - offset = offset - 4; - } - } - else if (mask) - { - first = 1; - for (regno = 0; regno < 16; regno++) - if (mask & (1 << regno)) - { - if (first && big) - { - fprintf (stream, "\tmovem.l -%d(%s,a0.l),%s", - offset + fsize, - reg_names[FRAME_POINTER_REGNUM], - reg_names[regno]); - first = 0; - } - else if (first && ! frame_pointer_needed) - { - fprintf (stream, "\tmovem.l (sp)+,%s", - reg_names[regno]); - first = 0; - } - else if (first) - { - fprintf (stream, "\tmovem.l -%d(%s),%s", - offset + fsize, - reg_names[FRAME_POINTER_REGNUM], - reg_names[regno]); - first = 0; - } - else - fprintf (stream, "/%s", reg_names[regno]); - } - fprintf (stream, "\n"); - } - - if (fmask) - { - first = 1; - for (regno = 16; regno < 24; regno++) - if (fmask & (1 << (23 - regno))) - { - if (first && big) - { - fprintf (stream, "\tfmovem.x -%d(%s,a0.l),%s", - foffset + fsize, - reg_names[FRAME_POINTER_REGNUM], - reg_names[regno]); - first = 0; - } - else if (first && ! frame_pointer_needed) - { - fprintf (stream, "\tfmovem.x (sp)+,%s", - reg_names[regno]); - first = 0; - } - else if (first) - { - fprintf (stream, "\tfmovem.x -%d(%s),%s", - foffset + fsize, - reg_names[FRAME_POINTER_REGNUM], - reg_names[regno]); - first = 0; - } - else - fprintf (stream, "/%s", reg_names[regno]); - } - fprintf (stream, "\n"); - } - - if (frame_pointer_needed) - fprintf (stream, "\tunlk %s\n", - reg_names[FRAME_POINTER_REGNUM]); - else if (fsize) - { - if (fsize + 4 < 0x8000) - fprintf (stream, "\tadd.w #%d,sp\n", fsize + 4); - else - fprintf (stream, "\tadd.l #%d,sp\n", fsize + 4); - } - - if (current_function_pops_args) - fprintf (stream, "\trtd #%d\n", current_function_pops_args); - else - fprintf (stream, "\trts\n"); -} - -#else -#if defined (NEWS) && defined (MOTOROLA) - -static void -m68k_output_function_epilogue (stream, size) - FILE *stream; - HOST_WIDE_INT size; -{ - register int regno; - register int mask, fmask; - register int nregs; - HOST_WIDE_INT offset, foffset; - HOST_WIDE_INT fsize = ((size) + 3) & -4; - int big = 0; - - nregs = 0; fmask = 0; - for (regno = 16; regno < FIRST_PSEUDO_REGISTER; regno++) - if (regs_ever_live[regno] && ! call_used_regs[regno]) - { - nregs++; - fmask |= 1 << (23 - regno); - } - - foffset = nregs * 12; - nregs = 0; mask = 0; - if (frame_pointer_needed) - regs_ever_live[FRAME_POINTER_REGNUM] = 0; - - for (regno = 0; regno < 16; regno++) - if (regs_ever_live[regno] && ! call_used_regs[regno]) - { - nregs++; - mask |= 1 << regno; - } - - offset = foffset + nregs * 4; - if (offset + fsize >= 0x8000 - && frame_pointer_needed - && (mask || fmask)) - { - fprintf (stream, "\tmove.l #%d,a0\n", -fsize); - fsize = 0, big = 1; - } - - if (exact_log2 (mask) >= 0) - { - if (big) - fprintf (stream, "\tmove.l (-%d,fp,a0.l),%s\n", - offset + fsize, reg_names[exact_log2 (mask)]); - else if (! frame_pointer_needed) - fprintf (stream, "\tmove.l (sp)+,%s\n", - reg_names[exact_log2 (mask)]); - else - fprintf (stream, "\tmove.l (-%d,fp),%s\n", - offset + fsize, reg_names[exact_log2 (mask)]); - } - else if (mask) - { - if (big) - fprintf (stream, "\tmovem.l (-%d,fp,a0.l),#0x%x\n", - offset + fsize, mask); - else if (! frame_pointer_needed) - fprintf (stream, "\tmovem.l (sp)+,#0x%x\n", mask); - else - fprintf (stream, "\tmovem.l (-%d,fp),#0x%x\n", - offset + fsize, mask); - } - - if (fmask) - { - if (big) - fprintf (stream, "\tfmovem.x (-%d,fp,a0.l),#0x%x\n", - foffset + fsize, fmask); - else if (! frame_pointer_needed) - fprintf (stream, "\tfmovem.x (sp)+,#0x%x\n", fmask); - else - fprintf (stream, "\tfmovem.x (-%d,fp),#0x%x\n", - foffset + fsize, fmask); - } - - if (frame_pointer_needed) - fprintf (stream, "\tunlk fp\n"); - else if (fsize) - { - if (fsize + 4 < 0x8000) - fprintf (stream, "\tadd.w #%d,sp\n", fsize + 4); - else - fprintf (stream, "\tadd.l #%d,sp\n", fsize + 4); - } - - if (current_function_pops_args) - fprintf (stream, "\trtd #%d\n", current_function_pops_args); - else - fprintf (stream, "\trts\n"); -} - -#else /* !CRDS && ! (NEWS && MOTOROLA) && ! (DPX2 && MOTOROLA) */ +#else /* !CRDS */ static void m68k_output_function_epilogue (stream, size) @@ -1501,9 +1077,6 @@ m68k_output_function_epilogue (stream, size) else fprintf (stream, "\trts\n"); } - -#endif /* ! (DPX2 && MOTOROLA) */ -#endif /* ! (NEWS && MOTOROLA) */ #endif /* !CRDS */ /* Similar to general_operand, but exclude stack_pointer_rtx. */ diff --git a/gcc/genattrtab.c b/gcc/genattrtab.c index 07b300c..5518adc 100644 --- a/gcc/genattrtab.c +++ b/gcc/genattrtab.c @@ -390,7 +390,6 @@ static void expand_units PARAMS ((void)); static rtx simplify_knowing PARAMS ((rtx, rtx)); static rtx encode_units_mask PARAMS ((rtx)); static void fill_attr PARAMS ((struct attr_desc *)); -/* dpx2 compiler chokes if we specify the arg types of the args. */ static rtx substitute_address PARAMS ((rtx, rtx (*) (rtx), rtx (*) (rtx))); static void make_length_attrs PARAMS ((void)); static rtx identity_fn PARAMS ((rtx)); diff --git a/gcc/libgcc2.c b/gcc/libgcc2.c index f9d7f60..c88b24f 100644 --- a/gcc/libgcc2.c +++ b/gcc/libgcc2.c @@ -1732,102 +1732,6 @@ mprotect (char *addr, int len, int prot) TRANSFER_FROM_TRAMPOLINE #endif -#if defined (NeXT) && defined (__MACH__) - -/* Make stack executable so we can call trampolines on stack. - This is called from INITIALIZE_TRAMPOLINE in next.h. */ -#ifdef NeXTStep21 - #include <mach.h> -#else - #include <mach/mach.h> -#endif - -void -__enable_execute_stack (char *addr) -{ - kern_return_t r; - char *eaddr = addr + TRAMPOLINE_SIZE; - vm_address_t a = (vm_address_t) addr; - - /* turn on execute access on stack */ - r = vm_protect (task_self (), a, TRAMPOLINE_SIZE, FALSE, VM_PROT_ALL); - if (r != KERN_SUCCESS) - { - mach_error("vm_protect VM_PROT_ALL", r); - exit(1); - } - - /* We inline the i-cache invalidation for speed */ - -#ifdef CLEAR_INSN_CACHE - CLEAR_INSN_CACHE (addr, eaddr); -#else - __clear_cache ((int) addr, (int) eaddr); -#endif -} - -#endif /* defined (NeXT) && defined (__MACH__) */ - -#ifdef __convex__ - -/* Make stack executable so we can call trampolines on stack. - This is called from INITIALIZE_TRAMPOLINE in convex.h. */ - -#include <sys/mman.h> -#include <sys/vmparam.h> -#include <machine/machparam.h> - -void -__enable_execute_stack (void) -{ - int fp; - static unsigned lowest = USRSTACK; - unsigned current = (unsigned) &fp & -NBPG; - - if (lowest > current) - { - unsigned len = lowest - current; - mremap (current, &len, PROT_READ | PROT_WRITE | PROT_EXEC, MAP_PRIVATE); - lowest = current; - } - - /* Clear instruction cache in case an old trampoline is in it. */ - asm ("pich"); -} -#endif /* __convex__ */ - -#ifdef __sysV88__ - -/* Modified from the convex -code above. */ - -#include <sys/param.h> -#include <errno.h> -#include <sys/m88kbcs.h> - -void -__enable_execute_stack (void) -{ - int save_errno; - static unsigned long lowest = USRSTACK; - unsigned long current = (unsigned long) &save_errno & -NBPC; - - /* Ignore errno being set. memctl sets errno to EINVAL whenever the - address is seen as 'negative'. That is the case with the stack. */ - - save_errno=errno; - if (lowest > current) - { - unsigned len=lowest-current; - memctl(current,len,MCT_TEXT); - lowest = current; - } - else - memctl(current,NBPC,MCT_TEXT); - errno=save_errno; -} - -#endif /* __sysV88__ */ - #ifdef __sysV68__ #include <sys/signal.h> @@ -1872,57 +1776,6 @@ __clear_insn_cache (void) } #endif /* __sysV68__ */ - -#ifdef __pyr__ - -#undef NULL /* Avoid errors if stdio.h and our stddef.h mismatch. */ -#include <stdio.h> -#include <sys/mman.h> -#include <sys/types.h> -#include <sys/param.h> -#include <sys/vmmac.h> - -/* Modified from the convex -code above. - mremap promises to clear the i-cache. */ - -void -__enable_execute_stack (void) -{ - int fp; - if (mprotect (((unsigned int)&fp/PAGSIZ)*PAGSIZ, PAGSIZ, - PROT_READ|PROT_WRITE|PROT_EXEC)) - { - perror ("mprotect in __enable_execute_stack"); - fflush (stderr); - abort (); - } -} -#endif /* __pyr__ */ - -#if defined (sony_news) && defined (SYSTYPE_BSD) - -#include <stdio.h> -#include <sys/types.h> -#include <sys/param.h> -#include <syscall.h> -#include <machine/sysnews.h> - -/* cacheflush function for NEWS-OS 4.2. - This function is called from trampoline-initialize code - defined in config/mips/mips.h. */ - -void -cacheflush (char *beg, int size, int flag) -{ - if (syscall (SYS_sysnews, NEWS_CACHEFLUSH, beg, size, FLUSH_BCACHE)) - { - perror ("cache_flush"); - fflush (stderr); - abort (); - } -} - -#endif /* sony_news */ #endif /* L_trampoline */ #ifndef __CYGWIN__ diff --git a/gcc/longlong.h b/gcc/longlong.h index 28aef95..40f03fe 100644 --- a/gcc/longlong.h +++ b/gcc/longlong.h @@ -107,49 +107,6 @@ #define __AND_CLOBBER_CC , "cc" #endif /* __GNUC__ < 2 */ -#if (defined (__a29k__) || defined (_AM29K)) && W_TYPE_SIZE == 32 -#define add_ssaaaa(sh, sl, ah, al, bh, bl) \ - __asm__ ("add %1,%4,%5\n\taddc %0,%2,%3" \ - : "=r" ((USItype) (sh)), \ - "=&r" ((USItype) (sl)) \ - : "%r" ((USItype) (ah)), \ - "rI" ((USItype) (bh)), \ - "%r" ((USItype) (al)), \ - "rI" ((USItype) (bl))) -#define sub_ddmmss(sh, sl, ah, al, bh, bl) \ - __asm__ ("sub %1,%4,%5\n\tsubc %0,%2,%3" \ - : "=r" ((USItype) (sh)), \ - "=&r" ((USItype) (sl)) \ - : "r" ((USItype) (ah)), \ - "rI" ((USItype) (bh)), \ - "r" ((USItype) (al)), \ - "rI" ((USItype) (bl))) -#define umul_ppmm(xh, xl, m0, m1) \ - do { \ - USItype __m0 = (m0), __m1 = (m1); \ - __asm__ ("multiplu %0,%1,%2" \ - : "=r" ((USItype) (xl)) \ - : "r" (__m0), \ - "r" (__m1)); \ - __asm__ ("multmu %0,%1,%2" \ - : "=r" ((USItype) (xh)) \ - : "r" (__m0), \ - "r" (__m1)); \ - } while (0) -#define udiv_qrnnd(q, r, n1, n0, d) \ - __asm__ ("dividu %0,%3,%4" \ - : "=r" ((USItype) (q)), \ - "=q" ((USItype) (r)) \ - : "1" ((USItype) (n1)), \ - "r" ((USItype) (n0)), \ - "r" ((USItype) (d))) -#define count_leading_zeros(count, x) \ - __asm__ ("clz %0,%1" \ - : "=r" ((USItype) (count)) \ - : "r" ((USItype) (x))) -#define COUNT_LEADING_ZEROS_0 32 -#endif /* __a29k__ */ - #if defined (__alpha) && W_TYPE_SIZE == 64 #define umul_ppmm(ph, pl, m0, m1) \ do { \ @@ -275,71 +232,6 @@ UDItype __umulsidi3 (USItype, USItype); #define UDIV_TIME 100 #endif /* __arm__ */ -#if defined (__clipper__) && W_TYPE_SIZE == 32 -#define umul_ppmm(w1, w0, u, v) \ - ({union {UDItype __ll; \ - struct {USItype __l, __h;} __i; \ - } __xx; \ - __asm__ ("mulwux %2,%0" \ - : "=r" (__xx.__ll) \ - : "%0" ((USItype) (u)), \ - "r" ((USItype) (v))); \ - (w1) = __xx.__i.__h; (w0) = __xx.__i.__l;}) -#define smul_ppmm(w1, w0, u, v) \ - ({union {DItype __ll; \ - struct {SItype __l, __h;} __i; \ - } __xx; \ - __asm__ ("mulwx %2,%0" \ - : "=r" (__xx.__ll) \ - : "%0" ((SItype) (u)), \ - "r" ((SItype) (v))); \ - (w1) = __xx.__i.__h; (w0) = __xx.__i.__l;}) -#define __umulsidi3(u, v) \ - ({UDItype __w; \ - __asm__ ("mulwux %2,%0" \ - : "=r" (__w) \ - : "%0" ((USItype) (u)), \ - "r" ((USItype) (v))); \ - __w; }) -#endif /* __clipper__ */ - -#if defined (__gmicro__) && W_TYPE_SIZE == 32 -#define add_ssaaaa(sh, sl, ah, al, bh, bl) \ - __asm__ ("add.w %5,%1\n\taddx %3,%0" \ - : "=g" ((USItype) (sh)), \ - "=&g" ((USItype) (sl)) \ - : "%0" ((USItype) (ah)), \ - "g" ((USItype) (bh)), \ - "%1" ((USItype) (al)), \ - "g" ((USItype) (bl))) -#define sub_ddmmss(sh, sl, ah, al, bh, bl) \ - __asm__ ("sub.w %5,%1\n\tsubx %3,%0" \ - : "=g" ((USItype) (sh)), \ - "=&g" ((USItype) (sl)) \ - : "0" ((USItype) (ah)), \ - "g" ((USItype) (bh)), \ - "1" ((USItype) (al)), \ - "g" ((USItype) (bl))) -#define umul_ppmm(ph, pl, m0, m1) \ - __asm__ ("mulx %3,%0,%1" \ - : "=g" ((USItype) (ph)), \ - "=r" ((USItype) (pl)) \ - : "%0" ((USItype) (m0)), \ - "g" ((USItype) (m1))) -#define udiv_qrnnd(q, r, nh, nl, d) \ - __asm__ ("divx %4,%0,%1" \ - : "=g" ((USItype) (q)), \ - "=r" ((USItype) (r)) \ - : "1" ((USItype) (nh)), \ - "0" ((USItype) (nl)), \ - "g" ((USItype) (d))) -#define count_leading_zeros(count, x) \ - __asm__ ("bsch/1 %1,%0" \ - : "=g" (count) \ - : "g" ((USItype) (x)), \ - "0" ((USItype) 0)) -#endif - #if defined (__hppa) && W_TYPE_SIZE == 32 #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ __asm__ ("add %4,%5,%1\n\taddc %2,%3,%0" \ @@ -484,47 +376,6 @@ UDItype __umulsidi3 (USItype, USItype); #define UDIV_TIME 40 #endif /* 80x86 */ -#if defined (__i860__) && W_TYPE_SIZE == 32 -#if 0 -/* Make sure these patterns really improve the code before - switching them on. */ -#define add_ssaaaa(sh, sl, ah, al, bh, bl) \ - do { \ - union \ - { \ - DItype __ll; \ - struct {USItype __l, __h;} __i; \ - } __a, __b, __s; \ - __a.__i.__l = (al); \ - __a.__i.__h = (ah); \ - __b.__i.__l = (bl); \ - __b.__i.__h = (bh); \ - __asm__ ("fiadd.dd %1,%2,%0" \ - : "=f" (__s.__ll) \ - : "%f" (__a.__ll), "f" (__b.__ll)); \ - (sh) = __s.__i.__h; \ - (sl) = __s.__i.__l; \ - } while (0) -#define sub_ddmmss(sh, sl, ah, al, bh, bl) \ - do { \ - union \ - { \ - DItype __ll; \ - struct {USItype __l, __h;} __i; \ - } __a, __b, __s; \ - __a.__i.__l = (al); \ - __a.__i.__h = (ah); \ - __b.__i.__l = (bl); \ - __b.__i.__h = (bh); \ - __asm__ ("fisub.dd %1,%2,%0" \ - : "=f" (__s.__ll) \ - : "%f" (__a.__ll), "f" (__b.__ll)); \ - (sh) = __s.__i.__h; \ - (sl) = __s.__i.__l; \ - } while (0) -#endif -#endif /* __i860__ */ - #if defined (__i960__) && W_TYPE_SIZE == 32 #define umul_ppmm(w1, w0, u, v) \ ({union {UDItype __ll; \ @@ -589,8 +440,7 @@ UDItype __umulsidi3 (USItype, USItype); #if defined (__mc68020__) || defined(mc68020) \ || defined(__mc68030__) || defined(mc68030) \ || defined(__mc68040__) || defined(mc68040) \ - || defined(__mcpu32__) || defined(mcpu32) \ - || defined(__NeXT__) + || defined(__mcpu32__) || defined(mcpu32) #define umul_ppmm(w1, w0, u, v) \ __asm__ ("mulu%.l %3,%1:%0" \ : "=d" ((USItype) (w0)), \ @@ -658,8 +508,7 @@ UDItype __umulsidi3 (USItype, USItype); #if defined (__mc68020__) || defined(mc68020) \ || defined(__mc68030__) || defined(mc68030) \ || defined(__mc68040__) || defined(mc68040) \ - || defined(__mc68060__) || defined(mc68060) \ - || defined(__NeXT__) + || defined(__mc68060__) || defined(mc68060) #define count_leading_zeros(count, x) \ __asm__ ("bfffo %1{%b2:%b2},%0" \ : "=d" ((USItype) (count)) \ @@ -894,35 +743,6 @@ UDItype __umulsidi3 (USItype, USItype); #endif #endif /* Power architecture variants. */ -#if defined (__pyr__) && W_TYPE_SIZE == 32 -#define add_ssaaaa(sh, sl, ah, al, bh, bl) \ - __asm__ ("addw %5,%1\n\taddwc %3,%0" \ - : "=r" ((USItype) (sh)), \ - "=&r" ((USItype) (sl)) \ - : "%0" ((USItype) (ah)), \ - "g" ((USItype) (bh)), \ - "%1" ((USItype) (al)), \ - "g" ((USItype) (bl))) -#define sub_ddmmss(sh, sl, ah, al, bh, bl) \ - __asm__ ("subw %5,%1\n\tsubwb %3,%0" \ - : "=r" ((USItype) (sh)), \ - "=&r" ((USItype) (sl)) \ - : "0" ((USItype) (ah)), \ - "g" ((USItype) (bh)), \ - "1" ((USItype) (al)), \ - "g" ((USItype) (bl))) -/* This insn works on Pyramids with AP, XP, or MI CPUs, but not with SP. */ -#define umul_ppmm(w1, w0, u, v) \ - ({union {UDItype __ll; \ - struct {USItype __h, __l;} __i; \ - } __xx; \ - __asm__ ("movw %1,%R0\n\tuemul %2,%0" \ - : "=&r" (__xx.__ll) \ - : "g" ((USItype) (u)), \ - "g" ((USItype) (v))); \ - (w1) = __xx.__i.__h; (w0) = __xx.__i.__l;}) -#endif /* __pyr__ */ - #if defined (__ibm032__) /* RT/ROMP */ && W_TYPE_SIZE == 32 #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ __asm__ ("a %1,%5\n\tae %0,%3" \ @@ -1213,7 +1213,6 @@ do { \ /* Define a macro to look for REG_INC notes, but save time on machines where they never exist. */ -/* Don't continue this line--convex cc version 4.1 would lose. */ #if (defined (HAVE_PRE_INCREMENT) || defined (HAVE_PRE_DECREMENT) || defined (HAVE_POST_INCREMENT) || defined (HAVE_POST_DECREMENT)) #define FIND_REG_INC_NOTE(INSN, REG) \ ((REG) != NULL_RTX && REG_P ((REG)) \ @@ -1226,7 +1225,6 @@ do { \ /* Indicate whether the machine has any sort of auto increment addressing. If not, we can avoid checking for REG_INC notes. */ -/* Don't continue this line--convex cc version 4.1 would lose. */ #if (defined (HAVE_PRE_INCREMENT) || defined (HAVE_PRE_DECREMENT) || defined (HAVE_POST_INCREMENT) || defined (HAVE_POST_DECREMENT)) #define AUTO_INC_DEC #endif diff --git a/gcc/varasm.c b/gcc/varasm.c index 3b250ac..c826849 100644 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -1614,7 +1614,6 @@ assemble_variable (decl, top_level, at_end, dont_output_data) rounded = (rounded / (BIGGEST_ALIGNMENT / BITS_PER_UNIT) * (BIGGEST_ALIGNMENT / BITS_PER_UNIT)); -/* Don't continue this line--convex cc version 4.1 would lose. */ #if !defined(ASM_OUTPUT_ALIGNED_COMMON) && !defined(ASM_OUTPUT_ALIGNED_DECL_COMMON) && !defined(ASM_OUTPUT_ALIGNED_BSS) if ((unsigned HOST_WIDE_INT) DECL_ALIGN (decl) / BITS_PER_UNIT > rounded) warning_with_decl |