head	1.2;
access;
symbols
	RELEASE_4_8_0:1.1
	RELEASE_5_0_0:1.1
	RELEASE_4_7_0:1.1
	RELEASE_4_6_2:1.1
	RELEASE_4_6_1:1.1
	RELEASE_4_6_0:1.1
	RELEASE_5_0_DP1:1.1
	RELEASE_4_5_0:1.1
	RELEASE_4_4_0:1.1
	RELEASE_4_3_0:1.1
	RELEASE_4_2_0:1.1
	RELEASE_4_1_1:1.1
	RELEASE_4_1_0:1.1
	RELEASE_3_5_0:1.1;
locks; strict;
comment	@# @;


1.2
date	2003.05.06.03.49.00;	author kris;	state dead;
branches;
next	1.1;

1.1
date	2000.05.29.03.05.51;	author will;	state Exp;
branches;
next	;


desc
@@


1.2
log
@As announced on 27 March 2003 in <20030328052350.GA18971@@rot13.obsecurity.org>,
remove these ports that have been broken for >4 months (in many cases much
longer) with no sign of a fix.
@
text
@*** optabs.c.orig	Sat Feb 14 13:41:17 1998
--- optabs.c		Thu Mar 23 15:38:53 2000
***************
*** 1379,1384 ****
--- 1379,1422 ----
  
  	      ok = 1;
  	    }
+ #ifdef GPC
+          /* Optimization if real part of divisor is zero.  */
+        else if (real1 == 0)
+          {
+            /* (a+ib) / (0+id) == -i(a+ib) / d == (b/d + i(-a/d) */
+ 
+            /* Fetch imag1 from memory only once.  */
+            imag1 = force_reg (submode, imag1);
+ 
+            if (class == MODE_COMPLEX_FLOAT)
+              res = expand_binop (submode, binoptab, imag0, imag1,
+                                  realr, unsignedp, methods);
+            else
+              res = expand_divmod (0, TRUNC_DIV_EXPR, submode,
+                                   imag0, imag1, realr, unsignedp);
+            if (res == 0)
+              break;
+            else if (res != realr)
+              emit_move_insn (realr, res);
+ 
+            if (class == MODE_COMPLEX_FLOAT)
+              res = expand_binop (submode, binoptab, real0,
+                                  imag1, imagr, unsignedp, methods);
+            else
+              res = expand_divmod (0, TRUNC_DIV_EXPR, submode,
+                                   real0, imag1, imagr, unsignedp);
+ 
+            /* Negate the imaginary part.  */
+            res = expand_unop (submode, neg_optab,
+                               res, imagr, unsignedp);
+            if (res == 0)
+              break;
+            else if (res != imagr)
+              emit_move_insn (imagr, res);
+ 
+            ok = 1;
+          }
+ #endif /* GPC */
  	  else
  	    {
  	      /* Divisor is of complex type:
@


1.1
log
@Add GPC - GNU Pascal Compiler.  Finally we have a Pascal compiler in the
ports collection!  :-)

PR:			17578
Submitted by:		Anton N. Breusov <antonz@@library.ntu-kpi.kiev.ua>
No objections from:	asami, obrien
@
text
@@

