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];