https://gcc.gnu.org/g:6eab554b645117f42bb1b39c9ed14eaa78d1da08

commit 6eab554b645117f42bb1b39c9ed14eaa78d1da08
Author: Mikael Morin <mik...@gcc.gnu.org>
Date:   Sat Apr 26 15:56:32 2025 +0200

    Correction régression matmul_bounds_12 (renseignement span)

Diff:
---
 gcc/fortran/trans-descriptor.cc          |  3 +++
 libgfortran/generated/matmul_c10.c       | 10 ++++++++++
 libgfortran/generated/matmul_c16.c       | 10 ++++++++++
 libgfortran/generated/matmul_c17.c       | 10 ++++++++++
 libgfortran/generated/matmul_c4.c        | 10 ++++++++++
 libgfortran/generated/matmul_c8.c        | 10 ++++++++++
 libgfortran/generated/matmul_i1.c        | 10 ++++++++++
 libgfortran/generated/matmul_i16.c       | 10 ++++++++++
 libgfortran/generated/matmul_i2.c        | 10 ++++++++++
 libgfortran/generated/matmul_i4.c        | 10 ++++++++++
 libgfortran/generated/matmul_i8.c        | 10 ++++++++++
 libgfortran/generated/matmul_r10.c       | 10 ++++++++++
 libgfortran/generated/matmul_r16.c       | 10 ++++++++++
 libgfortran/generated/matmul_r17.c       | 10 ++++++++++
 libgfortran/generated/matmul_r4.c        | 10 ++++++++++
 libgfortran/generated/matmul_r8.c        | 10 ++++++++++
 libgfortran/generated/matmulavx128_c10.c |  4 ++++
 libgfortran/generated/matmulavx128_c16.c |  4 ++++
 libgfortran/generated/matmulavx128_c17.c |  4 ++++
 libgfortran/generated/matmulavx128_c4.c  |  4 ++++
 libgfortran/generated/matmulavx128_c8.c  |  4 ++++
 libgfortran/generated/matmulavx128_i1.c  |  4 ++++
 libgfortran/generated/matmulavx128_i16.c |  4 ++++
 libgfortran/generated/matmulavx128_i2.c  |  4 ++++
 libgfortran/generated/matmulavx128_i4.c  |  4 ++++
 libgfortran/generated/matmulavx128_i8.c  |  4 ++++
 libgfortran/generated/matmulavx128_r10.c |  4 ++++
 libgfortran/generated/matmulavx128_r16.c |  4 ++++
 libgfortran/generated/matmulavx128_r17.c |  4 ++++
 libgfortran/generated/matmulavx128_r4.c  |  4 ++++
 libgfortran/generated/matmulavx128_r8.c  |  4 ++++
 libgfortran/m4/matmul_internal.m4        |  2 ++
 32 files changed, 215 insertions(+)

diff --git a/gcc/fortran/trans-descriptor.cc b/gcc/fortran/trans-descriptor.cc
index 87e119dbc4be..dfc98925dc18 100644
--- a/gcc/fortran/trans-descriptor.cc
+++ b/gcc/fortran/trans-descriptor.cc
@@ -2122,6 +2122,9 @@ conv_shift_descriptor (stmtblock_t *block, tree src, tree 
dest, int rank,
     {
       tree tmp = gfc_conv_descriptor_data_get (src);
       gfc_conv_descriptor_data_set (block, dest, tmp);
+
+      tmp = gfc_conv_descriptor_span_get (src);
+      gfc_conv_descriptor_span_set (block, dest, tmp);
     }
 
   tree offset = gfc_create_var (gfc_array_index_type, "offset");
diff --git a/libgfortran/generated/matmul_c10.c 
b/libgfortran/generated/matmul_c10.c
index 3ec53179d09c..79fb7e157b65 100644
--- a/libgfortran/generated/matmul_c10.c
+++ b/libgfortran/generated/matmul_c10.c
@@ -135,6 +135,8 @@ matmul_c10_avx (gfc_array_c10 * const restrict retarray,
                                       * sizeof (GFC_COMPLEX_10));
         }
 
+      retarray->span = sizeof (GFC_COMPLEX_10);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_COMPLEX_10));
       retarray->offset = 0;
@@ -719,6 +721,8 @@ matmul_c10_avx2 (gfc_array_c10 * const restrict retarray,
                                       * sizeof (GFC_COMPLEX_10));
         }
 
+      retarray->span = sizeof (GFC_COMPLEX_10);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_COMPLEX_10));
       retarray->offset = 0;
@@ -1303,6 +1307,8 @@ matmul_c10_avx512f (gfc_array_c10 * const restrict 
retarray,
                                       * sizeof (GFC_COMPLEX_10));
         }
 
+      retarray->span = sizeof (GFC_COMPLEX_10);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_COMPLEX_10));
       retarray->offset = 0;
@@ -1901,6 +1907,8 @@ matmul_c10_vanilla (gfc_array_c10 * const restrict 
retarray,
                                       * sizeof (GFC_COMPLEX_10));
         }
 
+      retarray->span = sizeof (GFC_COMPLEX_10);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_COMPLEX_10));
       retarray->offset = 0;
@@ -2558,6 +2566,8 @@ matmul_c10 (gfc_array_c10 * const restrict retarray,
                                       * sizeof (GFC_COMPLEX_10));
         }
 
+      retarray->span = sizeof (GFC_COMPLEX_10);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_COMPLEX_10));
       retarray->offset = 0;
diff --git a/libgfortran/generated/matmul_c16.c 
b/libgfortran/generated/matmul_c16.c
index 4d804d17c2e7..408837b43511 100644
--- a/libgfortran/generated/matmul_c16.c
+++ b/libgfortran/generated/matmul_c16.c
@@ -135,6 +135,8 @@ matmul_c16_avx (gfc_array_c16 * const restrict retarray,
                                       * sizeof (GFC_COMPLEX_16));
         }
 
+      retarray->span = sizeof (GFC_COMPLEX_16);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_COMPLEX_16));
       retarray->offset = 0;
@@ -719,6 +721,8 @@ matmul_c16_avx2 (gfc_array_c16 * const restrict retarray,
                                       * sizeof (GFC_COMPLEX_16));
         }
 
+      retarray->span = sizeof (GFC_COMPLEX_16);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_COMPLEX_16));
       retarray->offset = 0;
@@ -1303,6 +1307,8 @@ matmul_c16_avx512f (gfc_array_c16 * const restrict 
retarray,
                                       * sizeof (GFC_COMPLEX_16));
         }
 
+      retarray->span = sizeof (GFC_COMPLEX_16);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_COMPLEX_16));
       retarray->offset = 0;
@@ -1901,6 +1907,8 @@ matmul_c16_vanilla (gfc_array_c16 * const restrict 
retarray,
                                       * sizeof (GFC_COMPLEX_16));
         }
 
+      retarray->span = sizeof (GFC_COMPLEX_16);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_COMPLEX_16));
       retarray->offset = 0;
@@ -2558,6 +2566,8 @@ matmul_c16 (gfc_array_c16 * const restrict retarray,
                                       * sizeof (GFC_COMPLEX_16));
         }
 
+      retarray->span = sizeof (GFC_COMPLEX_16);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_COMPLEX_16));
       retarray->offset = 0;
diff --git a/libgfortran/generated/matmul_c17.c 
b/libgfortran/generated/matmul_c17.c
index beef0b96e591..0f531c50cafb 100644
--- a/libgfortran/generated/matmul_c17.c
+++ b/libgfortran/generated/matmul_c17.c
@@ -135,6 +135,8 @@ matmul_c17_avx (gfc_array_c17 * const restrict retarray,
                                       * sizeof (GFC_COMPLEX_17));
         }
 
+      retarray->span = sizeof (GFC_COMPLEX_17);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_COMPLEX_17));
       retarray->offset = 0;
@@ -719,6 +721,8 @@ matmul_c17_avx2 (gfc_array_c17 * const restrict retarray,
                                       * sizeof (GFC_COMPLEX_17));
         }
 
+      retarray->span = sizeof (GFC_COMPLEX_17);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_COMPLEX_17));
       retarray->offset = 0;
@@ -1303,6 +1307,8 @@ matmul_c17_avx512f (gfc_array_c17 * const restrict 
retarray,
                                       * sizeof (GFC_COMPLEX_17));
         }
 
+      retarray->span = sizeof (GFC_COMPLEX_17);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_COMPLEX_17));
       retarray->offset = 0;
@@ -1901,6 +1907,8 @@ matmul_c17_vanilla (gfc_array_c17 * const restrict 
retarray,
                                       * sizeof (GFC_COMPLEX_17));
         }
 
+      retarray->span = sizeof (GFC_COMPLEX_17);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_COMPLEX_17));
       retarray->offset = 0;
@@ -2558,6 +2566,8 @@ matmul_c17 (gfc_array_c17 * const restrict retarray,
                                       * sizeof (GFC_COMPLEX_17));
         }
 
+      retarray->span = sizeof (GFC_COMPLEX_17);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_COMPLEX_17));
       retarray->offset = 0;
diff --git a/libgfortran/generated/matmul_c4.c 
b/libgfortran/generated/matmul_c4.c
index d28003619c35..0a95f1bc2393 100644
--- a/libgfortran/generated/matmul_c4.c
+++ b/libgfortran/generated/matmul_c4.c
@@ -135,6 +135,8 @@ matmul_c4_avx (gfc_array_c4 * const restrict retarray,
                                       * sizeof (GFC_COMPLEX_4));
         }
 
+      retarray->span = sizeof (GFC_COMPLEX_4);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_COMPLEX_4));
       retarray->offset = 0;
@@ -719,6 +721,8 @@ matmul_c4_avx2 (gfc_array_c4 * const restrict retarray,
                                       * sizeof (GFC_COMPLEX_4));
         }
 
+      retarray->span = sizeof (GFC_COMPLEX_4);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_COMPLEX_4));
       retarray->offset = 0;
@@ -1303,6 +1307,8 @@ matmul_c4_avx512f (gfc_array_c4 * const restrict retarray,
                                       * sizeof (GFC_COMPLEX_4));
         }
 
+      retarray->span = sizeof (GFC_COMPLEX_4);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_COMPLEX_4));
       retarray->offset = 0;
@@ -1901,6 +1907,8 @@ matmul_c4_vanilla (gfc_array_c4 * const restrict retarray,
                                       * sizeof (GFC_COMPLEX_4));
         }
 
+      retarray->span = sizeof (GFC_COMPLEX_4);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_COMPLEX_4));
       retarray->offset = 0;
@@ -2558,6 +2566,8 @@ matmul_c4 (gfc_array_c4 * const restrict retarray,
                                       * sizeof (GFC_COMPLEX_4));
         }
 
+      retarray->span = sizeof (GFC_COMPLEX_4);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_COMPLEX_4));
       retarray->offset = 0;
diff --git a/libgfortran/generated/matmul_c8.c 
b/libgfortran/generated/matmul_c8.c
index 20856c0a01ad..1d1b8849bcfe 100644
--- a/libgfortran/generated/matmul_c8.c
+++ b/libgfortran/generated/matmul_c8.c
@@ -135,6 +135,8 @@ matmul_c8_avx (gfc_array_c8 * const restrict retarray,
                                       * sizeof (GFC_COMPLEX_8));
         }
 
+      retarray->span = sizeof (GFC_COMPLEX_8);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_COMPLEX_8));
       retarray->offset = 0;
@@ -719,6 +721,8 @@ matmul_c8_avx2 (gfc_array_c8 * const restrict retarray,
                                       * sizeof (GFC_COMPLEX_8));
         }
 
+      retarray->span = sizeof (GFC_COMPLEX_8);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_COMPLEX_8));
       retarray->offset = 0;
@@ -1303,6 +1307,8 @@ matmul_c8_avx512f (gfc_array_c8 * const restrict retarray,
                                       * sizeof (GFC_COMPLEX_8));
         }
 
+      retarray->span = sizeof (GFC_COMPLEX_8);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_COMPLEX_8));
       retarray->offset = 0;
@@ -1901,6 +1907,8 @@ matmul_c8_vanilla (gfc_array_c8 * const restrict retarray,
                                       * sizeof (GFC_COMPLEX_8));
         }
 
+      retarray->span = sizeof (GFC_COMPLEX_8);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_COMPLEX_8));
       retarray->offset = 0;
@@ -2558,6 +2566,8 @@ matmul_c8 (gfc_array_c8 * const restrict retarray,
                                       * sizeof (GFC_COMPLEX_8));
         }
 
+      retarray->span = sizeof (GFC_COMPLEX_8);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_COMPLEX_8));
       retarray->offset = 0;
diff --git a/libgfortran/generated/matmul_i1.c 
b/libgfortran/generated/matmul_i1.c
index 0fa9a5cf0898..4f86a02108b0 100644
--- a/libgfortran/generated/matmul_i1.c
+++ b/libgfortran/generated/matmul_i1.c
@@ -135,6 +135,8 @@ matmul_i1_avx (gfc_array_m1 * const restrict retarray,
                                       * sizeof (GFC_UINTEGER_1));
         }
 
+      retarray->span = sizeof (GFC_UINTEGER_1);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_UINTEGER_1));
       retarray->offset = 0;
@@ -719,6 +721,8 @@ matmul_i1_avx2 (gfc_array_m1 * const restrict retarray,
                                       * sizeof (GFC_UINTEGER_1));
         }
 
+      retarray->span = sizeof (GFC_UINTEGER_1);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_UINTEGER_1));
       retarray->offset = 0;
@@ -1303,6 +1307,8 @@ matmul_i1_avx512f (gfc_array_m1 * const restrict retarray,
                                       * sizeof (GFC_UINTEGER_1));
         }
 
+      retarray->span = sizeof (GFC_UINTEGER_1);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_UINTEGER_1));
       retarray->offset = 0;
@@ -1901,6 +1907,8 @@ matmul_i1_vanilla (gfc_array_m1 * const restrict retarray,
                                       * sizeof (GFC_UINTEGER_1));
         }
 
+      retarray->span = sizeof (GFC_UINTEGER_1);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_UINTEGER_1));
       retarray->offset = 0;
@@ -2558,6 +2566,8 @@ matmul_i1 (gfc_array_m1 * const restrict retarray,
                                       * sizeof (GFC_UINTEGER_1));
         }
 
+      retarray->span = sizeof (GFC_UINTEGER_1);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_UINTEGER_1));
       retarray->offset = 0;
diff --git a/libgfortran/generated/matmul_i16.c 
b/libgfortran/generated/matmul_i16.c
index 4f02e805c5b3..4b24c93a5170 100644
--- a/libgfortran/generated/matmul_i16.c
+++ b/libgfortran/generated/matmul_i16.c
@@ -135,6 +135,8 @@ matmul_i16_avx (gfc_array_m16 * const restrict retarray,
                                       * sizeof (GFC_UINTEGER_16));
         }
 
+      retarray->span = sizeof (GFC_UINTEGER_16);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_UINTEGER_16));
       retarray->offset = 0;
@@ -719,6 +721,8 @@ matmul_i16_avx2 (gfc_array_m16 * const restrict retarray,
                                       * sizeof (GFC_UINTEGER_16));
         }
 
+      retarray->span = sizeof (GFC_UINTEGER_16);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_UINTEGER_16));
       retarray->offset = 0;
@@ -1303,6 +1307,8 @@ matmul_i16_avx512f (gfc_array_m16 * const restrict 
retarray,
                                       * sizeof (GFC_UINTEGER_16));
         }
 
+      retarray->span = sizeof (GFC_UINTEGER_16);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_UINTEGER_16));
       retarray->offset = 0;
@@ -1901,6 +1907,8 @@ matmul_i16_vanilla (gfc_array_m16 * const restrict 
retarray,
                                       * sizeof (GFC_UINTEGER_16));
         }
 
+      retarray->span = sizeof (GFC_UINTEGER_16);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_UINTEGER_16));
       retarray->offset = 0;
@@ -2558,6 +2566,8 @@ matmul_i16 (gfc_array_m16 * const restrict retarray,
                                       * sizeof (GFC_UINTEGER_16));
         }
 
+      retarray->span = sizeof (GFC_UINTEGER_16);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_UINTEGER_16));
       retarray->offset = 0;
diff --git a/libgfortran/generated/matmul_i2.c 
b/libgfortran/generated/matmul_i2.c
index 88884ddb06a5..8f87ae2d2e26 100644
--- a/libgfortran/generated/matmul_i2.c
+++ b/libgfortran/generated/matmul_i2.c
@@ -135,6 +135,8 @@ matmul_i2_avx (gfc_array_m2 * const restrict retarray,
                                       * sizeof (GFC_UINTEGER_2));
         }
 
+      retarray->span = sizeof (GFC_UINTEGER_2);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_UINTEGER_2));
       retarray->offset = 0;
@@ -719,6 +721,8 @@ matmul_i2_avx2 (gfc_array_m2 * const restrict retarray,
                                       * sizeof (GFC_UINTEGER_2));
         }
 
+      retarray->span = sizeof (GFC_UINTEGER_2);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_UINTEGER_2));
       retarray->offset = 0;
@@ -1303,6 +1307,8 @@ matmul_i2_avx512f (gfc_array_m2 * const restrict retarray,
                                       * sizeof (GFC_UINTEGER_2));
         }
 
+      retarray->span = sizeof (GFC_UINTEGER_2);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_UINTEGER_2));
       retarray->offset = 0;
@@ -1901,6 +1907,8 @@ matmul_i2_vanilla (gfc_array_m2 * const restrict retarray,
                                       * sizeof (GFC_UINTEGER_2));
         }
 
+      retarray->span = sizeof (GFC_UINTEGER_2);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_UINTEGER_2));
       retarray->offset = 0;
@@ -2558,6 +2566,8 @@ matmul_i2 (gfc_array_m2 * const restrict retarray,
                                       * sizeof (GFC_UINTEGER_2));
         }
 
+      retarray->span = sizeof (GFC_UINTEGER_2);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_UINTEGER_2));
       retarray->offset = 0;
diff --git a/libgfortran/generated/matmul_i4.c 
b/libgfortran/generated/matmul_i4.c
index b69cb5d1f2d9..034e81a4b0d2 100644
--- a/libgfortran/generated/matmul_i4.c
+++ b/libgfortran/generated/matmul_i4.c
@@ -135,6 +135,8 @@ matmul_i4_avx (gfc_array_m4 * const restrict retarray,
                                       * sizeof (GFC_UINTEGER_4));
         }
 
+      retarray->span = sizeof (GFC_UINTEGER_4);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_UINTEGER_4));
       retarray->offset = 0;
@@ -719,6 +721,8 @@ matmul_i4_avx2 (gfc_array_m4 * const restrict retarray,
                                       * sizeof (GFC_UINTEGER_4));
         }
 
+      retarray->span = sizeof (GFC_UINTEGER_4);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_UINTEGER_4));
       retarray->offset = 0;
@@ -1303,6 +1307,8 @@ matmul_i4_avx512f (gfc_array_m4 * const restrict retarray,
                                       * sizeof (GFC_UINTEGER_4));
         }
 
+      retarray->span = sizeof (GFC_UINTEGER_4);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_UINTEGER_4));
       retarray->offset = 0;
@@ -1901,6 +1907,8 @@ matmul_i4_vanilla (gfc_array_m4 * const restrict retarray,
                                       * sizeof (GFC_UINTEGER_4));
         }
 
+      retarray->span = sizeof (GFC_UINTEGER_4);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_UINTEGER_4));
       retarray->offset = 0;
@@ -2558,6 +2566,8 @@ matmul_i4 (gfc_array_m4 * const restrict retarray,
                                       * sizeof (GFC_UINTEGER_4));
         }
 
+      retarray->span = sizeof (GFC_UINTEGER_4);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_UINTEGER_4));
       retarray->offset = 0;
diff --git a/libgfortran/generated/matmul_i8.c 
b/libgfortran/generated/matmul_i8.c
index 6fb718d8b6e2..5a8b11a7972b 100644
--- a/libgfortran/generated/matmul_i8.c
+++ b/libgfortran/generated/matmul_i8.c
@@ -135,6 +135,8 @@ matmul_i8_avx (gfc_array_m8 * const restrict retarray,
                                       * sizeof (GFC_UINTEGER_8));
         }
 
+      retarray->span = sizeof (GFC_UINTEGER_8);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_UINTEGER_8));
       retarray->offset = 0;
@@ -719,6 +721,8 @@ matmul_i8_avx2 (gfc_array_m8 * const restrict retarray,
                                       * sizeof (GFC_UINTEGER_8));
         }
 
+      retarray->span = sizeof (GFC_UINTEGER_8);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_UINTEGER_8));
       retarray->offset = 0;
@@ -1303,6 +1307,8 @@ matmul_i8_avx512f (gfc_array_m8 * const restrict retarray,
                                       * sizeof (GFC_UINTEGER_8));
         }
 
+      retarray->span = sizeof (GFC_UINTEGER_8);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_UINTEGER_8));
       retarray->offset = 0;
@@ -1901,6 +1907,8 @@ matmul_i8_vanilla (gfc_array_m8 * const restrict retarray,
                                       * sizeof (GFC_UINTEGER_8));
         }
 
+      retarray->span = sizeof (GFC_UINTEGER_8);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_UINTEGER_8));
       retarray->offset = 0;
@@ -2558,6 +2566,8 @@ matmul_i8 (gfc_array_m8 * const restrict retarray,
                                       * sizeof (GFC_UINTEGER_8));
         }
 
+      retarray->span = sizeof (GFC_UINTEGER_8);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_UINTEGER_8));
       retarray->offset = 0;
diff --git a/libgfortran/generated/matmul_r10.c 
b/libgfortran/generated/matmul_r10.c
index 49463e016195..96428adcc62b 100644
--- a/libgfortran/generated/matmul_r10.c
+++ b/libgfortran/generated/matmul_r10.c
@@ -135,6 +135,8 @@ matmul_r10_avx (gfc_array_r10 * const restrict retarray,
                                       * sizeof (GFC_REAL_10));
         }
 
+      retarray->span = sizeof (GFC_REAL_10);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_REAL_10));
       retarray->offset = 0;
@@ -719,6 +721,8 @@ matmul_r10_avx2 (gfc_array_r10 * const restrict retarray,
                                       * sizeof (GFC_REAL_10));
         }
 
+      retarray->span = sizeof (GFC_REAL_10);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_REAL_10));
       retarray->offset = 0;
@@ -1303,6 +1307,8 @@ matmul_r10_avx512f (gfc_array_r10 * const restrict 
retarray,
                                       * sizeof (GFC_REAL_10));
         }
 
+      retarray->span = sizeof (GFC_REAL_10);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_REAL_10));
       retarray->offset = 0;
@@ -1901,6 +1907,8 @@ matmul_r10_vanilla (gfc_array_r10 * const restrict 
retarray,
                                       * sizeof (GFC_REAL_10));
         }
 
+      retarray->span = sizeof (GFC_REAL_10);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_REAL_10));
       retarray->offset = 0;
@@ -2558,6 +2566,8 @@ matmul_r10 (gfc_array_r10 * const restrict retarray,
                                       * sizeof (GFC_REAL_10));
         }
 
+      retarray->span = sizeof (GFC_REAL_10);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_REAL_10));
       retarray->offset = 0;
diff --git a/libgfortran/generated/matmul_r16.c 
b/libgfortran/generated/matmul_r16.c
index db4da10a9767..8d7352e4c76e 100644
--- a/libgfortran/generated/matmul_r16.c
+++ b/libgfortran/generated/matmul_r16.c
@@ -135,6 +135,8 @@ matmul_r16_avx (gfc_array_r16 * const restrict retarray,
                                       * sizeof (GFC_REAL_16));
         }
 
+      retarray->span = sizeof (GFC_REAL_16);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_REAL_16));
       retarray->offset = 0;
@@ -719,6 +721,8 @@ matmul_r16_avx2 (gfc_array_r16 * const restrict retarray,
                                       * sizeof (GFC_REAL_16));
         }
 
+      retarray->span = sizeof (GFC_REAL_16);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_REAL_16));
       retarray->offset = 0;
@@ -1303,6 +1307,8 @@ matmul_r16_avx512f (gfc_array_r16 * const restrict 
retarray,
                                       * sizeof (GFC_REAL_16));
         }
 
+      retarray->span = sizeof (GFC_REAL_16);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_REAL_16));
       retarray->offset = 0;
@@ -1901,6 +1907,8 @@ matmul_r16_vanilla (gfc_array_r16 * const restrict 
retarray,
                                       * sizeof (GFC_REAL_16));
         }
 
+      retarray->span = sizeof (GFC_REAL_16);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_REAL_16));
       retarray->offset = 0;
@@ -2558,6 +2566,8 @@ matmul_r16 (gfc_array_r16 * const restrict retarray,
                                       * sizeof (GFC_REAL_16));
         }
 
+      retarray->span = sizeof (GFC_REAL_16);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_REAL_16));
       retarray->offset = 0;
diff --git a/libgfortran/generated/matmul_r17.c 
b/libgfortran/generated/matmul_r17.c
index 29adb40f2a85..28eb97b34aeb 100644
--- a/libgfortran/generated/matmul_r17.c
+++ b/libgfortran/generated/matmul_r17.c
@@ -135,6 +135,8 @@ matmul_r17_avx (gfc_array_r17 * const restrict retarray,
                                       * sizeof (GFC_REAL_17));
         }
 
+      retarray->span = sizeof (GFC_REAL_17);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_REAL_17));
       retarray->offset = 0;
@@ -719,6 +721,8 @@ matmul_r17_avx2 (gfc_array_r17 * const restrict retarray,
                                       * sizeof (GFC_REAL_17));
         }
 
+      retarray->span = sizeof (GFC_REAL_17);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_REAL_17));
       retarray->offset = 0;
@@ -1303,6 +1307,8 @@ matmul_r17_avx512f (gfc_array_r17 * const restrict 
retarray,
                                       * sizeof (GFC_REAL_17));
         }
 
+      retarray->span = sizeof (GFC_REAL_17);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_REAL_17));
       retarray->offset = 0;
@@ -1901,6 +1907,8 @@ matmul_r17_vanilla (gfc_array_r17 * const restrict 
retarray,
                                       * sizeof (GFC_REAL_17));
         }
 
+      retarray->span = sizeof (GFC_REAL_17);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_REAL_17));
       retarray->offset = 0;
@@ -2558,6 +2566,8 @@ matmul_r17 (gfc_array_r17 * const restrict retarray,
                                       * sizeof (GFC_REAL_17));
         }
 
+      retarray->span = sizeof (GFC_REAL_17);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_REAL_17));
       retarray->offset = 0;
diff --git a/libgfortran/generated/matmul_r4.c 
b/libgfortran/generated/matmul_r4.c
index 1b42201cdc2d..3c00f67ac125 100644
--- a/libgfortran/generated/matmul_r4.c
+++ b/libgfortran/generated/matmul_r4.c
@@ -135,6 +135,8 @@ matmul_r4_avx (gfc_array_r4 * const restrict retarray,
                                       * sizeof (GFC_REAL_4));
         }
 
+      retarray->span = sizeof (GFC_REAL_4);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_REAL_4));
       retarray->offset = 0;
@@ -719,6 +721,8 @@ matmul_r4_avx2 (gfc_array_r4 * const restrict retarray,
                                       * sizeof (GFC_REAL_4));
         }
 
+      retarray->span = sizeof (GFC_REAL_4);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_REAL_4));
       retarray->offset = 0;
@@ -1303,6 +1307,8 @@ matmul_r4_avx512f (gfc_array_r4 * const restrict retarray,
                                       * sizeof (GFC_REAL_4));
         }
 
+      retarray->span = sizeof (GFC_REAL_4);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_REAL_4));
       retarray->offset = 0;
@@ -1901,6 +1907,8 @@ matmul_r4_vanilla (gfc_array_r4 * const restrict retarray,
                                       * sizeof (GFC_REAL_4));
         }
 
+      retarray->span = sizeof (GFC_REAL_4);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_REAL_4));
       retarray->offset = 0;
@@ -2558,6 +2566,8 @@ matmul_r4 (gfc_array_r4 * const restrict retarray,
                                       * sizeof (GFC_REAL_4));
         }
 
+      retarray->span = sizeof (GFC_REAL_4);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_REAL_4));
       retarray->offset = 0;
diff --git a/libgfortran/generated/matmul_r8.c 
b/libgfortran/generated/matmul_r8.c
index 4b8f56154835..5ac7df47f9ce 100644
--- a/libgfortran/generated/matmul_r8.c
+++ b/libgfortran/generated/matmul_r8.c
@@ -135,6 +135,8 @@ matmul_r8_avx (gfc_array_r8 * const restrict retarray,
                                       * sizeof (GFC_REAL_8));
         }
 
+      retarray->span = sizeof (GFC_REAL_8);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_REAL_8));
       retarray->offset = 0;
@@ -719,6 +721,8 @@ matmul_r8_avx2 (gfc_array_r8 * const restrict retarray,
                                       * sizeof (GFC_REAL_8));
         }
 
+      retarray->span = sizeof (GFC_REAL_8);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_REAL_8));
       retarray->offset = 0;
@@ -1303,6 +1307,8 @@ matmul_r8_avx512f (gfc_array_r8 * const restrict retarray,
                                       * sizeof (GFC_REAL_8));
         }
 
+      retarray->span = sizeof (GFC_REAL_8);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_REAL_8));
       retarray->offset = 0;
@@ -1901,6 +1907,8 @@ matmul_r8_vanilla (gfc_array_r8 * const restrict retarray,
                                       * sizeof (GFC_REAL_8));
         }
 
+      retarray->span = sizeof (GFC_REAL_8);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_REAL_8));
       retarray->offset = 0;
@@ -2558,6 +2566,8 @@ matmul_r8 (gfc_array_r8 * const restrict retarray,
                                       * sizeof (GFC_REAL_8));
         }
 
+      retarray->span = sizeof (GFC_REAL_8);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_REAL_8));
       retarray->offset = 0;
diff --git a/libgfortran/generated/matmulavx128_c10.c 
b/libgfortran/generated/matmulavx128_c10.c
index 9c1163d82961..54137f53af6c 100644
--- a/libgfortran/generated/matmulavx128_c10.c
+++ b/libgfortran/generated/matmulavx128_c10.c
@@ -100,6 +100,8 @@ matmul_c10_avx128_fma3 (gfc_array_c10 * const restrict 
retarray,
                                       * sizeof (GFC_COMPLEX_10));
         }
 
+      retarray->span = sizeof (GFC_COMPLEX_10);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_COMPLEX_10));
       retarray->offset = 0;
@@ -685,6 +687,8 @@ matmul_c10_avx128_fma4 (gfc_array_c10 * const restrict 
retarray,
                                       * sizeof (GFC_COMPLEX_10));
         }
 
+      retarray->span = sizeof (GFC_COMPLEX_10);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_COMPLEX_10));
       retarray->offset = 0;
diff --git a/libgfortran/generated/matmulavx128_c16.c 
b/libgfortran/generated/matmulavx128_c16.c
index 4165ede68abd..aad42fc51520 100644
--- a/libgfortran/generated/matmulavx128_c16.c
+++ b/libgfortran/generated/matmulavx128_c16.c
@@ -100,6 +100,8 @@ matmul_c16_avx128_fma3 (gfc_array_c16 * const restrict 
retarray,
                                       * sizeof (GFC_COMPLEX_16));
         }
 
+      retarray->span = sizeof (GFC_COMPLEX_16);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_COMPLEX_16));
       retarray->offset = 0;
@@ -685,6 +687,8 @@ matmul_c16_avx128_fma4 (gfc_array_c16 * const restrict 
retarray,
                                       * sizeof (GFC_COMPLEX_16));
         }
 
+      retarray->span = sizeof (GFC_COMPLEX_16);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_COMPLEX_16));
       retarray->offset = 0;
diff --git a/libgfortran/generated/matmulavx128_c17.c 
b/libgfortran/generated/matmulavx128_c17.c
index 97864c774baa..8e9355d90ff6 100644
--- a/libgfortran/generated/matmulavx128_c17.c
+++ b/libgfortran/generated/matmulavx128_c17.c
@@ -100,6 +100,8 @@ matmul_c17_avx128_fma3 (gfc_array_c17 * const restrict 
retarray,
                                       * sizeof (GFC_COMPLEX_17));
         }
 
+      retarray->span = sizeof (GFC_COMPLEX_17);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_COMPLEX_17));
       retarray->offset = 0;
@@ -685,6 +687,8 @@ matmul_c17_avx128_fma4 (gfc_array_c17 * const restrict 
retarray,
                                       * sizeof (GFC_COMPLEX_17));
         }
 
+      retarray->span = sizeof (GFC_COMPLEX_17);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_COMPLEX_17));
       retarray->offset = 0;
diff --git a/libgfortran/generated/matmulavx128_c4.c 
b/libgfortran/generated/matmulavx128_c4.c
index c50879966417..13b75e802823 100644
--- a/libgfortran/generated/matmulavx128_c4.c
+++ b/libgfortran/generated/matmulavx128_c4.c
@@ -100,6 +100,8 @@ matmul_c4_avx128_fma3 (gfc_array_c4 * const restrict 
retarray,
                                       * sizeof (GFC_COMPLEX_4));
         }
 
+      retarray->span = sizeof (GFC_COMPLEX_4);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_COMPLEX_4));
       retarray->offset = 0;
@@ -685,6 +687,8 @@ matmul_c4_avx128_fma4 (gfc_array_c4 * const restrict 
retarray,
                                       * sizeof (GFC_COMPLEX_4));
         }
 
+      retarray->span = sizeof (GFC_COMPLEX_4);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_COMPLEX_4));
       retarray->offset = 0;
diff --git a/libgfortran/generated/matmulavx128_c8.c 
b/libgfortran/generated/matmulavx128_c8.c
index cf2947d59b37..40da3b1cab54 100644
--- a/libgfortran/generated/matmulavx128_c8.c
+++ b/libgfortran/generated/matmulavx128_c8.c
@@ -100,6 +100,8 @@ matmul_c8_avx128_fma3 (gfc_array_c8 * const restrict 
retarray,
                                       * sizeof (GFC_COMPLEX_8));
         }
 
+      retarray->span = sizeof (GFC_COMPLEX_8);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_COMPLEX_8));
       retarray->offset = 0;
@@ -685,6 +687,8 @@ matmul_c8_avx128_fma4 (gfc_array_c8 * const restrict 
retarray,
                                       * sizeof (GFC_COMPLEX_8));
         }
 
+      retarray->span = sizeof (GFC_COMPLEX_8);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_COMPLEX_8));
       retarray->offset = 0;
diff --git a/libgfortran/generated/matmulavx128_i1.c 
b/libgfortran/generated/matmulavx128_i1.c
index 87325f52f2b3..9b6b8d20e12f 100644
--- a/libgfortran/generated/matmulavx128_i1.c
+++ b/libgfortran/generated/matmulavx128_i1.c
@@ -100,6 +100,8 @@ matmul_i1_avx128_fma3 (gfc_array_i1 * const restrict 
retarray,
                                       * sizeof (GFC_INTEGER_1));
         }
 
+      retarray->span = sizeof (GFC_INTEGER_1);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_INTEGER_1));
       retarray->offset = 0;
@@ -685,6 +687,8 @@ matmul_i1_avx128_fma4 (gfc_array_i1 * const restrict 
retarray,
                                       * sizeof (GFC_INTEGER_1));
         }
 
+      retarray->span = sizeof (GFC_INTEGER_1);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_INTEGER_1));
       retarray->offset = 0;
diff --git a/libgfortran/generated/matmulavx128_i16.c 
b/libgfortran/generated/matmulavx128_i16.c
index 66678b292528..b89e630dbeaf 100644
--- a/libgfortran/generated/matmulavx128_i16.c
+++ b/libgfortran/generated/matmulavx128_i16.c
@@ -100,6 +100,8 @@ matmul_i16_avx128_fma3 (gfc_array_i16 * const restrict 
retarray,
                                       * sizeof (GFC_INTEGER_16));
         }
 
+      retarray->span = sizeof (GFC_INTEGER_16);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_INTEGER_16));
       retarray->offset = 0;
@@ -685,6 +687,8 @@ matmul_i16_avx128_fma4 (gfc_array_i16 * const restrict 
retarray,
                                       * sizeof (GFC_INTEGER_16));
         }
 
+      retarray->span = sizeof (GFC_INTEGER_16);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_INTEGER_16));
       retarray->offset = 0;
diff --git a/libgfortran/generated/matmulavx128_i2.c 
b/libgfortran/generated/matmulavx128_i2.c
index 8b7ab44b2b4f..159820d031b1 100644
--- a/libgfortran/generated/matmulavx128_i2.c
+++ b/libgfortran/generated/matmulavx128_i2.c
@@ -100,6 +100,8 @@ matmul_i2_avx128_fma3 (gfc_array_i2 * const restrict 
retarray,
                                       * sizeof (GFC_INTEGER_2));
         }
 
+      retarray->span = sizeof (GFC_INTEGER_2);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_INTEGER_2));
       retarray->offset = 0;
@@ -685,6 +687,8 @@ matmul_i2_avx128_fma4 (gfc_array_i2 * const restrict 
retarray,
                                       * sizeof (GFC_INTEGER_2));
         }
 
+      retarray->span = sizeof (GFC_INTEGER_2);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_INTEGER_2));
       retarray->offset = 0;
diff --git a/libgfortran/generated/matmulavx128_i4.c 
b/libgfortran/generated/matmulavx128_i4.c
index 9ae2b46cd8ef..48cc8a3c9056 100644
--- a/libgfortran/generated/matmulavx128_i4.c
+++ b/libgfortran/generated/matmulavx128_i4.c
@@ -100,6 +100,8 @@ matmul_i4_avx128_fma3 (gfc_array_i4 * const restrict 
retarray,
                                       * sizeof (GFC_INTEGER_4));
         }
 
+      retarray->span = sizeof (GFC_INTEGER_4);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_INTEGER_4));
       retarray->offset = 0;
@@ -685,6 +687,8 @@ matmul_i4_avx128_fma4 (gfc_array_i4 * const restrict 
retarray,
                                       * sizeof (GFC_INTEGER_4));
         }
 
+      retarray->span = sizeof (GFC_INTEGER_4);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_INTEGER_4));
       retarray->offset = 0;
diff --git a/libgfortran/generated/matmulavx128_i8.c 
b/libgfortran/generated/matmulavx128_i8.c
index 62cba77a3009..816442b86d86 100644
--- a/libgfortran/generated/matmulavx128_i8.c
+++ b/libgfortran/generated/matmulavx128_i8.c
@@ -100,6 +100,8 @@ matmul_i8_avx128_fma3 (gfc_array_i8 * const restrict 
retarray,
                                       * sizeof (GFC_INTEGER_8));
         }
 
+      retarray->span = sizeof (GFC_INTEGER_8);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_INTEGER_8));
       retarray->offset = 0;
@@ -685,6 +687,8 @@ matmul_i8_avx128_fma4 (gfc_array_i8 * const restrict 
retarray,
                                       * sizeof (GFC_INTEGER_8));
         }
 
+      retarray->span = sizeof (GFC_INTEGER_8);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_INTEGER_8));
       retarray->offset = 0;
diff --git a/libgfortran/generated/matmulavx128_r10.c 
b/libgfortran/generated/matmulavx128_r10.c
index 3ff645a99b3e..6ab28d73c69f 100644
--- a/libgfortran/generated/matmulavx128_r10.c
+++ b/libgfortran/generated/matmulavx128_r10.c
@@ -100,6 +100,8 @@ matmul_r10_avx128_fma3 (gfc_array_r10 * const restrict 
retarray,
                                       * sizeof (GFC_REAL_10));
         }
 
+      retarray->span = sizeof (GFC_REAL_10);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_REAL_10));
       retarray->offset = 0;
@@ -685,6 +687,8 @@ matmul_r10_avx128_fma4 (gfc_array_r10 * const restrict 
retarray,
                                       * sizeof (GFC_REAL_10));
         }
 
+      retarray->span = sizeof (GFC_REAL_10);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_REAL_10));
       retarray->offset = 0;
diff --git a/libgfortran/generated/matmulavx128_r16.c 
b/libgfortran/generated/matmulavx128_r16.c
index fd98c09095dc..814724bd6435 100644
--- a/libgfortran/generated/matmulavx128_r16.c
+++ b/libgfortran/generated/matmulavx128_r16.c
@@ -100,6 +100,8 @@ matmul_r16_avx128_fma3 (gfc_array_r16 * const restrict 
retarray,
                                       * sizeof (GFC_REAL_16));
         }
 
+      retarray->span = sizeof (GFC_REAL_16);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_REAL_16));
       retarray->offset = 0;
@@ -685,6 +687,8 @@ matmul_r16_avx128_fma4 (gfc_array_r16 * const restrict 
retarray,
                                       * sizeof (GFC_REAL_16));
         }
 
+      retarray->span = sizeof (GFC_REAL_16);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_REAL_16));
       retarray->offset = 0;
diff --git a/libgfortran/generated/matmulavx128_r17.c 
b/libgfortran/generated/matmulavx128_r17.c
index ddcedf1512c7..abdf634be42f 100644
--- a/libgfortran/generated/matmulavx128_r17.c
+++ b/libgfortran/generated/matmulavx128_r17.c
@@ -100,6 +100,8 @@ matmul_r17_avx128_fma3 (gfc_array_r17 * const restrict 
retarray,
                                       * sizeof (GFC_REAL_17));
         }
 
+      retarray->span = sizeof (GFC_REAL_17);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_REAL_17));
       retarray->offset = 0;
@@ -685,6 +687,8 @@ matmul_r17_avx128_fma4 (gfc_array_r17 * const restrict 
retarray,
                                       * sizeof (GFC_REAL_17));
         }
 
+      retarray->span = sizeof (GFC_REAL_17);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_REAL_17));
       retarray->offset = 0;
diff --git a/libgfortran/generated/matmulavx128_r4.c 
b/libgfortran/generated/matmulavx128_r4.c
index 87916d353b64..3e4647a9792a 100644
--- a/libgfortran/generated/matmulavx128_r4.c
+++ b/libgfortran/generated/matmulavx128_r4.c
@@ -100,6 +100,8 @@ matmul_r4_avx128_fma3 (gfc_array_r4 * const restrict 
retarray,
                                       * sizeof (GFC_REAL_4));
         }
 
+      retarray->span = sizeof (GFC_REAL_4);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_REAL_4));
       retarray->offset = 0;
@@ -685,6 +687,8 @@ matmul_r4_avx128_fma4 (gfc_array_r4 * const restrict 
retarray,
                                       * sizeof (GFC_REAL_4));
         }
 
+      retarray->span = sizeof (GFC_REAL_4);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_REAL_4));
       retarray->offset = 0;
diff --git a/libgfortran/generated/matmulavx128_r8.c 
b/libgfortran/generated/matmulavx128_r8.c
index a14e0fe6c821..008d504bb8a9 100644
--- a/libgfortran/generated/matmulavx128_r8.c
+++ b/libgfortran/generated/matmulavx128_r8.c
@@ -100,6 +100,8 @@ matmul_r8_avx128_fma3 (gfc_array_r8 * const restrict 
retarray,
                                       * sizeof (GFC_REAL_8));
         }
 
+      retarray->span = sizeof (GFC_REAL_8);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_REAL_8));
       retarray->offset = 0;
@@ -685,6 +687,8 @@ matmul_r8_avx128_fma4 (gfc_array_r8 * const restrict 
retarray,
                                       * sizeof (GFC_REAL_8));
         }
 
+      retarray->span = sizeof (GFC_REAL_8);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof (GFC_REAL_8));
       retarray->offset = 0;
diff --git a/libgfortran/m4/matmul_internal.m4 
b/libgfortran/m4/matmul_internal.m4
index 5c39db0f0912..51d1d37d59fc 100644
--- a/libgfortran/m4/matmul_internal.m4
+++ b/libgfortran/m4/matmul_internal.m4
@@ -50,6 +50,8 @@
                                       * sizeof ('rtype_name`));
         }
 
+      retarray->span = sizeof ('rtype_name`);
+
       retarray->base_addr
        = xmallocarray (size0 ((array_t *) retarray), sizeof ('rtype_name`));
       retarray->offset = 0;

Reply via email to