https://gcc.gnu.org/g:47ffb895fceea2ecb37dd3819a8af695850d9344

commit 47ffb895fceea2ecb37dd3819a8af695850d9344
Author: Mikael Morin <mik...@gcc.gnu.org>
Date:   Thu Sep 11 12:26:57 2025 +0200

    Décalage indexs matmul
    
    Suppression variables inutilisées

Diff:
---
 libgfortran/m4/matmul_internal.m4 | 76 ++++++++++++++++++---------------------
 1 file changed, 35 insertions(+), 41 deletions(-)

diff --git a/libgfortran/m4/matmul_internal.m4 
b/libgfortran/m4/matmul_internal.m4
index d1ab0e06ce6c..5865d2584338 100644
--- a/libgfortran/m4/matmul_internal.m4
+++ b/libgfortran/m4/matmul_internal.m4
@@ -210,7 +210,7 @@ sinclude(`matmul_asm_'rtype_code`.m4')dnl
       const index_type m = xcount, n = ycount, k = count;
 
       /* System generated locals */
-      index_type a_dim1, a_offset, b_dim1, b_offset, c_dim1, c_offset,
+      index_type a_dim1, b_dim1, c_dim1,
                 i1, i2, i3, i4, i5, i6;
 
       /* Local variables */
@@ -226,18 +226,12 @@ sinclude(`matmul_asm_'rtype_code`.m4')dnl
 
       /* Parameter adjustments */
       c_dim1 = rystride;
-      c_offset = 1 + c_dim1;
-      c -= c_offset;
       a_dim1 = aystride;
-      a_offset = 1 + a_dim1;
-      a -= a_offset;
       b_dim1 = bystride;
-      b_offset = 1 + b_dim1;
-      b -= b_offset;
 
       /* Empty c first.  */
-      for (j=1; j<=n; j++)
-       for (i=1; i<=m; i++)
+      for (j=0; j<n; j++)
+       for (i=0; i<m; i++)
          c[i + j * c_dim1] = ('rtype_name`)0;
 
       /* Early exit if possible */
@@ -259,35 +253,35 @@ sinclude(`matmul_asm_'rtype_code`.m4')dnl
 
       /* Start turning the crank. */
       i1 = n;
-      for (jj = 1; jj <= i1; jj += 512)
+      for (jj = 0; jj < i1; jj += 512)
        {
          /* Computing MIN */
          i2 = 512;
-         i3 = n - jj + 1;
+         i3 = n - jj;
          jsec = min(i2,i3);
          ujsec = jsec - jsec % 4;
          i2 = k;
-         for (ll = 1; ll <= i2; ll += 256)
+         for (ll = 0; ll < i2; ll += 256)
            {
              /* Computing MIN */
              i3 = 256;
-             i4 = k - ll + 1;
+             i4 = k - ll;
              lsec = min(i3,i4);
              ulsec = lsec - lsec % 2;
 
              i3 = m;
-             for (ii = 1; ii <= i3; ii += 256)
+             for (ii = 0; ii < i3; ii += 256)
                {
                  /* Computing MIN */
                  i4 = 256;
-                 i5 = m - ii + 1;
+                 i5 = m - ii;
                  isec = min(i4,i5);
                  uisec = isec - isec % 2;
-                 i4 = ll + ulsec - 1;
-                 for (l = ll; l <= i4; l += 2)
+                 i4 = ll + ulsec;
+                 for (l = ll; l < i4; l += 2)
                    {
-                     i5 = ii + uisec - 1;
-                     for (i = ii; i <= i5; i += 2)
+                     i5 = ii + uisec;
+                     for (i = ii; i < i5; i += 2)
                        {
                          t1[l - ll + 1 + ((i - ii + 1) << 8) - 257] =
                                        a[i + l * a_dim1];
@@ -308,8 +302,8 @@ sinclude(`matmul_asm_'rtype_code`.m4')dnl
                    }
                  if (ulsec < lsec)
                    {
-                     i4 = ii + isec - 1;
-                     for (i = ii; i<= i4; ++i)
+                     i4 = ii + isec;
+                     for (i = ii; i< i4; ++i)
                        {
                          t1[lsec + ((i - ii + 1) << 8) - 257] =
                                    a[i + (ll + lsec - 1) * a_dim1];
@@ -317,11 +311,11 @@ sinclude(`matmul_asm_'rtype_code`.m4')dnl
                    }
 
                  uisec = isec - isec % 4;
-                 i4 = jj + ujsec - 1;
-                 for (j = jj; j <= i4; j += 4)
+                 i4 = jj + ujsec;
+                 for (j = jj; j < i4; j += 4)
                    {
-                     i5 = ii + uisec - 1;
-                     for (i = ii; i <= i5; i += 4)
+                     i5 = ii + uisec;
+                     for (i = ii; i < i5; i += 4)
                        {
                          f11 = c[i + j * c_dim1];
                          f21 = c[i + 1 + j * c_dim1];
@@ -339,8 +333,8 @@ sinclude(`matmul_asm_'rtype_code`.m4')dnl
                          f43 = c[i + 3 + (j + 2) * c_dim1];
                          f34 = c[i + 2 + (j + 3) * c_dim1];
                          f44 = c[i + 3 + (j + 3) * c_dim1];
-                         i6 = ll + lsec - 1;
-                         for (l = ll; l <= i6; ++l)
+                         i6 = ll + lsec;
+                         for (l = ll; l < i6; ++l)
                            {
                              f11 += t1[l - ll + 1 + ((i - ii + 1) << 8) - 257]
                                      * b[l + j * b_dim1];
@@ -394,15 +388,15 @@ sinclude(`matmul_asm_'rtype_code`.m4')dnl
                        }
                      if (uisec < isec)
                        {
-                         i5 = ii + isec - 1;
-                         for (i = ii + uisec; i <= i5; ++i)
+                         i5 = ii + isec;
+                         for (i = ii + uisec; i < i5; ++i)
                            {
                              f11 = c[i + j * c_dim1];
                              f12 = c[i + (j + 1) * c_dim1];
                              f13 = c[i + (j + 2) * c_dim1];
                              f14 = c[i + (j + 3) * c_dim1];
-                             i6 = ll + lsec - 1;
-                             for (l = ll; l <= i6; ++l)
+                             i6 = ll + lsec;
+                             for (l = ll; l < i6; ++l)
                                {
                                  f11 += t1[l - ll + 1 + ((i - ii + 1) << 8) -
                                          257] * b[l + j * b_dim1];
@@ -422,18 +416,18 @@ sinclude(`matmul_asm_'rtype_code`.m4')dnl
                    }
                  if (ujsec < jsec)
                    {
-                     i4 = jj + jsec - 1;
-                     for (j = jj + ujsec; j <= i4; ++j)
+                     i4 = jj + jsec;
+                     for (j = jj + ujsec; j < i4; ++j)
                        {
-                         i5 = ii + uisec - 1;
-                         for (i = ii; i <= i5; i += 4)
+                         i5 = ii + uisec;
+                         for (i = ii; i < i5; i += 4)
                            {
                              f11 = c[i + j * c_dim1];
                              f21 = c[i + 1 + j * c_dim1];
                              f31 = c[i + 2 + j * c_dim1];
                              f41 = c[i + 3 + j * c_dim1];
-                             i6 = ll + lsec - 1;
-                             for (l = ll; l <= i6; ++l)
+                             i6 = ll + lsec;
+                             for (l = ll; l < i6; ++l)
                                {
                                  f11 += t1[l - ll + 1 + ((i - ii + 1) << 8) -
                                          257] * b[l + j * b_dim1];
@@ -449,12 +443,12 @@ sinclude(`matmul_asm_'rtype_code`.m4')dnl
                              c[i + 2 + j * c_dim1] = f31;
                              c[i + 3 + j * c_dim1] = f41;
                            }
-                         i5 = ii + isec - 1;
-                         for (i = ii + uisec; i <= i5; ++i)
+                         i5 = ii + isec;
+                         for (i = ii + uisec; i < i5; ++i)
                            {
                              f11 = c[i + j * c_dim1];
-                             i6 = ll + lsec - 1;
-                             for (l = ll; l <= i6; ++l)
+                             i6 = ll + lsec;
+                             for (l = ll; l < i6; ++l)
                                {
                                  f11 += t1[l - ll + 1 + ((i - ii + 1) << 8) -
                                          257] * b[l + j * b_dim1];

Reply via email to