From: Richard Kenner Date: Thu, 28 Jul 1994 23:48:33 +0000 (-0400) Subject: (expand_expr, case CONJ_EXPR): Use correct mode for parts of a complex X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=62acb9781ff34c6da24a07e35c76927c86a20250;p=gcc.git (expand_expr, case CONJ_EXPR): Use correct mode for parts of a complex expression. From-SVN: r7815 --- diff --git a/gcc/expr.c b/gcc/expr.c index 62eb5b830fb..b6c4e554ace 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -6058,6 +6058,7 @@ expand_expr (exp, target, tmode, modifier) case CONJ_EXPR: { + enum machine_mode partmode = TYPE_MODE (TREE_TYPE (TREE_TYPE (exp))); rtx imag_t; rtx insns; @@ -6069,11 +6070,12 @@ expand_expr (exp, target, tmode, modifier) start_sequence (); /* Store the realpart and the negated imagpart to target. */ - emit_move_insn (gen_realpart (mode, target), gen_realpart (mode, op0)); + emit_move_insn (gen_realpart (partmode, target), + gen_realpart (partmode, op0)); - imag_t = gen_imagpart (mode, target); - temp = expand_unop (mode, neg_optab, - gen_imagpart (mode, op0), imag_t, 0); + imag_t = gen_imagpart (partmode, target); + temp = expand_unop (partmode, neg_optab, + gen_imagpart (partmode, op0), imag_t, 0); if (temp != imag_t) emit_move_insn (imag_t, temp);