middle-end/98974 - fixup after STMT_VINFO_VEC_STMTS rework

This fixes up the nvectors parameter passed to vect_get_loop_mask in
vectorizable_condition after the STMT_VINFO_VEC_STMTS rework.

gcc/ChangeLog:
2021-02-08  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	PR middle-end/98974
	* tree-vect-stmts.c (vectorizable_condition): Remove shadow vec_num
	parameter in vectorizable_condition.

gcc/testsuite/ChangeLog:
2021-02-08  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	PR middle-end/98974
	* gfortran.dg/pr98974.F90: New test.
This commit is contained in:
Andre Vieira 2021-02-08 16:04:18 +00:00
parent d4536e4313
commit 40c92180df
2 changed files with 21 additions and 1 deletions

View File

@ -0,0 +1,21 @@
! PR middle-end/98974
! { dg-do compile }
! { dg-options "-Ofast" }
! { dg-additional-options "-mcpu=neoverse-v1" { target aarch64*-*-* } }
module module_foobar
integer,parameter :: fp_kind = selected_real_kind(15)
contains
subroutine foobar( foo, ix ,jx ,kx,iy,ky)
real, dimension( ix, kx, jx ) :: foo
real(fp_kind), dimension( iy, ky, 3 ) :: bar, baz
do k=1,ky
do i=1,iy
if ( baz(i,k,1) > 0. ) then
bar(i,k,1) = 0
endif
foo(i,nk,j) = baz0 * bar(i,k,1)
enddo
enddo
end
end

View File

@ -10235,7 +10235,6 @@ vectorizable_condition (vec_info *vinfo,
if (masks)
{
unsigned vec_num = vec_oprnds0.length ();
tree loop_mask
= vect_get_loop_mask (gsi, masks, vec_num * ncopies,
vectype, i);