On Thu, Oct 27, 2011 at 06:06:09PM +0200, Uros Bizjak wrote: > > I would kindly ask someone fluent in fortran to construct a > compile-time testcase from the PR [1], that will correctly exercise > the fix on x86 with "-O3 -mavx" options and immortalize the testcase > in gfortran testsuite. >
How's the attached? I don't know if the target part of the dg-options is required. -- Steve
! { dg-do compile } ! { dg-options "-O3 -mavx" { target { i?86-*-* x86_64-*-* } } ! ! PR fortran/50875.f90 ! module test implicit none integer, parameter :: dp=kind(1.d0) integer :: P = 2 real(kind=dp), allocatable :: real_array_A(:),real_array_B(:,:) complex(kind=dp), allocatable :: cmplx_array_A(:) contains subroutine routine_A integer :: i allocate(cmplx_array_A(P),real_array_B(P,P),real_array_A(P)) real_array_A = 1 real_array_B = 1 do i = 1, p cmplx_array_A = cmplx(real_array_B(:,i),0.0_dp,dp) cmplx_array_A = cmplx_array_A * exp(cmplx(0.0_dp,real_array_A+1)) end do deallocate(cmplx_array_A,real_array_B,real_array_A) end subroutine routine_A end module test ! { dg-final { cleanup-modules "test" } }