]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
optabs.c (expand_cmplxdiv_wide): Use expand_abs to get the absolute values.
authorRichard Earnshaw <rearnsha@arm.com>
Tue, 8 Jun 1999 05:50:01 +0000 (05:50 +0000)
committerRichard Earnshaw <rearnsha@gcc.gnu.org>
Tue, 8 Jun 1999 05:50:01 +0000 (05:50 +0000)
* optabs.c (expand_cmplxdiv_wide): Use expand_abs to get the absolute
values.

From-SVN: r27426

gcc/ChangeLog
gcc/optabs.c

index a0ff9551c52dddc616f73bc2774d2b78e7a11f0c..c3324b1e3c5c7c8581789974c6d6981d8b108a6a 100644 (file)
@@ -1,3 +1,8 @@
+Tue Jun  8 05:47:48 1999  Richard Earnshaw (rearnsha@arm.com)
+
+       * optabs.c (expand_cmplxdiv_wide): Use expand_abs to get the absolute
+       values.
+
 Mon Jun  7 22:30:37 1999  Jeffrey A Law  (law@cygnus.com)
 
        * fixinc/inclhack.def (avoid_bool): Also catch
index 2e8a2a62a00b96efbf94a22122086c36efdc7e09..2b9091bcf4e05c0f59aa876dd8db646f7310a484 100644 (file)
@@ -504,11 +504,17 @@ expand_cmplxdiv_wide (real0, real1, imag0, imag1, realr, imagr, submode,
 
   imag1 = force_reg (submode, imag1);
 
-  temp1 = expand_unop (submode, abs_optab, real1, NULL_RTX,
-                      unsignedp);
-
-  temp2 = expand_unop (submode, abs_optab, imag1, NULL_RTX,
-                      unsignedp);
+  /* XXX What's an "unsigned" complex number?  */
+  if (unsignedp)
+    {
+      temp1 = real1;
+      temp2 = imag1;
+    }
+  else
+    {
+      temp1 = expand_abs (submode, real1, NULL_RTX, 1);
+      temp2 = expand_abs (submode, imag1, NULL_RTX, 1);
+    }
 
   if (temp1 == 0 || temp2 == 0)
     return 0;