http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60969
--- Comment #5 from H.J. Lu <hjl.tools at gmail dot com> --- (In reply to Andrew Pinski from comment #3) > How did mmx usage get into the code when user did not use mmx. Mmx should > not be used by the autovectorizer at all. For (insn 26 25 27 4 (set (reg:SF 147 [ D.2421 ]) (float:SF (reg/v:SI 154 [ z ]))) 203 {*floatsisf2_i387} (expr_list:REG_DEAD (reg/v:SI 154 [ z ]) (nil))) (insn 27 26 28 4 (set (reg:SF 148 [ D.2421 ]) (float:SF (reg/v:SI 153 [ y ]))) 203 {*floatsisf2_i387} (nil)) LRA generates (insn 26 24 166 4 (set (reg:SF 9 st(1) [orig:147 D.2421 ] [147]) (float:SF (mem/c:SI (plus:SI (reg/f:SI 7 sp) (const_int 100 [0x64])) [5 z+0 S4 A32]))) 203 {*floatsisf2_i387} (nil)) (insn 166 26 167 4 (set (mem/c:SF (plus:SI (reg/f:SI 7 sp) (const_int 20 [0x14])) [6 %sfp+-28 S4 A32]) (reg:SF 9 st(1) [orig:147 D.2421 ] [147])) 129 {*movsf_internal} (nil)) (insn 167 166 169 4 (set (reg:SF 29 mm0 [orig:147 D.2421 ] [147]) (mem/c:SF (plus:SI (reg/f:SI 7 sp) (const_int 20 [0x14])) [6 %sfp+-28 S4 A32])) 129 {*movsf_internal} (nil)) (insn 169 167 27 4 (set (mem/c:SI (plus:SI (reg/f:SI 7 sp) (const_int 20 [0x14])) [6 %sfp+-28 S4 A32]) (reg/v:SI 6 bp [orig:153 y ] [153])) 90 {*movsi_internal} (nil)) (insn 27 169 168 4 (set (reg:SF 10 st(2) [orig:148 D.2421 ] [148]) (float:SF (mem/c:SI (plus:SI (reg/f:SI 7 sp) (const_int 20 [0x14])) [6 %sfp+-28 S4 A32]))) 203 {*floatsisf2_i387} (nil)) to load a SFmode value into mm0 for later use.