From a59a536cdd718929962efd43f1391f567e909718 Mon Sep 17 00:00:00 2001 From: Richard Earnshaw Date: Tue, 8 Jun 1999 05:50:01 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 5 +++++ gcc/optabs.c | 16 +++++++++++----- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a0ff9551c52..c3324b1e3c5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/optabs.c b/gcc/optabs.c index 2e8a2a62a00..2b9091bcf4e 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;