mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-02-05 14:59:45 +08:00
expr.c (emit_move_insn_1): Use emit_move_insn to move the parts of a complex number rather than invoke...
* 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
This commit is contained in:
parent
8d6b2775ec
commit
a79b3dc7c8
@ -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
|
||||
|
26
gcc/expr.c
26
gcc/expr.c
@ -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 ();
|
||||
|
Loading…
Reference in New Issue
Block a user