Hello! This patch avoids movdqu/movdqa when SSE2 is disabled. Although -mno-sse2 is bordering on ABI violation for 64bit targets, the patch is simple enough to fix movti_internal_rex64 pattern.
2013-05-21 Uros Bizjak <ubiz...@gmail.com> PR target/57356 * config/i386/i386.md (*movti_internal_rex64): Emit movaps/movups for non-sse2 targets. Tested on x86_64-pc-linux-gnu {,-m32}. OK for 4.8 branch? (The patch is also needed for 4.7 branch, but not for mainline, where this problem is fixed by movti_internal/movti_internal_rex64 merge). Uros.
Index: config/i386/i386.md =================================================================== --- config/i386/i386.md (revision 199017) +++ config/i386/i386.md (working copy) @@ -1805,7 +1805,8 @@ (const_string "V4SF") (match_test "TARGET_AVX") (const_string "TI") - (match_test "optimize_function_for_size_p (cfun)") + (ior (not (match_test "TARGET_SSE2")) + (match_test "optimize_function_for_size_p (cfun)")) (const_string "V4SF") ] (const_string "TI")))])