------- Comment #15 from rearnsha at gcc dot gnu dot org 2010-04-01 22:04 ------- In expr.i.194r.dse2 the DImode load insn contains (insn 4435 4434 5070 176 /home/rearnsha/gnusrc/gcc/trunk/libcpp/expr.c:1281 (set (reg:DI 0 r0) (mem/c:DI (reg:SI 1 r1) [87 %sfp+-544 S8 A64])) 587 {*thumb2_movdi_vfp} (nil))
However, in expr.i.195r.csa it has been converted to (insn 4435 5240 5070 335 /home/rearnsha/gnusrc/gcc/trunk/libcpp/expr.c:1281 (set (reg:DI 0 r0) (mem/c:DI (reg:SI 1 r1) [87 %sfp S8 A64])) 587 {*thumb2_movdi_vfp} (nil)) This seems to occur when it moves it to a new BB. There doesn't seem to be an obvious option that disables the csa pass, short of turning off all optimization. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42509