diff options
author | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 1993-11-19 23:36:25 +0000 |
---|---|---|
committer | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 1993-11-19 23:36:25 +0000 |
commit | 9ef0782373bb23795f831b8a9dc5bf0a5f003e7b (patch) | |
tree | 12e6662fd709dfd201c1ddcd3e68be653568502b /gcc/optabs.c | |
parent | 3b9f62d3685f35b5a73e7c1ef9493001d5da41e0 (diff) | |
download | gcc-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.c | 7 |
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) |