PR rtl-optimization/82913
[official-gcc.git] / gcc / testsuite / gfortran.fortran-torture / compile / pr66251-2.f90
blob8eb8aa33bb99f467875b6c393d50f49853dec566
1 subroutine mv(m,nc,irp,ja,val,x,ldx,y,ldy,acc)
2 use iso_fortran_env
3 implicit none
5 integer, parameter :: ipk_ = int32
6 integer, parameter :: spk_ = real32
7 complex(spk_), parameter :: czero=(0.0_spk_,0.0_spk_)
9 integer(ipk_), intent(in) :: m,ldx,ldy,nc,irp(*),ja(*)
10 complex(spk_), intent(in) :: x(ldx,*),val(*)
11 complex(spk_), intent(inout) :: y(ldy,*)
12 complex(spk_), intent(inout) :: acc(*)
13 integer(ipk_) :: i,j,k, ir, jc
15 do i=1,m
16 acc(1:nc) = czero
17 do j=irp(i), irp(i+1)-1
18 acc(1:nc) = acc(1:nc) + val(j) * x(ja(j),1:nc)
19 enddo
20 y(i,1:nc) = -acc(1:nc)
21 end do
23 end subroutine mv