------- Comment #1 from pinskia at gcc dot gnu dot org 2007-11-05 03:09 ------- So if I have emit_move_insn not to produce: (insn 10 9 11 3 t1.c:10 (set (subreg:SF (reg/v:SI 119 [ c ]) 0) (reg:SF 123)) -1 (nil)) but instead: (insn 10 9 11 3 t1.c:10 (set (reg/v:SI 119 [ c ]) (subreg:SI (reg:SF 123) 0)) -1 (nil)) I could not get the (subreg:SI (reg:SF 123) 0) propgated into (insn 11 10 16 3 t1.c:11 (set (mem:SI (reg/v/f:DI 121 [ b ]) [3 S4 A32]) (reg/v:SI 119 [ c ])) -1 (nil))
I have not figured out why yet. Once that is done, we can have simplify_set in combine change the modes of the mem. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33989