------- Comment #4 from pinskia at gcc dot gnu dot org 2010-07-24 21:37 ------- CSE/GCSE should be doing it. Oh but CSE does not handle RTL like: (insn 8 5 9 2 t.c:5 (set (mem:SI (reg/v/f:DI 60 [ c ]) [2 *c_2(D)+0 S4 A32]) (const_int -522133280 [0xffffffffe0e0e0e0])) 63 {*movsi_internal} (nil))
Related to PR 23488. What happens if you revert: 2005-07-30 Jan Hubicka <j...@suse.cz> * expr.c (expand_expr_real_1): Do not load mem targets into register. * i386.c (ix86_fixup_binary_operands): Likewise. (ix86_expand_unary_operator): Likewise. (ix86_expand_fp_absneg_operator): Likewise. * optabs.c (expand_vec_cond_expr): Validate dest. -- pinskia at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- GCC host triplet|x86_64-*-* | GCC target triplet| |x86_64-*-* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44073