]> gcc.gnu.org Git - gcc.git/commitdiff
(expand_expr, case CONJ_EXPR): Use correct mode for parts of a complex
authorRichard Kenner <kenner@gcc.gnu.org>
Thu, 28 Jul 1994 23:48:33 +0000 (19:48 -0400)
committerRichard Kenner <kenner@gcc.gnu.org>
Thu, 28 Jul 1994 23:48:33 +0000 (19:48 -0400)
expression.

From-SVN: r7815

gcc/expr.c

index 62eb5b830fb85c307ededd5bc262c5b76818b6b5..b6c4e554aceb37216b23e0108a0e703c170803f2 100644 (file)
@@ -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);
 
This page took 0.098624 seconds and 5 git commands to generate.