diff options
author | Thomas Koenig <tkoenig@gcc.gnu.org> | 2024-09-24 21:59:10 +0200 |
---|---|---|
committer | Thomas Koenig <tkoenig@gcc.gnu.org> | 2024-09-24 21:59:10 +0200 |
commit | 5e918a4db9e4a5bdbeafec6881fa8b22a55d3789 (patch) | |
tree | 95bc57dc02c17a52e89b3d403815d7f85a0e8f3f /libgfortran/generated/sum_i1.c | |
parent | 5d98fe096b5d17021875806ffc32ba41ea0e87b0 (diff) | |
download | gcc-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_i1.c')
-rw-r--r-- | libgfortran/generated/sum_i1.c | 54 |
1 files changed, 27 insertions, 27 deletions
diff --git a/libgfortran/generated/sum_i1.c b/libgfortran/generated/sum_i1.c index fc1478a..b7b1762 100644 --- a/libgfortran/generated/sum_i1.c +++ b/libgfortran/generated/sum_i1.c @@ -26,24 +26,24 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #include "libgfortran.h" -#if defined (HAVE_GFC_INTEGER_1) && defined (HAVE_GFC_INTEGER_1) +#if defined (HAVE_GFC_UINTEGER_1) && defined (HAVE_GFC_UINTEGER_1) -extern void sum_i1 (gfc_array_i1 * const restrict, - gfc_array_i1 * const restrict, const index_type * const restrict); +extern void sum_i1 (gfc_array_m1 * const restrict, + gfc_array_m1 * const restrict, const index_type * const restrict); export_proto(sum_i1); void -sum_i1 (gfc_array_i1 * const restrict retarray, - gfc_array_i1 * const restrict array, +sum_i1 (gfc_array_m1 * const restrict retarray, + gfc_array_m1 * 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_1 * restrict base; - GFC_INTEGER_1 * restrict dest; + const GFC_UINTEGER_1 * restrict base; + GFC_UINTEGER_1 * restrict dest; index_type rank; index_type n; index_type len; @@ -104,7 +104,7 @@ sum_i1 (gfc_array_i1 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; - retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_INTEGER_1)); + retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_UINTEGER_1)); if (alloc_size == 0) return; } @@ -135,8 +135,8 @@ sum_i1 (gfc_array_i1 * const restrict retarray, continue_loop = 1; while (continue_loop) { - const GFC_INTEGER_1 * restrict src; - GFC_INTEGER_1 result; + const GFC_UINTEGER_1 * restrict src; + GFC_UINTEGER_1 result; src = base; { @@ -188,15 +188,15 @@ sum_i1 (gfc_array_i1 * const restrict retarray, } -extern void msum_i1 (gfc_array_i1 * const restrict, - gfc_array_i1 * const restrict, const index_type * const restrict, +extern void msum_i1 (gfc_array_m1 * const restrict, + gfc_array_m1 * const restrict, const index_type * const restrict, gfc_array_l1 * const restrict); export_proto(msum_i1); void -msum_i1 (gfc_array_i1 * const restrict retarray, - gfc_array_i1 * const restrict array, - const index_type * const restrict pdim, +msum_i1 (gfc_array_m1 * const restrict retarray, + gfc_array_m1 * 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_i1 (gfc_array_i1 * const restrict retarray, index_type sstride[GFC_MAX_DIMENSIONS]; index_type dstride[GFC_MAX_DIMENSIONS]; index_type mstride[GFC_MAX_DIMENSIONS]; - GFC_INTEGER_1 * restrict dest; - const GFC_INTEGER_1 * restrict base; + GFC_UINTEGER_1 * restrict dest; + const GFC_UINTEGER_1 * restrict base; const GFC_LOGICAL_1 * restrict mbase; index_type rank; index_type dim; @@ -296,7 +296,7 @@ msum_i1 (gfc_array_i1 * const restrict retarray, retarray->offset = 0; retarray->dtype.rank = rank; - retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_INTEGER_1)); + retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_UINTEGER_1)); if (alloc_size == 0) return; } @@ -327,9 +327,9 @@ msum_i1 (gfc_array_i1 * const restrict retarray, while (base) { - const GFC_INTEGER_1 * restrict src; + const GFC_UINTEGER_1 * restrict src; const GFC_LOGICAL_1 * restrict msrc; - GFC_INTEGER_1 result; + GFC_UINTEGER_1 result; src = base; msrc = mbase; { @@ -378,21 +378,21 @@ msum_i1 (gfc_array_i1 * const restrict retarray, } -extern void ssum_i1 (gfc_array_i1 * const restrict, - gfc_array_i1 * const restrict, const index_type * const restrict, +extern void ssum_i1 (gfc_array_m1 * const restrict, + gfc_array_m1 * const restrict, const index_type * const restrict, GFC_LOGICAL_4 *); export_proto(ssum_i1); void -ssum_i1 (gfc_array_i1 * const restrict retarray, - gfc_array_i1 * const restrict array, - const index_type * const restrict pdim, +ssum_i1 (gfc_array_m1 * const restrict retarray, + gfc_array_m1 * 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_1 * restrict dest; + GFC_UINTEGER_1 * restrict dest; index_type rank; index_type n; index_type dim; @@ -455,7 +455,7 @@ ssum_i1 (gfc_array_i1 * const restrict retarray, alloc_size = GFC_DESCRIPTOR_STRIDE(retarray,rank-1) * extent[rank-1]; - retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_INTEGER_1)); + retarray->base_addr = xmallocarray (alloc_size, sizeof (GFC_UINTEGER_1)); if (alloc_size == 0) return; } |