[Bug middle-end/33989] Extra load/store for float with union
pinskia at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Mon Nov 5 03:09:00 GMT 2007
------- 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
More information about the Gcc-bugs
mailing list