This backport contains 1 patch from gcc main stream tree. The commit id of these patchs list as following in the order of time. 0001-tree-vect-slp.c-vect_build_slp_tree_2-Do-not-build-o.patch f99d62629933adf91e7e0bc1b1ff344ffb68e1a2 diff -Nurp a/gcc/tree-vect-slp.c b/gcc/tree-vect-slp.c --- a/gcc/tree-vect-slp.c 2020-08-24 21:31:24.780000000 +0800 +++ b/gcc/tree-vect-slp.c 2020-08-24 21:31:53.516000000 +0800 @@ -1326,7 +1326,7 @@ vect_build_slp_tree_2 (vec_info *vinfo, slp_tree grandchild; FOR_EACH_VEC_ELT (SLP_TREE_CHILDREN (child), j, grandchild) - if (SLP_TREE_DEF_TYPE (grandchild) == vect_internal_def) + if (SLP_TREE_DEF_TYPE (grandchild) != vect_external_def) break; if (!grandchild) { @@ -1486,7 +1486,7 @@ vect_build_slp_tree_2 (vec_info *vinfo, slp_tree grandchild; FOR_EACH_VEC_ELT (SLP_TREE_CHILDREN (child), j, grandchild) - if (SLP_TREE_DEF_TYPE (grandchild) == vect_internal_def) + if (SLP_TREE_DEF_TYPE (grandchild) != vect_external_def) break; if (!grandchild) {