This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Patch, fortran] Inline DOT_PRODUCT


Please find attached a corrected version of the dot_product patch. The condition on argument kind has gone and I have got at least some of the copyright years. Evidently I am not the only one not updating the dates correctly! That said, I will endeavour to catch some of the rest before submitting.

Unless I receive any show-stopping, adverse comments, I intend to commit this patch on Wednesday morning. Before I do so, though, could somebody please confirm that all the automake generated stuff should be committed.

Cheers

Paul
Index: libgfortran/Makefile.in
===================================================================
*** libgfortran/Makefile.in	(revision 111450)
--- libgfortran/Makefile.in	(working copy)
***************
*** 1,8 ****
! # Makefile.in generated by automake 1.9.6 from Makefile.am.
  # @configure_input@
  
  # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
! # 2003, 2004, 2005  Free Software Foundation, Inc.
  # This Makefile.in is free software; the Free Software Foundation
  # gives unlimited permission to copy and/or distribute it,
  # with or without modifications, as long as this notice is preserved.
--- 1,8 ----
! # Makefile.in generated by automake 1.9.2 from Makefile.am.
  # @configure_input@
  
  # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
! # 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
  # This Makefile.in is free software; the Free Software Foundation
  # gives unlimited permission to copy and/or distribute it,
  # with or without modifications, as long as this notice is preserved.
***************
*** 14,19 ****
--- 14,21 ----
  
  @SET_MAKE@
  
+ SOURCES = $(libgfortran_la_SOURCES) $(libgfortranbegin_la_SOURCES)
+ 
  srcdir = @srcdir@
  top_srcdir = @top_srcdir@
  VPATH = @srcdir@
*************** am__objects_11 = product_i4.lo product_i
*** 112,149 ****
  am__objects_12 = sum_i4.lo sum_i8.lo sum_i16.lo sum_r4.lo sum_r8.lo \
  	sum_r10.lo sum_r16.lo sum_c4.lo sum_c8.lo sum_c10.lo \
  	sum_c16.lo
! am__objects_13 = dotprod_i4.lo dotprod_i8.lo dotprod_i16.lo \
! 	dotprod_r4.lo dotprod_r8.lo dotprod_r10.lo dotprod_r16.lo
! am__objects_14 = dotprod_l4.lo dotprod_l8.lo dotprod_l16.lo
! am__objects_15 = dotprod_c4.lo dotprod_c8.lo dotprod_c10.lo \
! 	dotprod_c16.lo
! am__objects_16 = matmul_i4.lo matmul_i8.lo matmul_i16.lo matmul_r4.lo \
  	matmul_r8.lo matmul_r10.lo matmul_r16.lo matmul_c4.lo \
  	matmul_c8.lo matmul_c10.lo matmul_c16.lo
! am__objects_17 = matmul_l4.lo matmul_l8.lo matmul_l16.lo
! am__objects_18 = transpose_i4.lo transpose_i8.lo transpose_i16.lo \
  	transpose_c4.lo transpose_c8.lo transpose_c10.lo \
  	transpose_c16.lo
! am__objects_19 = shape_i4.lo shape_i8.lo shape_i16.lo
! am__objects_20 = eoshift1_4.lo eoshift1_8.lo eoshift1_16.lo
! am__objects_21 = eoshift3_4.lo eoshift3_8.lo eoshift3_16.lo
! am__objects_22 = cshift1_4.lo cshift1_8.lo cshift1_16.lo
! am__objects_23 = reshape_i4.lo reshape_i8.lo reshape_i16.lo \
  	reshape_c4.lo reshape_c8.lo reshape_c10.lo reshape_c16.lo
! am__objects_24 = in_pack_i4.lo in_pack_i8.lo in_pack_i16.lo \
  	in_pack_c4.lo in_pack_c8.lo in_pack_c10.lo in_pack_c16.lo
! am__objects_25 = in_unpack_i4.lo in_unpack_i8.lo in_unpack_i16.lo \
  	in_unpack_c4.lo in_unpack_c8.lo in_unpack_c10.lo \
  	in_unpack_c16.lo
! am__objects_26 = exponent_r4.lo exponent_r8.lo exponent_r10.lo \
  	exponent_r16.lo
! am__objects_27 = fraction_r4.lo fraction_r8.lo fraction_r10.lo \
  	fraction_r16.lo
! am__objects_28 = nearest_r4.lo nearest_r8.lo nearest_r10.lo \
  	nearest_r16.lo
! am__objects_29 = set_exponent_r4.lo set_exponent_r8.lo \
  	set_exponent_r10.lo set_exponent_r16.lo
! am__objects_30 = pow_i4_i4.lo pow_i8_i4.lo pow_i16_i4.lo pow_r4_i4.lo \
  	pow_r8_i4.lo pow_r10_i4.lo pow_r16_i4.lo pow_c4_i4.lo \
  	pow_c8_i4.lo pow_c10_i4.lo pow_c16_i4.lo pow_i4_i8.lo \
  	pow_i8_i8.lo pow_i16_i8.lo pow_r4_i8.lo pow_r8_i8.lo \
--- 114,146 ----
  am__objects_12 = sum_i4.lo sum_i8.lo sum_i16.lo sum_r4.lo sum_r8.lo \
  	sum_r10.lo sum_r16.lo sum_c4.lo sum_c8.lo sum_c10.lo \
  	sum_c16.lo
! am__objects_13 = matmul_i4.lo matmul_i8.lo matmul_i16.lo matmul_r4.lo \
  	matmul_r8.lo matmul_r10.lo matmul_r16.lo matmul_c4.lo \
  	matmul_c8.lo matmul_c10.lo matmul_c16.lo
! am__objects_14 = matmul_l4.lo matmul_l8.lo matmul_l16.lo
! am__objects_15 = transpose_i4.lo transpose_i8.lo transpose_i16.lo \
  	transpose_c4.lo transpose_c8.lo transpose_c10.lo \
  	transpose_c16.lo
! am__objects_16 = shape_i4.lo shape_i8.lo shape_i16.lo
! am__objects_17 = eoshift1_4.lo eoshift1_8.lo eoshift1_16.lo
! am__objects_18 = eoshift3_4.lo eoshift3_8.lo eoshift3_16.lo
! am__objects_19 = cshift1_4.lo cshift1_8.lo cshift1_16.lo
! am__objects_20 = reshape_i4.lo reshape_i8.lo reshape_i16.lo \
  	reshape_c4.lo reshape_c8.lo reshape_c10.lo reshape_c16.lo
! am__objects_21 = in_pack_i4.lo in_pack_i8.lo in_pack_i16.lo \
  	in_pack_c4.lo in_pack_c8.lo in_pack_c10.lo in_pack_c16.lo
! am__objects_22 = in_unpack_i4.lo in_unpack_i8.lo in_unpack_i16.lo \
  	in_unpack_c4.lo in_unpack_c8.lo in_unpack_c10.lo \
  	in_unpack_c16.lo
! am__objects_23 = exponent_r4.lo exponent_r8.lo exponent_r10.lo \
  	exponent_r16.lo
! am__objects_24 = fraction_r4.lo fraction_r8.lo fraction_r10.lo \
  	fraction_r16.lo
! am__objects_25 = nearest_r4.lo nearest_r8.lo nearest_r10.lo \
  	nearest_r16.lo
! am__objects_26 = set_exponent_r4.lo set_exponent_r8.lo \
  	set_exponent_r10.lo set_exponent_r16.lo
! am__objects_27 = pow_i4_i4.lo pow_i8_i4.lo pow_i16_i4.lo pow_r4_i4.lo \
  	pow_r8_i4.lo pow_r10_i4.lo pow_r16_i4.lo pow_c4_i4.lo \
  	pow_c8_i4.lo pow_c10_i4.lo pow_c16_i4.lo pow_i4_i8.lo \
  	pow_i8_i8.lo pow_i16_i8.lo pow_r4_i8.lo pow_r8_i8.lo \
*************** am__objects_30 = pow_i4_i4.lo pow_i8_i4.
*** 152,158 ****
  	pow_i16_i16.lo pow_r4_i16.lo pow_r8_i16.lo pow_r10_i16.lo \
  	pow_r16_i16.lo pow_c4_i16.lo pow_c8_i16.lo pow_c10_i16.lo \
  	pow_c16_i16.lo
! am__objects_31 = $(am__objects_2) $(am__objects_3) $(am__objects_4) \
  	$(am__objects_5) $(am__objects_6) $(am__objects_7) \
  	$(am__objects_8) $(am__objects_9) $(am__objects_10) \
  	$(am__objects_11) $(am__objects_12) $(am__objects_13) \
--- 149,155 ----
  	pow_i16_i16.lo pow_r4_i16.lo pow_r8_i16.lo pow_r10_i16.lo \
  	pow_r16_i16.lo pow_c4_i16.lo pow_c8_i16.lo pow_c10_i16.lo \
  	pow_c16_i16.lo
! am__objects_28 = $(am__objects_2) $(am__objects_3) $(am__objects_4) \
  	$(am__objects_5) $(am__objects_6) $(am__objects_7) \
  	$(am__objects_8) $(am__objects_9) $(am__objects_10) \
  	$(am__objects_11) $(am__objects_12) $(am__objects_13) \
*************** am__objects_31 = $(am__objects_2) $(am__
*** 160,171 ****
  	$(am__objects_17) $(am__objects_18) $(am__objects_19) \
  	$(am__objects_20) $(am__objects_21) $(am__objects_22) \
  	$(am__objects_23) $(am__objects_24) $(am__objects_25) \
! 	$(am__objects_26) $(am__objects_27) $(am__objects_28) \
! 	$(am__objects_29) $(am__objects_30)
! am__objects_32 = close.lo file_pos.lo format.lo inquire.lo \
  	list_read.lo lock.lo open.lo read.lo size_from_kind.lo \
  	transfer.lo unit.lo unix.lo write.lo
! am__objects_33 = associated.lo abort.lo args.lo bessel.lo \
  	c99_functions.lo chdir.lo cpu_time.lo cshift0.lo ctime.lo \
  	date_and_time.lo env.lo erf.lo eoshift0.lo eoshift2.lo \
  	etime.lo exit.lo fget.lo flush.lo fnum.lo ftell.lo gerror.lo \
--- 157,167 ----
  	$(am__objects_17) $(am__objects_18) $(am__objects_19) \
  	$(am__objects_20) $(am__objects_21) $(am__objects_22) \
  	$(am__objects_23) $(am__objects_24) $(am__objects_25) \
! 	$(am__objects_26) $(am__objects_27)
! am__objects_29 = close.lo file_pos.lo format.lo inquire.lo \
  	list_read.lo lock.lo open.lo read.lo size_from_kind.lo \
  	transfer.lo unit.lo unix.lo write.lo
! am__objects_30 = associated.lo abort.lo args.lo bessel.lo \
  	c99_functions.lo chdir.lo cpu_time.lo cshift0.lo ctime.lo \
  	date_and_time.lo env.lo erf.lo eoshift0.lo eoshift2.lo \
  	etime.lo exit.lo fget.lo flush.lo fnum.lo ftell.lo gerror.lo \
*************** am__objects_33 = associated.lo abort.lo 
*** 178,185 ****
  	system_clock.lo time.lo transpose_generic.lo tty.lo umask.lo \
  	unlink.lo unpack_generic.lo in_pack_generic.lo \
  	in_unpack_generic.lo normalize.lo
! am__objects_34 =
! am__objects_35 = _abs_c4.lo _abs_c8.lo _abs_c10.lo _abs_c16.lo \
  	_abs_i4.lo _abs_i8.lo _abs_i16.lo _abs_r4.lo _abs_r8.lo \
  	_abs_r10.lo _abs_r16.lo _exp_r4.lo _exp_r8.lo _exp_r10.lo \
  	_exp_r16.lo _exp_c4.lo _exp_c8.lo _exp_c10.lo _exp_c16.lo \
--- 174,181 ----
  	system_clock.lo time.lo transpose_generic.lo tty.lo umask.lo \
  	unlink.lo unpack_generic.lo in_pack_generic.lo \
  	in_unpack_generic.lo normalize.lo
! am__objects_31 =
! am__objects_32 = _abs_c4.lo _abs_c8.lo _abs_c10.lo _abs_c16.lo \
  	_abs_i4.lo _abs_i8.lo _abs_i16.lo _abs_r4.lo _abs_r8.lo \
  	_abs_r10.lo _abs_r16.lo _exp_r4.lo _exp_r8.lo _exp_r10.lo \
  	_exp_r16.lo _exp_c4.lo _exp_c8.lo _exp_c10.lo _exp_c16.lo \
*************** am__objects_35 = _abs_c4.lo _abs_c8.lo _
*** 199,214 ****
  	_conjg_c4.lo _conjg_c8.lo _conjg_c10.lo _conjg_c16.lo \
  	_aint_r4.lo _aint_r8.lo _aint_r10.lo _aint_r16.lo _anint_r4.lo \
  	_anint_r8.lo _anint_r10.lo _anint_r16.lo
! am__objects_36 = _sign_i4.lo _sign_i8.lo _sign_i16.lo _sign_r4.lo \
  	_sign_r8.lo _sign_r10.lo _sign_r16.lo _dim_i4.lo _dim_i8.lo \
  	_dim_i16.lo _dim_r4.lo _dim_r8.lo _dim_r10.lo _dim_r16.lo \
  	_atan2_r4.lo _atan2_r8.lo _atan2_r10.lo _atan2_r16.lo \
  	_mod_i4.lo _mod_i8.lo _mod_i16.lo _mod_r4.lo _mod_r8.lo
! am__objects_37 = $(am__objects_35) $(am__objects_36) dprod_r8.lo \
  	f2c_specifics.lo
! am_libgfortran_la_OBJECTS = $(am__objects_1) $(am__objects_31) \
! 	$(am__objects_32) $(am__objects_33) $(am__objects_34) \
! 	$(am__objects_37)
  libgfortran_la_OBJECTS = $(am_libgfortran_la_OBJECTS)
  libgfortranbegin_la_LIBADD =
  am_libgfortranbegin_la_OBJECTS = fmain.lo
--- 195,210 ----
  	_conjg_c4.lo _conjg_c8.lo _conjg_c10.lo _conjg_c16.lo \
  	_aint_r4.lo _aint_r8.lo _aint_r10.lo _aint_r16.lo _anint_r4.lo \
  	_anint_r8.lo _anint_r10.lo _anint_r16.lo
! am__objects_33 = _sign_i4.lo _sign_i8.lo _sign_i16.lo _sign_r4.lo \
  	_sign_r8.lo _sign_r10.lo _sign_r16.lo _dim_i4.lo _dim_i8.lo \
  	_dim_i16.lo _dim_r4.lo _dim_r8.lo _dim_r10.lo _dim_r16.lo \
  	_atan2_r4.lo _atan2_r8.lo _atan2_r10.lo _atan2_r16.lo \
  	_mod_i4.lo _mod_i8.lo _mod_i16.lo _mod_r4.lo _mod_r8.lo
! am__objects_34 = $(am__objects_32) $(am__objects_33) dprod_r8.lo \
  	f2c_specifics.lo
! am_libgfortran_la_OBJECTS = $(am__objects_1) $(am__objects_28) \
! 	$(am__objects_29) $(am__objects_30) $(am__objects_31) \
! 	$(am__objects_34)
  libgfortran_la_OBJECTS = $(am_libgfortran_la_OBJECTS)
  libgfortranbegin_la_LIBADD =
  am_libgfortranbegin_la_OBJECTS = fmain.lo
*************** LTPPFCCOMPILE = $(LIBTOOL) --mode=compil
*** 222,228 ****
  	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
  	$(AM_FCFLAGS) $(FCFLAGS)
  FCLD = $(FC)
! FCLINK = $(LIBTOOL) --mode=link $(FCLD) $(AM_FCFLAGS) $(FCFLAGS) \
  	$(AM_LDFLAGS) $(LDFLAGS) -o $@
  COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
  	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
--- 218,224 ----
  	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
  	$(AM_FCFLAGS) $(FCFLAGS)
  FCLD = $(FC)
! FCLINK = $(LIBTOOL) --mode=link $(FCLD) $(AM_FFLAGS) $(FCFLAGS) \
  	$(AM_LDFLAGS) $(LDFLAGS) -o $@
  COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
  	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
*************** generated/product_c8.c \
*** 616,641 ****
  generated/product_c10.c \
  generated/product_c16.c
  
- i_dotprod_c = \
- generated/dotprod_i4.c \
- generated/dotprod_i8.c \
- generated/dotprod_i16.c \
- generated/dotprod_r4.c \
- generated/dotprod_r8.c \
- generated/dotprod_r10.c \
- generated/dotprod_r16.c
- 
- i_dotprodl_c = \
- generated/dotprod_l4.c \
- generated/dotprod_l8.c \
- generated/dotprod_l16.c
- 
- i_dotprodc_c = \
- generated/dotprod_c4.c \
- generated/dotprod_c8.c \
- generated/dotprod_c10.c \
- generated/dotprod_c16.c
- 
  i_matmul_c = \
  generated/matmul_i4.c \
  generated/matmul_i8.c \
--- 612,617 ----
*************** generated/pow_c16_i16.c
*** 772,778 ****
  m4_files = m4/iparm.m4 m4/ifunction.m4 m4/iforeach.m4 m4/all.m4 \
      m4/any.m4 m4/count.m4 m4/maxloc0.m4 m4/maxloc1.m4 m4/maxval.m4 \
      m4/minloc0.m4 m4/minloc1.m4 m4/minval.m4 m4/product.m4 m4/sum.m4 \
!     m4/dotprod.m4 m4/dotprodl.m4 m4/dotprodc.m4 m4/matmul.m4 m4/matmull.m4 \
      m4/ctrig.m4 m4/cexp.m4 m4/chyp.m4 m4/mtype.m4 \
      m4/specific.m4 m4/specific2.m4 m4/head.m4 m4/shape.m4 m4/reshape.m4 \
      m4/transpose.m4 m4/eoshift1.m4 m4/eoshift3.m4 m4/exponent.m4 \
--- 748,754 ----
  m4_files = m4/iparm.m4 m4/ifunction.m4 m4/iforeach.m4 m4/all.m4 \
      m4/any.m4 m4/count.m4 m4/maxloc0.m4 m4/maxloc1.m4 m4/maxval.m4 \
      m4/minloc0.m4 m4/minloc1.m4 m4/minval.m4 m4/product.m4 m4/sum.m4 \
!     m4/matmul.m4 m4/matmull.m4 \
      m4/ctrig.m4 m4/cexp.m4 m4/chyp.m4 m4/mtype.m4 \
      m4/specific.m4 m4/specific2.m4 m4/head.m4 m4/shape.m4 m4/reshape.m4 \
      m4/transpose.m4 m4/eoshift1.m4 m4/eoshift3.m4 m4/exponent.m4 \
*************** m4_files = m4/iparm.m4 m4/ifunction.m4 m
*** 780,790 ****
  
  gfor_built_src = $(i_all_c) $(i_any_c) $(i_count_c) $(i_maxloc0_c) \
      $(i_maxloc1_c) $(i_maxval_c) $(i_minloc0_c) $(i_minloc1_c) $(i_minval_c) \
!     $(i_product_c) $(i_sum_c) $(i_dotprod_c) $(i_dotprodl_c) $(i_dotprodc_c) \
!     $(i_matmul_c) $(i_matmull_c) $(i_transpose_c) $(i_shape_c) $(i_eoshift1_c) \
!     $(i_eoshift3_c) $(i_cshift1_c) $(i_reshape_c) $(in_pack_c) $(in_unpack_c) \
!     $(i_exponent_c) $(i_fraction_c) $(i_nearest_c) $(i_set_exponent_c) \
!     $(i_pow_c) \
      selected_int_kind.inc selected_real_kind.inc kinds.h \
      kinds.inc c99_protos.inc fpu-target.h
  
--- 756,765 ----
  
  gfor_built_src = $(i_all_c) $(i_any_c) $(i_count_c) $(i_maxloc0_c) \
      $(i_maxloc1_c) $(i_maxval_c) $(i_minloc0_c) $(i_minloc1_c) $(i_minval_c) \
!     $(i_product_c) $(i_sum_c) $(i_matmul_c) $(i_matmull_c) $(i_transpose_c) \
!     $(i_shape_c) $(i_eoshift1_c) $(i_eoshift3_c) $(i_cshift1_c) \
!     $(i_reshape_c) $(in_pack_c) $(in_unpack_c) $(i_exponent_c) \
!     $(i_fraction_c) $(i_nearest_c) $(i_set_exponent_c) $(i_pow_c) \
      selected_int_kind.inc selected_real_kind.inc kinds.h \
      kinds.inc c99_protos.inc fpu-target.h
  
*************** sum_c10.lo: generated/sum_c10.c
*** 1835,1882 ****
  sum_c16.lo: generated/sum_c16.c
  	$(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sum_c16.lo `test -f 'generated/sum_c16.c' || echo '$(srcdir)/'`generated/sum_c16.c
  
- dotprod_i4.lo: generated/dotprod_i4.c
- 	$(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dotprod_i4.lo `test -f 'generated/dotprod_i4.c' || echo '$(srcdir)/'`generated/dotprod_i4.c
- 
- dotprod_i8.lo: generated/dotprod_i8.c
- 	$(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dotprod_i8.lo `test -f 'generated/dotprod_i8.c' || echo '$(srcdir)/'`generated/dotprod_i8.c
- 
- dotprod_i16.lo: generated/dotprod_i16.c
- 	$(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dotprod_i16.lo `test -f 'generated/dotprod_i16.c' || echo '$(srcdir)/'`generated/dotprod_i16.c
- 
- dotprod_r4.lo: generated/dotprod_r4.c
- 	$(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dotprod_r4.lo `test -f 'generated/dotprod_r4.c' || echo '$(srcdir)/'`generated/dotprod_r4.c
- 
- dotprod_r8.lo: generated/dotprod_r8.c
- 	$(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dotprod_r8.lo `test -f 'generated/dotprod_r8.c' || echo '$(srcdir)/'`generated/dotprod_r8.c
- 
- dotprod_r10.lo: generated/dotprod_r10.c
- 	$(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dotprod_r10.lo `test -f 'generated/dotprod_r10.c' || echo '$(srcdir)/'`generated/dotprod_r10.c
- 
- dotprod_r16.lo: generated/dotprod_r16.c
- 	$(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dotprod_r16.lo `test -f 'generated/dotprod_r16.c' || echo '$(srcdir)/'`generated/dotprod_r16.c
- 
- dotprod_l4.lo: generated/dotprod_l4.c
- 	$(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dotprod_l4.lo `test -f 'generated/dotprod_l4.c' || echo '$(srcdir)/'`generated/dotprod_l4.c
- 
- dotprod_l8.lo: generated/dotprod_l8.c
- 	$(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dotprod_l8.lo `test -f 'generated/dotprod_l8.c' || echo '$(srcdir)/'`generated/dotprod_l8.c
- 
- dotprod_l16.lo: generated/dotprod_l16.c
- 	$(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dotprod_l16.lo `test -f 'generated/dotprod_l16.c' || echo '$(srcdir)/'`generated/dotprod_l16.c
- 
- dotprod_c4.lo: generated/dotprod_c4.c
- 	$(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dotprod_c4.lo `test -f 'generated/dotprod_c4.c' || echo '$(srcdir)/'`generated/dotprod_c4.c
- 
- dotprod_c8.lo: generated/dotprod_c8.c
- 	$(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dotprod_c8.lo `test -f 'generated/dotprod_c8.c' || echo '$(srcdir)/'`generated/dotprod_c8.c
- 
- dotprod_c10.lo: generated/dotprod_c10.c
- 	$(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dotprod_c10.lo `test -f 'generated/dotprod_c10.c' || echo '$(srcdir)/'`generated/dotprod_c10.c
- 
- dotprod_c16.lo: generated/dotprod_c16.c
- 	$(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dotprod_c16.lo `test -f 'generated/dotprod_c16.c' || echo '$(srcdir)/'`generated/dotprod_c16.c
- 
  matmul_i4.lo: generated/matmul_i4.c
  	$(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o matmul_i4.lo `test -f 'generated/matmul_i4.c' || echo '$(srcdir)/'`generated/matmul_i4.c
  
--- 1810,1815 ----
*************** fpu-target.h: $(srcdir)/$(FPU_HOST_HEADE
*** 2776,2790 ****
  @MAINTAINER_MODE_TRUE@$(i_sum_c): m4/sum.m4 $(I_M4_DEPS1)
  @MAINTAINER_MODE_TRUE@	m4 -Dfile=$@ -I$(srcdir)/m4 sum.m4 > $(srcdir)/$@
  
- @MAINTAINER_MODE_TRUE@$(i_dotprod_c): m4/dotprod.m4 $(I_M4_DEPS)
- @MAINTAINER_MODE_TRUE@	m4 -Dfile=$@ -I$(srcdir)/m4 dotprod.m4 > $(srcdir)/$@
- 
- @MAINTAINER_MODE_TRUE@$(i_dotprodl_c): m4/dotprodl.m4 $(I_M4_DEPS)
- @MAINTAINER_MODE_TRUE@	m4 -Dfile=$@ -I$(srcdir)/m4 dotprodl.m4 > $(srcdir)/$@
- 
- @MAINTAINER_MODE_TRUE@$(i_dotprodc_c): m4/dotprodc.m4 $(I_M4_DEPS)
- @MAINTAINER_MODE_TRUE@	m4 -Dfile=$@ -I$(srcdir)/m4 dotprodc.m4 > $(srcdir)/$@
- 
  @MAINTAINER_MODE_TRUE@$(i_matmul_c): m4/matmul.m4 $(I_M4_DEPS)
  @MAINTAINER_MODE_TRUE@	m4 -Dfile=$@ -I$(srcdir)/m4 matmul.m4 > $(srcdir)/$@
  
--- 2709,2714 ----
Index: libgfortran/Makefile.am
===================================================================
*** libgfortran/Makefile.am	(revision 111450)
--- libgfortran/Makefile.am	(working copy)
*************** generated/product_c8.c \
*** 270,295 ****
  generated/product_c10.c \
  generated/product_c16.c
  
- i_dotprod_c= \
- generated/dotprod_i4.c \
- generated/dotprod_i8.c \
- generated/dotprod_i16.c \
- generated/dotprod_r4.c \
- generated/dotprod_r8.c \
- generated/dotprod_r10.c \
- generated/dotprod_r16.c
- 
- i_dotprodl_c= \
- generated/dotprod_l4.c \
- generated/dotprod_l8.c \
- generated/dotprod_l16.c
- 
- i_dotprodc_c= \
- generated/dotprod_c4.c \
- generated/dotprod_c8.c \
- generated/dotprod_c10.c \
- generated/dotprod_c16.c
- 
  i_matmul_c= \
  generated/matmul_i4.c \
  generated/matmul_i8.c \
--- 270,275 ----
*************** generated/pow_c16_i16.c
*** 426,432 ****
  m4_files= m4/iparm.m4 m4/ifunction.m4 m4/iforeach.m4 m4/all.m4 \
      m4/any.m4 m4/count.m4 m4/maxloc0.m4 m4/maxloc1.m4 m4/maxval.m4 \
      m4/minloc0.m4 m4/minloc1.m4 m4/minval.m4 m4/product.m4 m4/sum.m4 \
!     m4/dotprod.m4 m4/dotprodl.m4 m4/dotprodc.m4 m4/matmul.m4 m4/matmull.m4 \
      m4/ctrig.m4 m4/cexp.m4 m4/chyp.m4 m4/mtype.m4 \
      m4/specific.m4 m4/specific2.m4 m4/head.m4 m4/shape.m4 m4/reshape.m4 \
      m4/transpose.m4 m4/eoshift1.m4 m4/eoshift3.m4 m4/exponent.m4 \
--- 406,412 ----
  m4_files= m4/iparm.m4 m4/ifunction.m4 m4/iforeach.m4 m4/all.m4 \
      m4/any.m4 m4/count.m4 m4/maxloc0.m4 m4/maxloc1.m4 m4/maxval.m4 \
      m4/minloc0.m4 m4/minloc1.m4 m4/minval.m4 m4/product.m4 m4/sum.m4 \
!     m4/matmul.m4 m4/matmull.m4 \
      m4/ctrig.m4 m4/cexp.m4 m4/chyp.m4 m4/mtype.m4 \
      m4/specific.m4 m4/specific2.m4 m4/head.m4 m4/shape.m4 m4/reshape.m4 \
      m4/transpose.m4 m4/eoshift1.m4 m4/eoshift3.m4 m4/exponent.m4 \
*************** m4_files= m4/iparm.m4 m4/ifunction.m4 m4
*** 434,444 ****
  
  gfor_built_src= $(i_all_c) $(i_any_c) $(i_count_c) $(i_maxloc0_c) \
      $(i_maxloc1_c) $(i_maxval_c) $(i_minloc0_c) $(i_minloc1_c) $(i_minval_c) \
!     $(i_product_c) $(i_sum_c) $(i_dotprod_c) $(i_dotprodl_c) $(i_dotprodc_c) \
!     $(i_matmul_c) $(i_matmull_c) $(i_transpose_c) $(i_shape_c) $(i_eoshift1_c) \
!     $(i_eoshift3_c) $(i_cshift1_c) $(i_reshape_c) $(in_pack_c) $(in_unpack_c) \
!     $(i_exponent_c) $(i_fraction_c) $(i_nearest_c) $(i_set_exponent_c) \
!     $(i_pow_c) \
      selected_int_kind.inc selected_real_kind.inc kinds.h \
      kinds.inc c99_protos.inc fpu-target.h
  
--- 414,423 ----
  
  gfor_built_src= $(i_all_c) $(i_any_c) $(i_count_c) $(i_maxloc0_c) \
      $(i_maxloc1_c) $(i_maxval_c) $(i_minloc0_c) $(i_minloc1_c) $(i_minval_c) \
!     $(i_product_c) $(i_sum_c) $(i_matmul_c) $(i_matmull_c) $(i_transpose_c) \
!     $(i_shape_c) $(i_eoshift1_c) $(i_eoshift3_c) $(i_cshift1_c) \
!     $(i_reshape_c) $(in_pack_c) $(in_unpack_c) $(i_exponent_c) \
!     $(i_fraction_c) $(i_nearest_c) $(i_set_exponent_c) $(i_pow_c) \
      selected_int_kind.inc selected_real_kind.inc kinds.h \
      kinds.inc c99_protos.inc fpu-target.h
  
*************** $(i_product_c): m4/product.m4 $(I_M4_DEP
*** 644,658 ****
  $(i_sum_c): m4/sum.m4 $(I_M4_DEPS1)
  	m4 -Dfile=$@ -I$(srcdir)/m4 sum.m4 > $(srcdir)/$@
  
- $(i_dotprod_c): m4/dotprod.m4 $(I_M4_DEPS)
- 	m4 -Dfile=$@ -I$(srcdir)/m4 dotprod.m4 > $(srcdir)/$@
- 
- $(i_dotprodl_c): m4/dotprodl.m4 $(I_M4_DEPS)
- 	m4 -Dfile=$@ -I$(srcdir)/m4 dotprodl.m4 > $(srcdir)/$@
- 
- $(i_dotprodc_c): m4/dotprodc.m4 $(I_M4_DEPS)
- 	m4 -Dfile=$@ -I$(srcdir)/m4 dotprodc.m4 > $(srcdir)/$@
- 
  $(i_matmul_c): m4/matmul.m4 $(I_M4_DEPS)
  	m4 -Dfile=$@ -I$(srcdir)/m4 matmul.m4 > $(srcdir)/$@
  
--- 623,628 ----
Index: libgfortran/aclocal.m4
===================================================================
*** libgfortran/aclocal.m4	(revision 111450)
--- libgfortran/aclocal.m4	(working copy)
***************
*** 1,7 ****
! # generated automatically by aclocal 1.9.6 -*- Autoconf -*-
  
  # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
! # 2005  Free Software Foundation, Inc.
  # This file is free software; the Free Software Foundation
  # gives unlimited permission to copy and/or distribute it,
  # with or without modifications, as long as this notice is preserved.
--- 1,8 ----
! # generated automatically by aclocal 1.9.2 -*- Autoconf -*-
  
  # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
! # 2005, 2006
! # Free Software Foundation, Inc.
  # This file is free software; the Free Software Foundation
  # gives unlimited permission to copy and/or distribute it,
  # with or without modifications, as long as this notice is preserved.
***************
*** 11,21 ****
  # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
  # PARTICULAR PURPOSE.
  
! # Copyright (C) 2002, 2003, 2005  Free Software Foundation, Inc.
! #
! # This file is free software; the Free Software Foundation
! # gives unlimited permission to copy and/or distribute it,
! # with or without modifications, as long as this notice is preserved.
  
  # AM_AUTOMAKE_VERSION(VERSION)
  # ----------------------------
--- 12,34 ----
  # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
  # PARTICULAR PURPOSE.
  
! #                                                        -*- Autoconf -*-
! # Copyright (C) 2002, 2003  Free Software Foundation, Inc.
! # Generated from amversion.in; do not edit by hand.
! 
! # This program is free software; you can redistribute it and/or modify
! # it under the terms of the GNU General Public License as published by
! # the Free Software Foundation; either version 2, or (at your option)
! # any later version.
! 
! # This program is distributed in the hope that it will be useful,
! # but WITHOUT ANY WARRANTY; without even the implied warranty of
! # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
! # GNU General Public License for more details.
! 
! # You should have received a copy of the GNU General Public License
! # along with this program; if not, write to the Free Software
! # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
  
  # AM_AUTOMAKE_VERSION(VERSION)
  # ----------------------------
*************** AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api
*** 28,42 ****
  # Call AM_AUTOMAKE_VERSION so it can be traced.
  # This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
  AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
! 	 [AM_AUTOMAKE_VERSION([1.9.6])])
  
! # AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
  
! # Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
! #
! # This file is free software; the Free Software Foundation
! # gives unlimited permission to copy and/or distribute it,
! # with or without modifications, as long as this notice is preserved.
  
  # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
  # $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
--- 41,66 ----
  # Call AM_AUTOMAKE_VERSION so it can be traced.
  # This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
  AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
! 	 [AM_AUTOMAKE_VERSION([1.9.2])])
  
! # AM_AUX_DIR_EXPAND
  
! # Copyright (C) 2001, 2003 Free Software Foundation, Inc.
! 
! # This program is free software; you can redistribute it and/or modify
! # it under the terms of the GNU General Public License as published by
! # the Free Software Foundation; either version 2, or (at your option)
! # any later version.
! 
! # This program is distributed in the hope that it will be useful,
! # but WITHOUT ANY WARRANTY; without even the implied warranty of
! # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
! # GNU General Public License for more details.
! 
! # You should have received a copy of the GNU General Public License
! # along with this program; if not, write to the Free Software
! # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
! # 02111-1307, USA.
  
  # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
  # $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
*************** AC_PREREQ([2.50])dnl
*** 83,98 ****
  am_aux_dir=`cd $ac_aux_dir && pwd`
  ])
  
! # AM_CONDITIONAL                                            -*- Autoconf -*-
  
! # Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005
! # Free Software Foundation, Inc.
! #
! # This file is free software; the Free Software Foundation
! # gives unlimited permission to copy and/or distribute it,
! # with or without modifications, as long as this notice is preserved.
  
! # serial 7
  
  # AM_CONDITIONAL(NAME, SHELL-CONDITION)
  # -------------------------------------
--- 107,132 ----
  am_aux_dir=`cd $ac_aux_dir && pwd`
  ])
  
! # AM_CONDITIONAL                                              -*- Autoconf -*-
  
! # Copyright (C) 1997, 2000, 2001, 2003, 2004 Free Software Foundation, Inc.
  
! # This program is free software; you can redistribute it and/or modify
! # it under the terms of the GNU General Public License as published by
! # the Free Software Foundation; either version 2, or (at your option)
! # any later version.
! 
! # This program is distributed in the hope that it will be useful,
! # but WITHOUT ANY WARRANTY; without even the implied warranty of
! # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
! # GNU General Public License for more details.
! 
! # You should have received a copy of the GNU General Public License
! # along with this program; if not, write to the Free Software
! # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
! # 02111-1307, USA.
! 
! # serial 6
  
  # AM_CONDITIONAL(NAME, SHELL-CONDITION)
  # -------------------------------------
*************** AC_CONFIG_COMMANDS_PRE(
*** 116,134 ****
  Usually this means the macro was only invoked conditionally.]])
  fi])])
  
! # Do all the work for Automake.                             -*- Autoconf -*-
  
! # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
  # Free Software Foundation, Inc.
- #
- # This file is free software; the Free Software Foundation
- # gives unlimited permission to copy and/or distribute it,
- # with or without modifications, as long as this notice is preserved.
  
! # serial 12
  
! # This macro actually does too much.  Some checks are only needed if
! # your package does certain things.  But this isn't really a big deal.
  
  # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
  # AM_INIT_AUTOMAKE([OPTIONS])
--- 150,179 ----
  Usually this means the macro was only invoked conditionally.]])
  fi])])
  
! # Do all the work for Automake.                            -*- Autoconf -*-
  
! # This macro actually does too much some checks are only needed if
! # your package does certain things.  But this isn't really a big deal.
! 
! # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
  # Free Software Foundation, Inc.
  
! # This program is free software; you can redistribute it and/or modify
! # it under the terms of the GNU General Public License as published by
! # the Free Software Foundation; either version 2, or (at your option)
! # any later version.
  
! # This program is distributed in the hope that it will be useful,
! # but WITHOUT ANY WARRANTY; without even the implied warranty of
! # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
! # GNU General Public License for more details.
! 
! # You should have received a copy of the GNU General Public License
! # along with this program; if not, write to the Free Software
! # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
! # 02111-1307, USA.
! 
! # serial 11
  
  # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
  # AM_INIT_AUTOMAKE([OPTIONS])
*************** for _am_header in $config_headers :; do
*** 230,260 ****
  done
  echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
  
- # Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
- #
- # This file is free software; the Free Software Foundation
- # gives unlimited permission to copy and/or distribute it,
- # with or without modifications, as long as this notice is preserved.
- 
  # AM_PROG_INSTALL_SH
  # ------------------
  # Define $install_sh.
  AC_DEFUN([AM_PROG_INSTALL_SH],
  [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
  install_sh=${install_sh-"$am_aux_dir/install-sh"}
  AC_SUBST(install_sh)])
  
! # Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
  # From Jim Meyering
  
! # Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005
  # Free Software Foundation, Inc.
- #
- # This file is free software; the Free Software Foundation
- # gives unlimited permission to copy and/or distribute it,
- # with or without modifications, as long as this notice is preserved.
  
! # serial 4
  
  AC_DEFUN([AM_MAINTAINER_MODE],
  [AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
--- 275,328 ----
  done
  echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
  
  # AM_PROG_INSTALL_SH
  # ------------------
  # Define $install_sh.
+ 
+ # Copyright (C) 2001, 2003 Free Software Foundation, Inc.
+ 
+ # This program is free software; you can redistribute it and/or modify
+ # it under the terms of the GNU General Public License as published by
+ # the Free Software Foundation; either version 2, or (at your option)
+ # any later version.
+ 
+ # This program is distributed in the hope that it will be useful,
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ # GNU General Public License for more details.
+ 
+ # You should have received a copy of the GNU General Public License
+ # along with this program; if not, write to the Free Software
+ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+ # 02111-1307, USA.
+ 
  AC_DEFUN([AM_PROG_INSTALL_SH],
  [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
  install_sh=${install_sh-"$am_aux_dir/install-sh"}
  AC_SUBST(install_sh)])
  
! # Add --enable-maintainer-mode option to configure.
  # From Jim Meyering
  
! # Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004
  # Free Software Foundation, Inc.
  
! # This program is free software; you can redistribute it and/or modify
! # it under the terms of the GNU General Public License as published by
! # the Free Software Foundation; either version 2, or (at your option)
! # any later version.
! 
! # This program is distributed in the hope that it will be useful,
! # but WITHOUT ANY WARRANTY; without even the implied warranty of
! # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
! # GNU General Public License for more details.
! 
! # You should have received a copy of the GNU General Public License
! # along with this program; if not, write to the Free Software
! # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
! # 02111-1307, USA.
! 
! # serial 3
  
  AC_DEFUN([AM_MAINTAINER_MODE],
  [AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
*************** AC_DEFUN([AM_MAINTAINER_MODE],
*** 273,288 ****
  
  AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
  
! # Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
  
- # Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005
- # Free Software Foundation, Inc.
- #
- # This file is free software; the Free Software Foundation
- # gives unlimited permission to copy and/or distribute it,
- # with or without modifications, as long as this notice is preserved.
  
! # serial 4
  
  # AM_MISSING_PROG(NAME, PROGRAM)
  # ------------------------------
--- 341,367 ----
  
  AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
  
! #  -*- Autoconf -*-
  
  
! # Copyright (C) 1997, 1999, 2000, 2001, 2003 Free Software Foundation, Inc.
! 
! # This program is free software; you can redistribute it and/or modify
! # it under the terms of the GNU General Public License as published by
! # the Free Software Foundation; either version 2, or (at your option)
! # any later version.
! 
! # This program is distributed in the hope that it will be useful,
! # but WITHOUT ANY WARRANTY; without even the implied warranty of
! # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
! # GNU General Public License for more details.
! 
! # You should have received a copy of the GNU General Public License
! # along with this program; if not, write to the Free Software
! # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
! # 02111-1307, USA.
! 
! # serial 3
  
  # AM_MISSING_PROG(NAME, PROGRAM)
  # ------------------------------
*************** else
*** 308,323 ****
  fi
  ])
  
- # Copyright (C) 2003, 2004, 2005  Free Software Foundation, Inc.
- #
- # This file is free software; the Free Software Foundation
- # gives unlimited permission to copy and/or distribute it,
- # with or without modifications, as long as this notice is preserved.
- 
  # AM_PROG_MKDIR_P
  # ---------------
  # Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise.
! #
  # Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories
  # created by `make install' are always world readable, even if the
  # installer happens to have an overly restrictive umask (e.g. 077).
--- 387,413 ----
  fi
  ])
  
  # AM_PROG_MKDIR_P
  # ---------------
  # Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise.
! 
! # Copyright (C) 2003, 2004 Free Software Foundation, Inc.
! 
! # This program is free software; you can redistribute it and/or modify
! # it under the terms of the GNU General Public License as published by
! # the Free Software Foundation; either version 2, or (at your option)
! # any later version.
! 
! # This program is distributed in the hope that it will be useful,
! # but WITHOUT ANY WARRANTY; without even the implied warranty of
! # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
! # GNU General Public License for more details.
! 
! # You should have received a copy of the GNU General Public License
! # along with this program; if not, write to the Free Software
! # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
! # 02111-1307, USA.
! 
  # Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories
  # created by `make install' are always world readable, even if the
  # installer happens to have an overly restrictive umask (e.g. 077).
*************** else
*** 371,384 ****
  fi
  AC_SUBST([mkdir_p])])
  
! # Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2005
  # Free Software Foundation, Inc.
- #
- # This file is free software; the Free Software Foundation
- # gives unlimited permission to copy and/or distribute it,
- # with or without modifications, as long as this notice is preserved.
  
! # serial 5
  
  # AM_ENABLE_MULTILIB([MAKEFILE], [REL-TO-TOP-SRCDIR])
  # ---------------------------------------------------
--- 461,485 ----
  fi
  AC_SUBST([mkdir_p])])
  
! # Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004
  # Free Software Foundation, Inc.
  
! # This program is free software; you can redistribute it and/or modify
! # it under the terms of the GNU General Public License as published by
! # the Free Software Foundation; either version 2, or (at your option)
! # any later version.
! 
! # This program is distributed in the hope that it will be useful,
! # but WITHOUT ANY WARRANTY; without even the implied warranty of
! # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
! # GNU General Public License for more details.
! 
! # You should have received a copy of the GNU General Public License
! # along with this program; if not, write to the Free Software
! # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
! # 02111-1307, USA.
! 
! # serial 4
  
  # AM_ENABLE_MULTILIB([MAKEFILE], [REL-TO-TOP-SRCDIR])
  # ---------------------------------------------------
*************** multi_basedir="$multi_basedir"
*** 429,443 ****
  CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
  CC="$CC"])])dnl
  
! # Helper functions for option handling.                     -*- Autoconf -*-
  
! # Copyright (C) 2001, 2002, 2003, 2005  Free Software Foundation, Inc.
! #
! # This file is free software; the Free Software Foundation
! # gives unlimited permission to copy and/or distribute it,
! # with or without modifications, as long as this notice is preserved.
  
! # serial 3
  
  # _AM_MANGLE_OPTION(NAME)
  # -----------------------
--- 530,555 ----
  CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
  CC="$CC"])])dnl
  
! # Helper functions for option handling.                    -*- Autoconf -*-
  
! # Copyright (C) 2001, 2002, 2003  Free Software Foundation, Inc.
  
! # This program is free software; you can redistribute it and/or modify
! # it under the terms of the GNU General Public License as published by
! # the Free Software Foundation; either version 2, or (at your option)
! # any later version.
! 
! # This program is distributed in the hope that it will be useful,
! # but WITHOUT ANY WARRANTY; without even the implied warranty of
! # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
! # GNU General Public License for more details.
! 
! # You should have received a copy of the GNU General Public License
! # along with this program; if not, write to the Free Software
! # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
! # 02111-1307, USA.
! 
! # serial 2
  
  # _AM_MANGLE_OPTION(NAME)
  # -----------------------
*************** AC_DEFUN([_AM_SET_OPTIONS],
*** 462,477 ****
  AC_DEFUN([_AM_IF_OPTION],
  [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
  
- # Check to make sure that the build environment is sane.    -*- Autoconf -*-
- 
- # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
- # Free Software Foundation, Inc.
  #
! # This file is free software; the Free Software Foundation
! # gives unlimited permission to copy and/or distribute it,
! # with or without modifications, as long as this notice is preserved.
  
! # serial 4
  
  # AM_SANITY_CHECK
  # ---------------
--- 574,601 ----
  AC_DEFUN([_AM_IF_OPTION],
  [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
  
  #
! # Check to make sure that the build environment is sane.
! #
  
! # Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc.
! 
! # This program is free software; you can redistribute it and/or modify
! # it under the terms of the GNU General Public License as published by
! # the Free Software Foundation; either version 2, or (at your option)
! # any later version.
! 
! # This program is distributed in the hope that it will be useful,
! # but WITHOUT ANY WARRANTY; without even the implied warranty of
! # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
! # GNU General Public License for more details.
! 
! # You should have received a copy of the GNU General Public License
! # along with this program; if not, write to the Free Software
! # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
! # 02111-1307, USA.
! 
! # serial 3
  
  # AM_SANITY_CHECK
  # ---------------
*************** Check your system clock])
*** 514,527 ****
  fi
  AC_MSG_RESULT(yes)])
  
- # Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
- #
- # This file is free software; the Free Software Foundation
- # gives unlimited permission to copy and/or distribute it,
- # with or without modifications, as long as this notice is preserved.
- 
  # AM_PROG_INSTALL_STRIP
! # ---------------------
  # One issue with vendor `install' (even GNU) is that you can't
  # specify the program used to strip binaries.  This is especially
  # annoying in cross-compiling environments, where the build's strip
--- 638,662 ----
  fi
  AC_MSG_RESULT(yes)])
  
  # AM_PROG_INSTALL_STRIP
! 
! # Copyright (C) 2001, 2003 Free Software Foundation, Inc.
! 
! # This program is free software; you can redistribute it and/or modify
! # it under the terms of the GNU General Public License as published by
! # the Free Software Foundation; either version 2, or (at your option)
! # any later version.
! 
! # This program is distributed in the hope that it will be useful,
! # but WITHOUT ANY WARRANTY; without even the implied warranty of
! # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
! # GNU General Public License for more details.
! 
! # You should have received a copy of the GNU General Public License
! # along with this program; if not, write to the Free Software
! # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
! # 02111-1307, USA.
! 
  # One issue with vendor `install' (even GNU) is that you can't
  # specify the program used to strip binaries.  This is especially
  # annoying in cross-compiling environments, where the build's strip
*************** AC_SUBST([INSTALL_STRIP_PROGRAM])])
*** 544,556 ****
  
  # Check how to create a tarball.                            -*- Autoconf -*-
  
! # Copyright (C) 2004, 2005  Free Software Foundation, Inc.
! #
! # This file is free software; the Free Software Foundation
! # gives unlimited permission to copy and/or distribute it,
! # with or without modifications, as long as this notice is preserved.
  
- # serial 2
  
  # _AM_PROG_TAR(FORMAT)
  # --------------------
--- 679,703 ----
  
  # Check how to create a tarball.                            -*- Autoconf -*-
  
! # Copyright (C) 2004  Free Software Foundation, Inc.
! 
! # This program is free software; you can redistribute it and/or modify
! # it under the terms of the GNU General Public License as published by
! # the Free Software Foundation; either version 2, or (at your option)
! # any later version.
! 
! # This program is distributed in the hope that it will be useful,
! # but WITHOUT ANY WARRANTY; without even the implied warranty of
! # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
! # GNU General Public License for more details.
! 
! # You should have received a copy of the GNU General Public License
! # along with this program; if not, write to the Free Software
! # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
! # 02111-1307, USA.
! 
! # serial 1
  
  
  # _AM_PROG_TAR(FORMAT)
  # --------------------
Index: gcc/fortran/iresolve.c
===================================================================
*** gcc/fortran/iresolve.c	(revision 111450)
--- gcc/fortran/iresolve.c	(working copy)
*************** gfc_resolve_dot_product (gfc_expr * f, g
*** 549,569 ****
  {
    gfc_expr temp;
  
!   if (a->ts.type == BT_LOGICAL && b->ts.type == BT_LOGICAL)
!     {
!       f->ts.type = BT_LOGICAL;
!       f->ts.kind = gfc_default_logical_kind;
!     }
!   else
!     {
!       temp.expr_type = EXPR_OP;
!       gfc_clear_ts (&temp.ts);
!       temp.value.op.operator = INTRINSIC_NONE;
!       temp.value.op.op1 = a;
!       temp.value.op.op2 = b;
!       gfc_type_convert_binary (&temp);
!       f->ts = temp.ts;
!     }
  
    f->value.function.name =
      gfc_get_string (PREFIX("dot_product_%c%d"), gfc_type_letter (f->ts.type),
--- 549,561 ----
  {
    gfc_expr temp;
  
!   temp.expr_type = EXPR_OP;
!   gfc_clear_ts (&temp.ts);
!   temp.value.op.operator = INTRINSIC_NONE;
!   temp.value.op.op1 = a;
!   temp.value.op.op2 = b;
!   gfc_type_convert_binary (&temp);
!   f->ts = temp.ts;
  
    f->value.function.name =
      gfc_get_string (PREFIX("dot_product_%c%d"), gfc_type_letter (f->ts.type),
Index: gcc/fortran/trans-intrinsic.c
===================================================================
*** gcc/fortran/trans-intrinsic.c	(revision 111450)
--- gcc/fortran/trans-intrinsic.c	(working copy)
*************** gfc_conv_intrinsic_arith (gfc_se * se, g
*** 1561,1566 ****
--- 1561,1664 ----
    se->expr = resvar;
  }
  
+ 
+ /* Inline implementation of the dot_product intrinsic. This function
+    is based on gfc_conv_intrinsic_arith (the previous function).  */
+ static void
+ gfc_conv_intrinsic_dot_product (gfc_se * se, gfc_expr * expr)
+ {
+   tree resvar;
+   tree type;
+   stmtblock_t body;
+   stmtblock_t block;
+   tree tmp;
+   gfc_loopinfo loop;
+   gfc_actual_arglist *actual;
+   gfc_ss *arrayss1, *arrayss2;
+   gfc_se arrayse1, arrayse2;
+   gfc_expr *arrayexpr1, *arrayexpr2;
+ 
+   type = gfc_typenode_for_spec (&expr->ts);
+ 
+   /* Initialize the result.  */
+   resvar = gfc_create_var (type, "val");
+   if (expr->ts.type == BT_LOGICAL)
+     tmp = convert (type, integer_zero_node);
+   else
+     tmp = gfc_build_const (type, integer_zero_node);
+ 
+   gfc_add_modify_expr (&se->pre, resvar, tmp);
+ 
+   /* Walk argument #1.  */
+   actual = expr->value.function.actual;
+   arrayexpr1 = actual->expr;
+   arrayss1 = gfc_walk_expr (arrayexpr1);
+   gcc_assert (arrayss1 != gfc_ss_terminator);
+ 
+   /* Walk argument #2.  */
+   actual = actual->next;
+   arrayexpr2 = actual->expr;
+   arrayss2 = gfc_walk_expr (arrayexpr2);
+   gcc_assert (arrayss2 != gfc_ss_terminator);
+ 
+   /* Initialize the scalarizer.  */
+   gfc_init_loopinfo (&loop);
+   gfc_add_ss_to_loop (&loop, arrayss1);
+   gfc_add_ss_to_loop (&loop, arrayss2);
+ 
+   /* Initialize the loop.  */
+   gfc_conv_ss_startstride (&loop);
+   gfc_conv_loop_setup (&loop);
+ 
+   gfc_mark_ss_chain_used (arrayss1, 1);
+   gfc_mark_ss_chain_used (arrayss2, 1);
+ 
+   /* Generate the loop body.  */
+   gfc_start_scalarized_body (&loop, &body);
+   gfc_init_block (&block);
+ 
+   /* Make the tree expression for [conjg(]array1[)].  */
+   gfc_init_se (&arrayse1, NULL);
+   gfc_copy_loopinfo_to_se (&arrayse1, &loop);
+   arrayse1.ss = arrayss1;
+   gfc_conv_expr_val (&arrayse1, arrayexpr1);
+   if (expr->ts.type == BT_COMPLEX)
+     arrayse1.expr = build1 (CONJ_EXPR, type, arrayse1.expr);
+   gfc_add_block_to_block (&block, &arrayse1.pre);
+ 
+   /* Make the tree expression for array2.  */
+   gfc_init_se (&arrayse2, NULL);
+   gfc_copy_loopinfo_to_se (&arrayse2, &loop);
+   arrayse2.ss = arrayss2;
+   gfc_conv_expr_val (&arrayse2, arrayexpr2);
+   gfc_add_block_to_block (&block, &arrayse2.pre);
+ 
+   /* Do the actual product and sum.  */
+   if (expr->ts.type == BT_LOGICAL)
+     {
+       tmp = build2 (TRUTH_AND_EXPR, type, arrayse1.expr, arrayse2.expr);
+       tmp = build2 (TRUTH_OR_EXPR, type, resvar, tmp);
+     }
+   else
+     {
+       tmp = build2 (MULT_EXPR, type, arrayse1.expr, arrayse2.expr);
+       tmp = build2 (PLUS_EXPR, type, resvar, tmp);
+     }
+   gfc_add_modify_expr (&block, resvar, tmp);
+ 
+   /* Finish up the loop block and the loop.  */
+   tmp = gfc_finish_block (&block);
+   gfc_add_expr_to_block (&body, tmp);
+ 
+   gfc_trans_scalarizing_loops (&loop, &body);
+   gfc_add_block_to_block (&se->pre, &loop.pre);
+   gfc_add_block_to_block (&se->pre, &loop.post);
+   gfc_cleanup_loop (&loop);
+ 
+   se->expr = resvar;
+ }
+ 
+ 
  static void
  gfc_conv_intrinsic_minmaxloc (gfc_se * se, gfc_expr * expr, int op)
  {
*************** gfc_conv_intrinsic_function (gfc_se * se
*** 3102,3107 ****
--- 3200,3209 ----
        gfc_conv_intrinsic_dim (se, expr);
        break;
  
+     case GFC_ISYM_DOT_PRODUCT:
+       gfc_conv_intrinsic_dot_product (se, expr);
+       break;
+ 
      case GFC_ISYM_DPROD:
        gfc_conv_intrinsic_dprod (se, expr);
        break;
*************** gfc_conv_intrinsic_function (gfc_se * se
*** 3271,3277 ****
        break;
  
      case GFC_ISYM_CHDIR:
-     case GFC_ISYM_DOT_PRODUCT:
      case GFC_ISYM_ETIME:
      case GFC_ISYM_FGET:
      case GFC_ISYM_FGETC:
--- 3373,3378 ----

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]