aboutsummaryrefslogtreecommitdiff
path: root/gcc/optabs.c
diff options
context:
space:
mode:
authorRichard Earnshaw <rearnsha@arm.com>1999-06-08 05:50:01 +0000
committerRichard Earnshaw <rearnsha@gcc.gnu.org>1999-06-08 05:50:01 +0000
commita59a536cdd718929962efd43f1391f567e909718 (patch)
tree89de8eb9f5fb207e6fbf40e45c219210258a870c /gcc/optabs.c
parentb9a2a89962f79130ed3c4c5bb476cfc27b220c47 (diff)
downloadgcc-a59a536cdd718929962efd43f1391f567e909718.zip
gcc-a59a536cdd718929962efd43f1391f567e909718.tar.gz
gcc-a59a536cdd718929962efd43f1391f567e909718.tar.bz2
optabs.c (expand_cmplxdiv_wide): Use expand_abs to get the absolute values.
* optabs.c (expand_cmplxdiv_wide): Use expand_abs to get the absolute values. From-SVN: r27426
Diffstat (limited to 'gcc/optabs.c')
-rw-r--r--gcc/optabs.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/gcc/optabs.c b/gcc/optabs.c
index 2e8a2a6..2b9091b 100644
--- a/gcc/optabs.c
+++ b/gcc/optabs.c
@@ -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;