re PR target/85491 (nbench LU Decomposition test 15% slower than GCC 7, 30% slower...
authorRichard Biener <rguenther@suse.de>
Tue, 24 Apr 2018 08:46:55 +0000 (08:46 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Tue, 24 Apr 2018 08:46:55 +0000 (08:46 +0000)
2018-04-24  Richard Biener  <rguenther@suse.de>

PR target/85491
* config/i386/i386.c (ix86_add_stmt_cost): Restrict strided
load cost increase to the case of non-constant step.

From-SVN: r259592

gcc/ChangeLog
gcc/config/i386/i386.c

index d9e5c6f47aec5b3be820de6624ac22dfece2755c..933cc29201567631a4f693bf39c61030716ae766 100644 (file)
@@ -1,3 +1,9 @@
+2018-04-24  Richard Biener  <rguenther@suse.de>
+
+       PR target/85491
+       * config/i386/i386.c (ix86_add_stmt_cost): Restrict strided
+       load cost increase to the case of non-constant step.
+
 2018-04-24  Jakub Jelinek  <jakub@redhat.com>
 
        PR target/84828
index dc80b34f30278efef94694b8703763dfbc6de14e..19d1c30514d76b507d28d6674dcb11a40597d401 100644 (file)
@@ -50550,8 +50550,9 @@ ix86_add_stmt_cost (void *data, int count, enum vect_cost_for_stmt kind,
      construction cost by the number of elements involved.  */
   if (kind == vec_construct
       && stmt_info
-      && stmt_info->type == load_vec_info_type
-      && stmt_info->memory_access_type == VMAT_ELEMENTWISE)
+      && STMT_VINFO_TYPE (stmt_info) == load_vec_info_type
+      && STMT_VINFO_MEMORY_ACCESS_TYPE (stmt_info) == VMAT_ELEMENTWISE
+      && TREE_CODE (DR_STEP (STMT_VINFO_DATA_REF (stmt_info))) != INTEGER_CST)
     {
       stmt_cost = ix86_builtin_vectorization_cost (kind, vectype, misalign);
       stmt_cost *= TYPE_VECTOR_SUBPARTS (vectype);