2018-06-28  Uros Bizjak  <ubiz...@gmail.com>

    PR target/86348
    * config/i386/sse.md (*vec_extractv4si_0_zext_sse4): Use
    alternative 0 in preferred_for_speed attribute.

testsuite/ChangeLog:

2018-06-28  Uros Bizjak  <ubiz...@gmail.com>

    PR target/86348
    * gcc.target/i386/pr86348.c: New test.

Bootstrapped and regression tested on x86_64-linux-gnu {,-m32}.

Committed to mainline SVN.

Uros.
Index: config/i386/sse.md
===================================================================
--- config/i386/sse.md  (revision 262224)
+++ config/i386/sse.md  (working copy)
@@ -13715,7 +13715,7 @@
   "#"
   [(set_attr "isa" "x64,*,avx512f")
    (set (attr "preferred_for_speed")
-     (cond [(eq_attr "alternative" "1")
+     (cond [(eq_attr "alternative" "0")
              (symbol_ref "TARGET_INTER_UNIT_MOVES_FROM_VEC")
           ]
           (symbol_ref "true")))])
Index: testsuite/gcc.target/i386/pr86348.c
===================================================================
--- testsuite/gcc.target/i386/pr86348.c (nonexistent)
+++ testsuite/gcc.target/i386/pr86348.c (working copy)
@@ -0,0 +1,12 @@
+/* { dg-do compile { target { ia32 } } } */
+/* { dg-options "-O -mtune=athlon -msse4" } */
+
+int i;
+unsigned __attribute__ ((__vector_size__ (16))) v;
+
+void
+foo (void)
+{
+  v *= i;
+  i = i > -(long long) v[0];
+}

Reply via email to