PR tree-optimization/91010
* tree-vect-stmts.c (scan_operand_equal_p): If offset1 == offset2,
return true. Otherwise, don't call operand_equal_p if offset1 or
offset2 is NULL and just return false.
* g++.dg/vect/simd-10.cc: New test.
From-SVN: r272763
+2019-06-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/91010
+ * tree-vect-stmts.c (scan_operand_equal_p): If offset1 == offset2,
+ return true. Otherwise, don't call operand_equal_p if offset1 or
+ offset2 is NULL and just return false.
+
2019-06-27 Iain Sandoe <iain@sandoe.co.uk>
* config/rs6000/rs6000.c (darwin_rs6000_override_options): Honour
+2019-06-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/91010
+ * g++.dg/vect/simd-10.cc: New test.
+
2019-06-27 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/90987
--- /dev/null
+// PR tree-optimization/91010
+// { dg-do compile }
+// { dg-require-effective-target size32plus }
+// { dg-additional-options "-fopenmp-simd -fno-tree-forwprop" }
+// { dg-additional-options "-mavx" { target avx_runtime } }
+// { dg-final { scan-tree-dump-times "vectorized \[1-3] loops" 2 "vect" { target i?86-*-* x86_64-*-* } } }
+
+#include "simd-5.cc"
return false;
if (maybe_ne (bitsize1, bitsize2))
return false;
- if (!operand_equal_p (offset1, offset2, 0))
+ if (offset1 != offset2
+ && (!offset1
+ || !offset2
+ || !operand_equal_p (offset1, offset2, 0)))
return false;
return true;
}