Commit cbd400b4 by Richard Biener Committed by Richard Biener

re PR tree-optimization/69980 (Supposedly wrong SLP code emitted)

2016-02-19  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/69980
	* tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Update
	permutation of those we need to keep.

	* gfortran.dg/vect/pr69980.f90: New testcase.

From-SVN: r233809
parent 84ea0f58
2016-02-19 Richard Biener <rguenther@suse.de>
PR tree-optimization/69980
* tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Update
permutation of those we need to keep.
2016-02-29 Eric Botcazou <ebotcazou@adacore.com> 2016-02-29 Eric Botcazou <ebotcazou@adacore.com>
PR target/69706 PR target/69706
......
2016-02-19 Richard Biener <rguenther@suse.de>
PR tree-optimization/69980
* gfortran.dg/vect/pr69980.f90: New testcase.
2016-02-29 Eric Botcazou <ebotcazou@adacore.com> 2016-02-29 Eric Botcazou <ebotcazou@adacore.com>
* gcc.target/sparc/20160229-1.c: New test. * gcc.target/sparc/20160229-1.c: New test.
......
! { dg-do run }
! { dg-additional-options "-Ofast -fno-inline" }
subroutine check (a, b)
real *8, intent(in) :: a(4), b(4)
IF (abs(a(1)-b(1)) > 1) THEN
CALL ABORT
END IF
end subroutine check
program main
real *8 :: mu(4,26), mumax(4), mumax2(4)
integer :: i, k
do k=1,26
do i=1,4
mu(i, k) = 4*(i-1) + k
end do
end do
mumax = 0;
do k=1,26
do i=1,3
mumax(i) = max(mumax(i), mu(i,k)+mu(i,k))
end do
end do
mumax2 = 0;
do i=1,3
do k=1,26
mumax2(i) = max(mumax2(i), mu(i,k)+mu(i,k))
end do
end do
CALL check (mumax, mumax2)
return
end program
...@@ -1343,6 +1343,9 @@ vect_attempt_slp_rearrange_stmts (slp_instance slp_instn) ...@@ -1343,6 +1343,9 @@ vect_attempt_slp_rearrange_stmts (slp_instance slp_instn)
|| (group_size == GROUP_SIZE (vinfo_for_stmt (first_stmt)) || (group_size == GROUP_SIZE (vinfo_for_stmt (first_stmt))
&& GROUP_GAP (vinfo_for_stmt (first_stmt)) == 0)) && GROUP_GAP (vinfo_for_stmt (first_stmt)) == 0))
SLP_TREE_LOAD_PERMUTATION (node).release (); SLP_TREE_LOAD_PERMUTATION (node).release ();
else
for (j = 0; j < SLP_TREE_LOAD_PERMUTATION (node).length (); ++j)
SLP_TREE_LOAD_PERMUTATION (node)[j] = j;
} }
return true; return true;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment