expr.c (emit_move_insn_1): Use emit_move_insn to move the parts of a complex number...
authorRoger Sayle <roger@eyesopen.com>
Tue, 3 Jun 2003 17:13:06 +0000 (17:13 +0000)
committerRoger Sayle <sayle@gcc.gnu.org>
Tue, 3 Jun 2003 17:13:06 +0000 (17:13 +0000)
* expr.c (emit_move_insn_1): Use emit_move_insn to move the parts
of a complex number rather than invoke mov_optab directly.

From-SVN: r67389

gcc/ChangeLog
gcc/expr.c

index 27132efc5b306572f62e4e880f038cf0e10fd42e..91e3bea8fd7bea8316df4024851681ec06c4b69a 100644 (file)
@@ -1,3 +1,8 @@
+2003-06-03  Roger Sayle  <roger@eyesopen.com>
+
+       * expr.c (emit_move_insn_1): Use emit_move_insn to move the parts
+       of a complex number rather than invoke mov_optab directly.
+
 2003-06-03  Kazu Hirata  <kazu@cs.umass.edu>
 
        * combine.c (simplify_set): Don't move a subreg in SET_SRC to
index f340335515b8443a747ed67653d8a3d96c567c6e..7adaca00565d701b677f81dacfa696e9f8c0e60c 100644 (file)
@@ -3394,19 +3394,15 @@ emit_move_insn_1 (x, y)
          /* 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_imagpart (submode, y)));
-         emit_insn (GEN_FCN (mov_optab->handlers[(int) submode].insn_code)
-                    (gen_rtx_MEM (submode, XEXP (x, 0)),
-                     gen_realpart (submode, y)));
+         emit_move_insn (gen_rtx_MEM (submode, XEXP (x, 0)),
+                         gen_imagpart (submode, y));
+         emit_move_insn (gen_rtx_MEM (submode, XEXP (x, 0)),
+                         gen_realpart (submode, y));
 #else
-         emit_insn (GEN_FCN (mov_optab->handlers[(int) submode].insn_code)
-                    (gen_rtx_MEM (submode, XEXP (x, 0)),
-                     gen_realpart (submode, y)));
-         emit_insn (GEN_FCN (mov_optab->handlers[(int) submode].insn_code)
-                    (gen_rtx_MEM (submode, XEXP (x, 0)),
-                     gen_imagpart (submode, y)));
+         emit_move_insn (gen_rtx_MEM (submode, XEXP (x, 0)),
+                         gen_realpart (submode, y));
+         emit_move_insn (gen_rtx_MEM (submode, XEXP (x, 0)),
+                         gen_imagpart (submode, y));
 #endif
        }
       else
@@ -3481,10 +3477,8 @@ emit_move_insn_1 (x, y)
                  || GET_CODE (imagpart_x) == SUBREG))
            emit_insn (gen_rtx_CLOBBER (VOIDmode, x));
 
-         emit_insn (GEN_FCN (mov_optab->handlers[(int) submode].insn_code)
-                    (realpart_x, realpart_y));
-         emit_insn (GEN_FCN (mov_optab->handlers[(int) submode].insn_code)
-                    (imagpart_x, imagpart_y));
+         emit_move_insn (realpart_x, realpart_y);
+         emit_move_insn (imagpart_x, imagpart_y);
        }
 
       return get_last_insn ();