diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 5b8090f008c193ff040ee79c3e167e86a8cedbb6..4ca1d26c68bcb6f8a97fdc468b7b2f7d7ed3534e 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2018-10-31  Richard Biener  <rguenther@suse.de>
+
+	PR testsuite/87802
+	* g++.dg/vect/slp-pr87105.cc: XFAIL for strict alignment targets.
+
 2018-10-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
 
 	PR fortran/85896
diff --git a/gcc/testsuite/g++.dg/vect/slp-pr87105.cc b/gcc/testsuite/g++.dg/vect/slp-pr87105.cc
index 949b16c848f6717c04b35beaeafadf7f211f03ce..5518f319be32fd89a07bdffe86c75e9f1a9b9ba3 100644
--- a/gcc/testsuite/g++.dg/vect/slp-pr87105.cc
+++ b/gcc/testsuite/g++.dg/vect/slp-pr87105.cc
@@ -99,7 +99,7 @@ void quadBoundingBoxA(const Point bez[3], Box& bBox) noexcept {
 
 // We should have if-converted everything down to straight-line code
 // { dg-final { scan-tree-dump-times "<bb \[0-9\]+>" 1 "slp2" } }
-// { dg-final { scan-tree-dump-times "basic block part vectorized" 1 "slp2" } }
+// { dg-final { scan-tree-dump-times "basic block part vectorized" 1 "slp2" { xfail { { ! vect_element_align } && { ! vect_hw_misalign } } } } }
 // It's a bit awkward to detect that all stores were vectorized but the
 // following more or less does the trick
-// { dg-final { scan-tree-dump "vect_iftmp\[^\r\m\]* = MIN" "slp2" } }
+// { dg-final { scan-tree-dump "vect_iftmp\[^\r\m\]* = MIN" "slp2" { xfail { { ! vect_element_align } && { ! vect_hw_misalign } } } } }