diff options
author | Richard Earnshaw <rearnsha@arm.com> | 1999-06-08 05:50:01 +0000 |
---|---|---|
committer | Richard Earnshaw <rearnsha@gcc.gnu.org> | 1999-06-08 05:50:01 +0000 |
commit | a59a536cdd718929962efd43f1391f567e909718 (patch) | |
tree | 89de8eb9f5fb207e6fbf40e45c219210258a870c /gcc/optabs.c | |
parent | b9a2a89962f79130ed3c4c5bb476cfc27b220c47 (diff) | |
download | gcc-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.c | 16 |
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; |