This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Patch: remove some junk left behind from obsolete targets


When various targets were removed, some stuff was left behind.  The
patch only deletes code, but to make sure I didn't hose something I
ran a quick bootstrap on sparc-sun-solaris2.7 and cross-compiled cc1
to m68k-unknown-linux-gnu with --disable-checking --disable-nls.

Ok to install?

		Thanks,
		--Kaveh


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.
	
diff -rup orig/egcc-CVS20020812/gcc/config/m68k/m68k.c egcc-CVS20020812/gcc/config/m68k/m68k.c
--- orig/egcc-CVS20020812/gcc/config/m68k/m68k.c	Sun Mar  3 16:30:21 2002
+++ egcc-CVS20020812/gcc/config/m68k/m68k.c	Tue Aug 13 18:13:46 2002
@@ -245,163 +245,7 @@ m68k_output_function_prologue (stream, s
     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, s
 #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, s
     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, s
   else
     fprintf (stream, "\trts\n");
 }
-
-#endif   /* ! (DPX2 && MOTOROLA)  */
-#endif   /* ! (NEWS && MOTOROLA)  */
 #endif   /* !CRDS  */
 
 /* Similar to general_operand, but exclude stack_pointer_rtx.  */
diff -rup orig/egcc-CVS20020812/gcc/genattrtab.c egcc-CVS20020812/gcc/genattrtab.c
--- orig/egcc-CVS20020812/gcc/genattrtab.c	Tue Jul 23 07:00:23 2002
+++ egcc-CVS20020812/gcc/genattrtab.c	Tue Aug 13 18:14:19 2002
@@ -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 -rup orig/egcc-CVS20020812/gcc/libgcc2.c egcc-CVS20020812/gcc/libgcc2.c
--- orig/egcc-CVS20020812/gcc/libgcc2.c	Tue Jul 30 21:45:41 2002
+++ egcc-CVS20020812/gcc/libgcc2.c	Tue Aug 13 18:01:21 2002
@@ -1655,102 +1655,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>
@@ -1795,57 +1699,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 -rup orig/egcc-CVS20020812/gcc/longlong.h egcc-CVS20020812/gcc/longlong.h
--- orig/egcc-CVS20020812/gcc/longlong.h	Thu May 30 23:03:22 2002
+++ egcc-CVS20020812/gcc/longlong.h	Tue Aug 13 18:23:23 2002
@@ -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))					\
@@ -893,35 +742,6 @@ UDItype __umulsidi3 (USItype, USItype);
 #define UDIV_TIME 100
 #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) \
diff -rup orig/egcc-CVS20020812/gcc/rtl.h egcc-CVS20020812/gcc/rtl.h
--- orig/egcc-CVS20020812/gcc/rtl.h	Thu Jul 25 15:00:47 2002
+++ egcc-CVS20020812/gcc/rtl.h	Tue Aug 13 18:05:18 2002
@@ -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 -rup orig/egcc-CVS20020812/gcc/varasm.c egcc-CVS20020812/gcc/varasm.c
--- orig/egcc-CVS20020812/gcc/varasm.c	Mon Aug  5 07:00:15 2002
+++ egcc-CVS20020812/gcc/varasm.c	Tue Aug 13 18:05:34 2002
@@ -1614,7 +1614,6 @@ assemble_variable (decl, top_level, at_e
       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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]