summaryrefslogtreecommitdiff
path: root/gcc/optabs.c
diff options
context:
space:
mode:
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>1993-11-19 23:36:25 +0000
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>1993-11-19 23:36:25 +0000
commit9ef0782373bb23795f831b8a9dc5bf0a5f003e7b (patch)
tree12e6662fd709dfd201c1ddcd3e68be653568502b /gcc/optabs.c
parent3b9f62d3685f35b5a73e7c1ef9493001d5da41e0 (diff)
downloadgcc-9ef0782373bb23795f831b8a9dc5bf0a5f003e7b.tar.gz
(expand_complex_abs): Replace some erroneous uses of MODE with
SUBMODE. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@6118 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/optabs.c')
-rw-r--r--gcc/optabs.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/optabs.c b/gcc/optabs.c
index de0098bdefb..6a5a5843983 100644
--- a/gcc/optabs.c
+++ b/gcc/optabs.c
@@ -2030,12 +2030,15 @@ expand_complex_abs (mode, op0, target, unsignedp)
real = gen_realpart (submode, op0);
imag = gen_imagpart (submode, op0);
+
/* Square both parts. */
- real = expand_mult (mode, real, real, NULL_RTX, 0);
- imag = expand_mult (mode, imag, imag, NULL_RTX, 0);
+ real = expand_mult (submode, real, real, NULL_RTX, 0);
+ imag = expand_mult (submode, imag, imag, NULL_RTX, 0);
+
/* Sum the parts. */
total = expand_binop (submode, add_optab, real, imag, 0,
0, OPTAB_LIB_WIDEN);
+
/* Get sqrt in TARGET. Set TARGET to where the result is. */
target = expand_unop (submode, sqrt_optab, total, target, 0);
if (target == 0)