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")))])

Reply via email to