From dae2efc470d71e89aae15a7075f49ba0d69c9784 Mon Sep 17 00:00:00 2001 From: Janne Blomqvist Date: Wed, 19 Jul 2006 19:51:49 +0300 Subject: re PR libfortran/27919 (dot_product should be removed from the library) 2006-07-19 Janne Blomqvist PR fortran/27919 * m4/dotprodc.m4: Remove. * m4/dotprodl.m4: Remove. * m4/dotprod.m4: Remove. * generated/dotprod_*.c: Remove. * Makefile.am: Remove any references to dot_product implementation. * Makefile.in: Regenerated. From-SVN: r115593 --- libgfortran/m4/dotprod.m4 | 82 ----------------------------------------- libgfortran/m4/dotprodc.m4 | 84 ------------------------------------------ libgfortran/m4/dotprodl.m4 | 92 ---------------------------------------------- 3 files changed, 258 deletions(-) delete mode 100644 libgfortran/m4/dotprod.m4 delete mode 100644 libgfortran/m4/dotprodc.m4 delete mode 100644 libgfortran/m4/dotprodl.m4 (limited to 'libgfortran/m4') diff --git a/libgfortran/m4/dotprod.m4 b/libgfortran/m4/dotprod.m4 deleted file mode 100644 index f46796e..0000000 --- a/libgfortran/m4/dotprod.m4 +++ /dev/null @@ -1,82 +0,0 @@ -`/* Implementation of the DOT_PRODUCT intrinsic - Copyright 2002 Free Software Foundation, Inc. - Contributed by Paul Brook - -This file is part of the GNU Fortran 95 runtime library (libgfortran). - -Libgfortran 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 of the License, or (at your option) any later version. - -In addition to the permissions in the GNU General Public License, the -Free Software Foundation gives you unlimited permission to link the -compiled version of this file into combinations with other programs, -and to distribute those combinations without any restriction coming -from the use of this file. (The General Public License restrictions -do apply in other respects; for example, they cover modification of -the file, and distribution when not linked into a combine -executable.) - -Libgfortran 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 libgfortran; see the file COPYING. If not, -write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - -#include "config.h" -#include -#include -#include "libgfortran.h"' -include(iparm.m4)dnl - -`#if defined (HAVE_'rtype_name`)' - -typedef GFC_ARRAY_DESCRIPTOR(GFC_MAX_DIMENSIONS, char) char_array; - -extern rtype_name dot_product_`'rtype_code (rtype * const restrict a, - rtype * const restrict b); -export_proto(dot_product_`'rtype_code); - -/* Both parameters will already have been converted to the result type. */ -rtype_name -dot_product_`'rtype_code (rtype * const restrict a, rtype * const restrict b) -{ - const rtype_name * restrict pa; - const rtype_name * restrict pb; - rtype_name res; - index_type count; - index_type astride; - index_type bstride; - - assert (GFC_DESCRIPTOR_RANK (a) == 1 - && GFC_DESCRIPTOR_RANK (b) == 1); - - if (a->dim[0].stride == 0) - a->dim[0].stride = 1; - if (b->dim[0].stride == 0) - b->dim[0].stride = 1; - - astride = a->dim[0].stride; - bstride = b->dim[0].stride; - count = a->dim[0].ubound + 1 - a->dim[0].lbound; - res = 0; - pa = a->data; - pb = b->data; -sinclude(`dotprod_asm_'rtype_code`.m4')dnl - - while (count--) - { - res += *pa * *pb; - pa += astride; - pb += bstride; - } - - return res; -} - -#endif diff --git a/libgfortran/m4/dotprodc.m4 b/libgfortran/m4/dotprodc.m4 deleted file mode 100644 index 415eebf..0000000 --- a/libgfortran/m4/dotprodc.m4 +++ /dev/null @@ -1,84 +0,0 @@ -`/* Implementation of the DOT_PRODUCT intrinsic - Copyright 2002 Free Software Foundation, Inc. - Contributed by Paul Brook - and Feng Wang - -This file is part of the GNU Fortran 95 runtime library (libgfortran). - -Libgfortran 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 of the License, or (at your option) any later version. - -In addition to the permissions in the GNU General Public License, the -Free Software Foundation gives you unlimited permission to link the -compiled version of this file into combinations with other programs, -and to distribute those combinations without any restriction coming -from the use of this file. (The General Public License restrictions -do apply in other respects; for example, they cover modification of -the file, and distribution when not linked into a combine -executable.) - -Libgfortran 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 libgfortran; see the file COPYING. If not, -write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - -#include "config.h" -#include -#include -#include "libgfortran.h"' -include(iparm.m4)dnl -include(mtype.m4)dnl - -`#if defined (HAVE_'rtype_name`)' - -typedef GFC_ARRAY_DESCRIPTOR(GFC_MAX_DIMENSIONS, char) char_array; - -extern rtype_name dot_product_`'rtype_code (rtype * const restrict a, - rtype * const restrict b); -export_proto(dot_product_`'rtype_code); - -/* Both parameters will already have been converted to the result type. */ -rtype_name -dot_product_`'rtype_code (rtype * const restrict a, rtype * const restrict b) -{ - const rtype_name * restrict pa; - const rtype_name * restrict pb; - rtype_name res; - index_type count; - index_type astride; - index_type bstride; - - assert (GFC_DESCRIPTOR_RANK (a) == 1 - && GFC_DESCRIPTOR_RANK (b) == 1); - - if (a->dim[0].stride == 0) - a->dim[0].stride = 1; - if (b->dim[0].stride == 0) - b->dim[0].stride = 1; - - astride = a->dim[0].stride; - bstride = b->dim[0].stride; - count = a->dim[0].ubound + 1 - a->dim[0].lbound; - res = 0; - pa = a->data; - pb = b->data; -sinclude(`dotprod_asm_'rtype_code`.m4')dnl - - while (count--) - { - res += __builtin_conj`'q (*pa) * *pb; - pa += astride; - pb += bstride; - } - - return res; -} - -#endif diff --git a/libgfortran/m4/dotprodl.m4 b/libgfortran/m4/dotprodl.m4 deleted file mode 100644 index 37c3467..0000000 --- a/libgfortran/m4/dotprodl.m4 +++ /dev/null @@ -1,92 +0,0 @@ -`/* Implementation of the DOT_PRODUCT intrinsic - Copyright 2002 Free Software Foundation, Inc. - Contributed by Paul Brook - -This file is part of the GNU Fortran 95 runtime library (libgfortran). - -Libgfortran 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 of the License, or (at your option) any later version. - -In addition to the permissions in the GNU General Public License, the -Free Software Foundation gives you unlimited permission to link the -compiled version of this file into combinations with other programs, -and to distribute those combinations without any restriction coming -from the use of this file. (The General Public License restrictions -do apply in other respects; for example, they cover modification of -the file, and distribution when not linked into a combine -executable.) - -Libgfortran 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 libgfortran; see the file COPYING. If not, -write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - -#include "config.h" -#include -#include -#include "libgfortran.h"' -include(iparm.m4)dnl - -`#if defined (HAVE_'rtype_name`)' - -extern rtype_name dot_product_`'rtype_code (gfc_array_l4 * const restrict, - gfc_array_l4 * const restrict); -export_proto(dot_product_`'rtype_code); - -rtype_name -dot_product_`'rtype_code (gfc_array_l4 * const restrict a, - gfc_array_l4 * const restrict b) -{ - const GFC_LOGICAL_4 * restrict pa; - const GFC_LOGICAL_4 * restrict pb; - index_type count; - index_type astride; - index_type bstride; - - assert (GFC_DESCRIPTOR_RANK (a) == 1 - && GFC_DESCRIPTOR_RANK (b) == 1); - - if (a->dim[0].stride == 0) - a->dim[0].stride = 1; - if (b->dim[0].stride == 0) - b->dim[0].stride = 1; - - astride = a->dim[0].stride; - bstride = b->dim[0].stride; - count = a->dim[0].ubound + 1 - a->dim[0].lbound; - - pa = a->data; - if (GFC_DESCRIPTOR_SIZE (a) != 4) - { - assert (GFC_DESCRIPTOR_SIZE (a) == 8); - pa = GFOR_POINTER_L8_TO_L4 (pa); - astride <<= 1; - } - pb = b->data; - if (GFC_DESCRIPTOR_SIZE (b) != 4) - { - assert (GFC_DESCRIPTOR_SIZE (b) == 8); - pb = GFOR_POINTER_L8_TO_L4 (pb); - bstride <<= 1; - } - - while (count--) - { - if (*pa && *pb) - return 1; - - pa += astride; - pb += bstride; - } - - return 0; -} - -#endif -- cgit v1.1