aboutsummaryrefslogtreecommitdiff
path: root/libgfortran/generated/sum_i16.c
diff options
context:
space:
mode:
authorThomas Koenig <tkoenig@gcc.gnu.org>2024-09-24 21:59:10 +0200
committerThomas Koenig <tkoenig@gcc.gnu.org>2024-09-24 21:59:10 +0200
commit5e918a4db9e4a5bdbeafec6881fa8b22a55d3789 (patch)
tree95bc57dc02c17a52e89b3d403815d7f85a0e8f3f /libgfortran/generated/sum_i16.c
parent5d98fe096b5d17021875806ffc32ba41ea0e87b0 (diff)
downloadgcc-5e918a4db9e4a5bdbeafec6881fa8b22a55d3789.zip
gcc-5e918a4db9e4a5bdbeafec6881fa8b22a55d3789.tar.gz
gcc-5e918a4db9e4a5bdbeafec6881fa8b22a55d3789.tar.bz2
Implement SUM and PRODUCT for unsigned.
gcc/fortran/ChangeLog: * gfortran.texi: Document SUM and PRODUCT. * iresolve.cc (resolve_transformational): New argument, use_integer, to translate calls to unsigned to calls to integer. (gfc_resolve_product): Use it (gfc_resolve_sum): Use it. * simplify.cc (init_result_expr): Handle BT_UNSIGNED. libgfortran/ChangeLog: * generated/product_c10.c: Regenerated. * generated/product_c16.c: Regenerated. * generated/product_c17.c: Regenerated. * generated/product_c4.c: Regenerated. * generated/product_c8.c: Regenerated. * generated/product_i1.c: Regenerated. * generated/product_i16.c: Regenerated. * generated/product_i2.c: Regenerated. * generated/product_i4.c: Regenerated. * generated/product_i8.c: Regenarated. * generated/product_r10.c: Regenerated. * generated/product_r16.c: Regenerated. * generated/product_r17.c: Regenerated. * generated/product_r4.c: Regenerated. * generated/product_r8.c: Regenarated. * generated/sum_c10.c: Regenerated. * generated/sum_c16.c: Regenerated. * generated/sum_c17.c: Regenerated. * generated/sum_c4.c: Regenerated. * generated/sum_c8.c: Regenerated. * generated/sum_i1.c: Regenerated. * generated/sum_i16.c: Regenerated. * generated/sum_i2.c: Regenerated. * generated/sum_i4.c: Regenerated. * generated/sum_i8.c: Regenerated. * generated/sum_r10.c: Regenerated. * generated/sum_r16.c: Regenerated. * generated/sum_r17.c: Regenerated. * generated/sum_r4.c: Regenerated. * generated/sum_r8.c: Regenerated. * m4/ifunction.m4: Whitespace fix. * m4/product.m4: If type is integer, change to unsigned. * m4/sum.m4: Likewise.
Diffstat (limited to 'libgfortran/generated/sum_i16.c')
-rw-r--r--libgfortran/generated/sum_i16.c54
1 files changed, 27 insertions, 27 deletions
diff --git a/libgfortran/generated/sum_i16.c b/libgfortran/generated/sum_i16.c
index be60289..900e8fb 100644
--- a/libgfortran/generated/sum_i16.c
+++ b/libgfortran/generated/sum_i16.c
@@ -26,24 +26,24 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include "libgfortran.h"
-#if defined (HAVE_GFC_INTEGER_16) && defined (HAVE_GFC_INTEGER_16)
+#if defined (HAVE_GFC_UINTEGER_16) && defined (HAVE_GFC_UINTEGER_16)
-extern void sum_i16 (gfc_array_i16 * const restrict,
- gfc_array_i16 * const restrict, const index_type * const restrict);
+extern void sum_i16 (gfc_array_m16 * const restrict,
+ gfc_array_m16 * const restrict, const index_type * const restrict);
export_proto(sum_i16);
void
-sum_i16 (gfc_array_i16 * const restrict retarray,
- gfc_array_i16 * const restrict array,
+sum_i16 (gfc_array_m16 * const restrict retarray,
+ gfc_array_m16 * const restrict array,
const index_type * const restrict pdim)
{
index_type count[GFC_MAX_DIMENSIONS];
index_type extent[GFC_MAX_DIMENSIONS];
index_type sstride[GFC_MAX_DIMENSIONS];
index_type dstride[GFC_MAX_DIMENSIONS];
- const GFC_INTEGER_16 * restrict base;
- GFC_INTEGER_16 * restrict dest;
+ const GFC_UINTEGER_16 * restrict base;
+ GFC_UINTEGER_16 * restrict dest;
index_type rank;
index_type n;
index_type len;
@@ -104,7 +104,7 @@ sum_i16 (gfc_array_i16 * const restrict retarray,
alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
- retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_INTEGER_16));
+ retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_UINTEGER_16));
if (alloc_size == 0)
return;
}
@@ -135,8 +135,8 @@ sum_i16 (gfc_array_i16 * const restrict retarray,
continue_loop = 1;
while (continue_loop)
{
- const GFC_INTEGER_16 * restrict src;
- GFC_INTEGER_16 result;
+ const GFC_UINTEGER_16 * restrict src;
+ GFC_UINTEGER_16 result;
src = base;
{
@@ -188,15 +188,15 @@ sum_i16 (gfc_array_i16 * const restrict retarray,
}
-extern void msum_i16 (gfc_array_i16 * const restrict,
- gfc_array_i16 * const restrict, const index_type * const restrict,
+extern void msum_i16 (gfc_array_m16 * const restrict,
+ gfc_array_m16 * const restrict, const index_type * const restrict,
gfc_array_l1 * const restrict);
export_proto(msum_i16);
void
-msum_i16 (gfc_array_i16 * const restrict retarray,
- gfc_array_i16 * const restrict array,
- const index_type * const restrict pdim,
+msum_i16 (gfc_array_m16 * const restrict retarray,
+ gfc_array_m16 * const restrict array,
+ const index_type * const restrict pdim,
gfc_array_l1 * const restrict mask)
{
index_type count[GFC_MAX_DIMENSIONS];
@@ -204,8 +204,8 @@ msum_i16 (gfc_array_i16 * const restrict retarray,
index_type sstride[GFC_MAX_DIMENSIONS];
index_type dstride[GFC_MAX_DIMENSIONS];
index_type mstride[GFC_MAX_DIMENSIONS];
- GFC_INTEGER_16 * restrict dest;
- const GFC_INTEGER_16 * restrict base;
+ GFC_UINTEGER_16 * restrict dest;
+ const GFC_UINTEGER_16 * restrict base;
const GFC_LOGICAL_1 * restrict mbase;
index_type rank;
index_type dim;
@@ -296,7 +296,7 @@ msum_i16 (gfc_array_i16 * const restrict retarray,
retarray->offset = 0;
retarray->dtype.rank = rank;
- retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_INTEGER_16));
+ retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_UINTEGER_16));
if (alloc_size == 0)
return;
}
@@ -327,9 +327,9 @@ msum_i16 (gfc_array_i16 * const restrict retarray,
while (base)
{
- const GFC_INTEGER_16 * restrict src;
+ const GFC_UINTEGER_16 * restrict src;
const GFC_LOGICAL_1 * restrict msrc;
- GFC_INTEGER_16 result;
+ GFC_UINTEGER_16 result;
src = base;
msrc = mbase;
{
@@ -378,21 +378,21 @@ msum_i16 (gfc_array_i16 * const restrict retarray,
}
-extern void ssum_i16 (gfc_array_i16 * const restrict,
- gfc_array_i16 * const restrict, const index_type * const restrict,
+extern void ssum_i16 (gfc_array_m16 * const restrict,
+ gfc_array_m16 * const restrict, const index_type * const restrict,
GFC_LOGICAL_4 *);
export_proto(ssum_i16);
void
-ssum_i16 (gfc_array_i16 * const restrict retarray,
- gfc_array_i16 * const restrict array,
- const index_type * const restrict pdim,
+ssum_i16 (gfc_array_m16 * const restrict retarray,
+ gfc_array_m16 * const restrict array,
+ const index_type * const restrict pdim,
GFC_LOGICAL_4 * mask)
{
index_type count[GFC_MAX_DIMENSIONS];
index_type extent[GFC_MAX_DIMENSIONS];
index_type dstride[GFC_MAX_DIMENSIONS];
- GFC_INTEGER_16 * restrict dest;
+ GFC_UINTEGER_16 * restrict dest;
index_type rank;
index_type n;
index_type dim;
@@ -455,7 +455,7 @@ ssum_i16 (gfc_array_i16 * const restrict retarray,
alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1];
- retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_INTEGER_16));
+ retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_UINTEGER_16));
if (alloc_size == 0)
return;
}