]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR target/57356 (gcc-4.8: SSE2 instructions generated with '-mno-sse2')
authorUros Bizjak <ubizjak@gmail.com>
Wed, 22 May 2013 16:07:08 +0000 (18:07 +0200)
committerUros Bizjak <uros@gcc.gnu.org>
Wed, 22 May 2013 16:07:08 +0000 (18:07 +0200)
PR target/57356
* config/i386/i386.md (*movti_internal_rex64): Emit movaps/movups
for non-sse2 targets.  Simplify mode attribute calculation.

From-SVN: r199205

gcc/ChangeLog
gcc/config/i386/i386.md

index 415e95935d2b6086c11b6639781177281a3b16e0..d6ed9bbf2bfcfabcb5378f3fb2e5b518b7e05fb4 100644 (file)
@@ -1,3 +1,9 @@
+2013-05-22  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/57356
+       * config/i386/i386.md (*movti_internal_rex64): Emit movaps/movups
+       for non-sse2 targets.  Simplify mode attribute calculation.
+
 2013-05-17  Uros Bizjak  <ubizjak@gmail.com>
 
        Backport from mainline
index 900252df781a607b445bc73c42ba771d87435205..b0e278e917c868950670f01bf003c6cb323c93a9 100644 (file)
   [(set_attr "type" "*,*,sselog1,ssemov,ssemov")
    (set_attr "prefix" "*,*,maybe_vex,maybe_vex,maybe_vex")
    (set (attr "mode")
-       (cond [(eq_attr "alternative" "2,3")
-                (if_then_else
-                  (match_test "optimize_function_for_size_p (cfun)")
-                  (const_string "V4SF")
-                  (const_string "TI"))
-              (eq_attr "alternative" "4")
-                (if_then_else
-                  (ior (match_test "TARGET_SSE_TYPELESS_STORES")
-                       (match_test "optimize_function_for_size_p (cfun)"))
-                  (const_string "V4SF")
-                  (const_string "TI"))]
-              (const_string "DI")))])
+       (cond [(eq_attr "alternative" "0,1")
+                (const_string "DI")
+              (ior (not (match_test "TARGET_SSE2"))
+                   (match_test "optimize_function_for_size_p (cfun)"))
+                (const_string "V4SF")
+              (and (eq_attr "alternative" "4")
+                   (match_test "TARGET_SSE_TYPELESS_STORES"))
+                (const_string "V4SF")
+              ]
+              (const_string "TI")))])
 
 (define_split
   [(set (match_operand:TI 0 "nonimmediate_operand" "")