------- Additional Comments From cvs-commit at gcc dot gnu dot org 2004-12-02 19:16 ------- Subject: Bug 15289
CVSROOT: /cvs/gcc Module name: gcc Branch: gcc-3_4-branch Changes by: [EMAIL PROTECTED] 2004-12-02 19:16:38 Modified files: gcc : ChangeLog emit-rtl.c expr.c function.c integrate.c optabs.c rtl.h Log message: PR rtl-opt/15289 * emit-rtl.c (gen_complex_constant_part): Remove. (gen_realpart, gen_imagpart, subreg_realpart_p): Remove. * expr.c (write_complex_part, read_complex_part): New. (emit_move_via_alt_mode, emit_move_via_integer, emit_move_resolve_push, emit_move_complex_push, emit_move_complex, emit_move_ccmode, emit_move_multi_word): Split out from ... (emit_move_insn_1): ... here. (expand_expr_real) <COMPLEX_EXPR>: Use write_complex_part. <REALPART_EXPR, IMAGPART_EXPR>: Use read_complex_part. <CONJ_EXPR>: Likewise. * function.c (assign_parms): Hard-code transformations instead of using gen_realpart/gen_imagpart. * integrate.c (initialize_for_inline): Likewise. * optabs.c (expand_unop): Use read_complex_part/write_complex_part. (expand_complex_abs): Likewise. (expand_binop): Likewise. Rearrange to build a CONCAT at the end, rather than creating a complex target at the beginning. * rtl.h (gen_realpart, gen_imagpart, subreg_realpart_p): Remove. (read_complex_part, write_complex_part): Declare. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=2.2326.2.715&r2=2.2326.2.716 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/emit-rtl.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.365.4.6&r2=1.365.4.7 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/expr.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.615.4.15&r2=1.615.4.16 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/function.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.483.4.19&r2=1.483.4.20 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/integrate.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.244.2.1&r2=1.244.2.2 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/optabs.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.204.4.2&r2=1.204.4.3 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/rtl.h.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.448.4.7&r2=1.448.4.8 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15289