(emit_move_insn_1): Push the components of a complex
authorRichard Stallman <rms@gnu.org>
Sat, 6 Nov 1993 06:24:13 +0000 (06:24 +0000)
committerRichard Stallman <rms@gnu.org>
Sat, 6 Nov 1993 06:24:13 +0000 (06:24 +0000)
in proper order: imag part has higher address.

From-SVN: r6024

gcc/expr.c

index 32d5ef8f7663a94bb385a3683837fcc642bb2dd7..fc33c84f3f6ccfc6ff3efdcc3d28341fed4f9444 100644 (file)
@@ -1802,20 +1802,22 @@ emit_move_insn_1 (x, y)
         the mode, not to change the address.  */
       if (stack)
        {
+         /* Note that the real part always precedes the imag part in memory
+            regardless of machine's endianness.  */
 #ifdef STACK_GROWS_DOWNWARD
          emit_insn (GEN_FCN (mov_optab->handlers[(int) submode].insn_code)
                     (gen_rtx (MEM, submode, (XEXP (x, 0))),
-                     gen_highpart (submode, y)));
+                     gen_imagpart (submode, y)));
          emit_insn (GEN_FCN (mov_optab->handlers[(int) submode].insn_code)
                     (gen_rtx (MEM, submode, (XEXP (x, 0))),
-                     gen_lowpart (submode, y)));
+                     gen_realpart (submode, y)));
 #else
          emit_insn (GEN_FCN (mov_optab->handlers[(int) submode].insn_code)
                     (gen_rtx (MEM, submode, (XEXP (x, 0))),
-                     gen_lowpart (submode, y)));
+                     gen_realpart (submode, y)));
          emit_insn (GEN_FCN (mov_optab->handlers[(int) submode].insn_code)
                     (gen_rtx (MEM, submode, (XEXP (x, 0))),
-                     gen_highpart (submode, y)));
+                     gen_imagpart (submode, y)));
 #endif
        }
       else