diff mbox

PATCH: Require vect_double on gfortran.dg/graphite/vect-pr40979.f90

Message ID 20110203150013.GA24450@lucon.org
State New
Headers show

Commit Message

H.J. Lu Feb. 3, 2011, 3 p.m. UTC
gfortran.dg/graphite/vect-pr40979.f90 has

---
! { dg-do compile }
! { dg-require-effective-target vect_double }

module mqc_m
integer, parameter, private :: longreal = selected_real_kind(15,90)
contains
      subroutine mutual_ind_quad_cir_coil (m, l12)
      real (kind = longreal), dimension(9), save :: w2gauss, w1gauss
      real (kind = longreal) :: l12_lower, num, l12
      real (kind = longreal), dimension(3) :: current, coil
      w2gauss(1) = 16.0_longreal/81.0_longreal
      w1gauss(5) = 0.3302393550_longreal
      do i = 1, 2*m
          do j = 1, 9
              do k = 1, 9
                  num = w1gauss(j) * w2gauss(k) * dot_product(coil,current)
                  l12_lower = l12_lower + num
              end do
          end do
      end do
      l12 = l12_lower
      end subroutine mutual_ind_quad_cir_coil
end module mqc_m

! { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } }
! { dg-final { cleanup-tree-dump "vect" } }
--

I couldn't find anything which requires int vector. But it does require
double vector. OK for trunk?

Thanks.


H.J.
--
2011-02-03  H.J. Lu  <hongjiu.lu@intel.com>

	* gfortran.dg/graphite/vect-pr40979.f90: Require vect_double
	instead of vect_int.

Comments

Richard Biener Feb. 3, 2011, 3:25 p.m. UTC | #1
On Thu, Feb 3, 2011 at 4:00 PM, H.J. Lu <hongjiu.lu@intel.com> wrote:
> gfortran.dg/graphite/vect-pr40979.f90 has
>
> ---
> ! { dg-do compile }
> ! { dg-require-effective-target vect_double }
>
> module mqc_m
> integer, parameter, private :: longreal = selected_real_kind(15,90)
> contains
>      subroutine mutual_ind_quad_cir_coil (m, l12)
>      real (kind = longreal), dimension(9), save :: w2gauss, w1gauss
>      real (kind = longreal) :: l12_lower, num, l12
>      real (kind = longreal), dimension(3) :: current, coil
>      w2gauss(1) = 16.0_longreal/81.0_longreal
>      w1gauss(5) = 0.3302393550_longreal
>      do i = 1, 2*m
>          do j = 1, 9
>              do k = 1, 9
>                  num = w1gauss(j) * w2gauss(k) * dot_product(coil,current)
>                  l12_lower = l12_lower + num
>              end do
>          end do
>      end do
>      l12 = l12_lower
>      end subroutine mutual_ind_quad_cir_coil
> end module mqc_m
>
> ! { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } }
> ! { dg-final { cleanup-tree-dump "vect" } }
> --
>
> I couldn't find anything which requires int vector. But it does require
> double vector. OK for trunk?

Ok.

Richard.

> Thanks.
>
>
> H.J.
> --
> 2011-02-03  H.J. Lu  <hongjiu.lu@intel.com>
>
>        * gfortran.dg/graphite/vect-pr40979.f90: Require vect_double
>        instead of vect_int.
>
> Index: gfortran.dg/graphite/vect-pr40979.f90
> ===================================================================
> --- gfortran.dg/graphite/vect-pr40979.f90       (revision 169788)
> +++ gfortran.dg/graphite/vect-pr40979.f90       (working copy)
> @@ -1,5 +1,5 @@
>  ! { dg-do compile }
> -! { dg-require-effective-target vect_int }
> +! { dg-require-effective-target vect_double }
>
>  module mqc_m
>  integer, parameter, private :: longreal = selected_real_kind(15,90)
>
diff mbox

Patch

Index: gfortran.dg/graphite/vect-pr40979.f90
===================================================================
--- gfortran.dg/graphite/vect-pr40979.f90	(revision 169788)
+++ gfortran.dg/graphite/vect-pr40979.f90	(working copy)
@@ -1,5 +1,5 @@ 
 ! { dg-do compile }
-! { dg-require-effective-target vect_int }
+! { dg-require-effective-target vect_double }
 
 module mqc_m
 integer, parameter, private :: longreal = selected_real_kind(15,90)