Hello! Recently, gcc was switched to enable TFmode moves in XMM registers also for TARGET_SSE. Sync reg-reg move cost calculation.
2012-07-14 Uros Bizjak <ubiz...@gmail.com> * config/i386/i386.c (ix86_set_reg_reg_cost): Enable TFmode/TCmode for TARGET_SSE. Tested on x86_64-pc-linux-gnu {,-m32}, committed to mainline SVN. Uros.
Index: config/i386/i386.c =================================================================== --- config/i386/i386.c (revision 189478) +++ config/i386/i386.c (working copy) @@ -31962,7 +31962,7 @@ ix86_set_reg_reg_cost (enum machine_mode mode) break; case MODE_FLOAT: - if ((TARGET_SSE2 && mode == TFmode) + if ((TARGET_SSE && mode == TFmode) || (TARGET_80387 && mode == XFmode) || ((TARGET_80387 || TARGET_SSE2) && mode == DFmode) || ((TARGET_80387 || TARGET_SSE) && mode == SFmode)) @@ -31970,7 +31970,7 @@ ix86_set_reg_reg_cost (enum machine_mode mode) break; case MODE_COMPLEX_FLOAT: - if ((TARGET_SSE2 && mode == TCmode) + if ((TARGET_SSE && mode == TCmode) || (TARGET_80387 && mode == XCmode) || ((TARGET_80387 || TARGET_SSE2) && mode == DCmode) || ((TARGET_80387 || TARGET_SSE) && mode == SCmode))