re PR tree-optimization/36119 (internal compiler error: in vectorizable_assignment, at tree-vect-transform.c:3671)
PR tree-optimization/36119 * tree-vect-transform.c (vectorizable_assignment): Set NCOPIES to 1 in case of SLP. From-SVN: r134944
This commit is contained in:
parent
24c0514153
commit
06d10aafc7
4 changed files with 45 additions and 0 deletions
|
@ -1,3 +1,9 @@
|
|||
2008-05-05 Ira Rosen <irar@il.ibm.com>
|
||||
|
||||
PR tree-optimization/36119
|
||||
* tree-vect-transform.c (vectorizable_assignment): Set NCOPIES to 1
|
||||
in case of SLP.
|
||||
|
||||
2008-06-04 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
tree-optimization/36100
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2008-05-05 Ira Rosen <irar@il.ibm.com>
|
||||
|
||||
PR tree-optimization/36119
|
||||
* gfortran.dg/vect/pr36119.f: New test.
|
||||
|
||||
2008-05-04 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||||
|
||||
PR libfortran/35995
|
||||
|
|
29
gcc/testsuite/gfortran.dg/vect/pr36119.f
Normal file
29
gcc/testsuite/gfortran.dg/vect/pr36119.f
Normal file
|
@ -0,0 +1,29 @@
|
|||
! { dg-do compile { target { i?86-*-* x86_64-*-* } } }
|
||||
! { dg-options "-O3 -mfpmath=sse -msse2 -ffree-form" }
|
||||
|
||||
SUBROUTINE check_dnucint_ana (dcore)
|
||||
IMPLICIT NONE
|
||||
INTEGER, PARAMETER :: dp=8
|
||||
REAL(dp), DIMENSION(10, 2), INTENT(IN),&
|
||||
OPTIONAL :: dcore
|
||||
INTEGER :: i, j
|
||||
REAL(dp) :: delta, nssss, od, rn, ssssm, &
|
||||
ssssp
|
||||
REAL(dp), DIMENSION(10, 2) :: corem, corep, ncore
|
||||
LOGICAL :: check_value
|
||||
|
||||
delta = 1.0E-8_dp
|
||||
od = 0.5_dp/delta
|
||||
ncore = od * (corep - corem)
|
||||
nssss = od * (ssssp - ssssm)
|
||||
IF (PRESENT(dcore)) THEN
|
||||
DO i = 1, 2
|
||||
DO j = 1, 10
|
||||
IF (.NOT.check_value(ncore(j,i), dcore(j,i), delta, 0.1_dp)) THEN
|
||||
END IF
|
||||
END DO
|
||||
END DO
|
||||
END IF
|
||||
END SUBROUTINE check_dnucint_ana
|
||||
|
||||
! { dg-final { cleanup-tree-dump "vect" } }
|
|
@ -3668,6 +3668,11 @@ vectorizable_assignment (tree stmt, block_stmt_iterator *bsi, tree *vec_stmt,
|
|||
VEC(tree,heap) *vec_oprnds = NULL;
|
||||
tree vop;
|
||||
|
||||
/* FORNOW: SLP with multiple types is not supported. The SLP analysis
|
||||
verifies this, so we can safely override NCOPIES with 1 here. */
|
||||
if (slp_node)
|
||||
ncopies = 1;
|
||||
|
||||
gcc_assert (ncopies >= 1);
|
||||
if (ncopies > 1)
|
||||
return false; /* FORNOW */
|
||||
|
|
Loading…
Add table
Reference in a new issue