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
2 changed files with 15 additions and 16 deletions
|
@ -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…
Add table
Reference in a new issue