[gcc(refs/users/mikael/heads/refactor_descriptor_v08)] Régénération fichiers générés
Mikael Morin
mikael@gcc.gnu.org
Mon Sep 15 13:58:55 GMT 2025
https://gcc.gnu.org/g:f59ee422072ac3fa2e14da4a653c0cfe9557180f
commit f59ee422072ac3fa2e14da4a653c0cfe9557180f
Author: Mikael Morin <mikael@gcc.gnu.org>
Date: Mon Sep 15 14:42:40 2025 +0200
Régénération fichiers générés
Régénération fichiers générés
Diff:
---
libgfortran/generated/matmul_c10.c | 380 ++++++++++++++-----------------
libgfortran/generated/matmul_c16.c | 380 ++++++++++++++-----------------
libgfortran/generated/matmul_c17.c | 380 ++++++++++++++-----------------
libgfortran/generated/matmul_c4.c | 380 ++++++++++++++-----------------
libgfortran/generated/matmul_c8.c | 380 ++++++++++++++-----------------
libgfortran/generated/matmul_i1.c | 380 ++++++++++++++-----------------
libgfortran/generated/matmul_i16.c | 380 ++++++++++++++-----------------
libgfortran/generated/matmul_i2.c | 380 ++++++++++++++-----------------
libgfortran/generated/matmul_i4.c | 380 ++++++++++++++-----------------
libgfortran/generated/matmul_i8.c | 380 ++++++++++++++-----------------
libgfortran/generated/matmul_r10.c | 380 ++++++++++++++-----------------
libgfortran/generated/matmul_r16.c | 380 ++++++++++++++-----------------
libgfortran/generated/matmul_r17.c | 380 ++++++++++++++-----------------
libgfortran/generated/matmul_r4.c | 380 ++++++++++++++-----------------
libgfortran/generated/matmul_r8.c | 380 ++++++++++++++-----------------
libgfortran/generated/matmulavx128_c10.c | 152 ++++++-------
libgfortran/generated/matmulavx128_c16.c | 152 ++++++-------
libgfortran/generated/matmulavx128_c17.c | 152 ++++++-------
libgfortran/generated/matmulavx128_c4.c | 152 ++++++-------
libgfortran/generated/matmulavx128_c8.c | 152 ++++++-------
libgfortran/generated/matmulavx128_i1.c | 152 ++++++-------
libgfortran/generated/matmulavx128_i16.c | 152 ++++++-------
libgfortran/generated/matmulavx128_i2.c | 152 ++++++-------
libgfortran/generated/matmulavx128_i4.c | 152 ++++++-------
libgfortran/generated/matmulavx128_i8.c | 152 ++++++-------
libgfortran/generated/matmulavx128_r10.c | 152 ++++++-------
libgfortran/generated/matmulavx128_r16.c | 152 ++++++-------
libgfortran/generated/matmulavx128_r17.c | 152 ++++++-------
libgfortran/generated/matmulavx128_r4.c | 152 ++++++-------
libgfortran/generated/matmulavx128_r8.c | 152 ++++++-------
30 files changed, 3675 insertions(+), 4305 deletions(-)
diff --git a/libgfortran/generated/matmul_c10.c b/libgfortran/generated/matmul_c10.c
index 5b71bf0c2915..3099cad8bd9a 100644
--- a/libgfortran/generated/matmul_c10.c
+++ b/libgfortran/generated/matmul_c10.c
@@ -294,7 +294,7 @@ matmul_c10_avx (gfc_array_c10 * const restrict retarray,
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 */
@@ -310,18 +310,12 @@ matmul_c10_avx (gfc_array_c10 * const restrict retarray,
/* 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] = (GFC_COMPLEX_10)0;
/* Early exit if possible */
@@ -343,35 +337,35 @@ matmul_c10_avx (gfc_array_c10 * const restrict retarray,
/* 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];
@@ -392,8 +386,8 @@ matmul_c10_avx (gfc_array_c10 * const restrict retarray,
}
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];
@@ -401,11 +395,11 @@ matmul_c10_avx (gfc_array_c10 * const restrict retarray,
}
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];
@@ -423,8 +417,8 @@ matmul_c10_avx (gfc_array_c10 * const restrict retarray,
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];
@@ -478,15 +472,15 @@ matmul_c10_avx (gfc_array_c10 * const restrict retarray,
}
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];
@@ -506,18 +500,18 @@ matmul_c10_avx (gfc_array_c10 * const restrict retarray,
}
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];
@@ -533,12 +527,12 @@ matmul_c10_avx (gfc_array_c10 * const restrict retarray,
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];
@@ -863,7 +857,7 @@ matmul_c10_avx2 (gfc_array_c10 * const restrict retarray,
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 */
@@ -879,18 +873,12 @@ matmul_c10_avx2 (gfc_array_c10 * const restrict retarray,
/* 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] = (GFC_COMPLEX_10)0;
/* Early exit if possible */
@@ -912,35 +900,35 @@ matmul_c10_avx2 (gfc_array_c10 * const restrict retarray,
/* 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];
@@ -961,8 +949,8 @@ matmul_c10_avx2 (gfc_array_c10 * const restrict retarray,
}
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];
@@ -970,11 +958,11 @@ matmul_c10_avx2 (gfc_array_c10 * const restrict retarray,
}
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];
@@ -992,8 +980,8 @@ matmul_c10_avx2 (gfc_array_c10 * const restrict retarray,
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];
@@ -1047,15 +1035,15 @@ matmul_c10_avx2 (gfc_array_c10 * const restrict retarray,
}
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];
@@ -1075,18 +1063,18 @@ matmul_c10_avx2 (gfc_array_c10 * const restrict retarray,
}
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];
@@ -1102,12 +1090,12 @@ matmul_c10_avx2 (gfc_array_c10 * const restrict retarray,
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];
@@ -1432,7 +1420,7 @@ matmul_c10_avx512f (gfc_array_c10 * const restrict retarray,
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 */
@@ -1448,18 +1436,12 @@ matmul_c10_avx512f (gfc_array_c10 * const restrict retarray,
/* 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] = (GFC_COMPLEX_10)0;
/* Early exit if possible */
@@ -1481,35 +1463,35 @@ matmul_c10_avx512f (gfc_array_c10 * const restrict retarray,
/* 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];
@@ -1530,8 +1512,8 @@ matmul_c10_avx512f (gfc_array_c10 * const restrict retarray,
}
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];
@@ -1539,11 +1521,11 @@ matmul_c10_avx512f (gfc_array_c10 * const restrict retarray,
}
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];
@@ -1561,8 +1543,8 @@ matmul_c10_avx512f (gfc_array_c10 * const restrict retarray,
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];
@@ -1616,15 +1598,15 @@ matmul_c10_avx512f (gfc_array_c10 * const restrict retarray,
}
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];
@@ -1644,18 +1626,18 @@ matmul_c10_avx512f (gfc_array_c10 * const restrict retarray,
}
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];
@@ -1671,12 +1653,12 @@ matmul_c10_avx512f (gfc_array_c10 * const restrict retarray,
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];
@@ -2015,7 +1997,7 @@ matmul_c10_vanilla (gfc_array_c10 * const restrict retarray,
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 */
@@ -2031,18 +2013,12 @@ matmul_c10_vanilla (gfc_array_c10 * const restrict retarray,
/* 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] = (GFC_COMPLEX_10)0;
/* Early exit if possible */
@@ -2064,35 +2040,35 @@ matmul_c10_vanilla (gfc_array_c10 * const restrict retarray,
/* 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];
@@ -2113,8 +2089,8 @@ matmul_c10_vanilla (gfc_array_c10 * const restrict retarray,
}
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];
@@ -2122,11 +2098,11 @@ matmul_c10_vanilla (gfc_array_c10 * const restrict retarray,
}
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];
@@ -2144,8 +2120,8 @@ matmul_c10_vanilla (gfc_array_c10 * const restrict retarray,
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];
@@ -2199,15 +2175,15 @@ matmul_c10_vanilla (gfc_array_c10 * const restrict retarray,
}
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];
@@ -2227,18 +2203,18 @@ matmul_c10_vanilla (gfc_array_c10 * const restrict retarray,
}
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];
@@ -2254,12 +2230,12 @@ matmul_c10_vanilla (gfc_array_c10 * const restrict retarray,
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];
@@ -2657,7 +2633,7 @@ matmul_c10 (gfc_array_c10 * const restrict retarray,
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 */
@@ -2673,18 +2649,12 @@ matmul_c10 (gfc_array_c10 * const restrict retarray,
/* 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] = (GFC_COMPLEX_10)0;
/* Early exit if possible */
@@ -2706,35 +2676,35 @@ matmul_c10 (gfc_array_c10 * const restrict retarray,
/* 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];
@@ -2755,8 +2725,8 @@ matmul_c10 (gfc_array_c10 * const restrict retarray,
}
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];
@@ -2764,11 +2734,11 @@ matmul_c10 (gfc_array_c10 * const restrict retarray,
}
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];
@@ -2786,8 +2756,8 @@ matmul_c10 (gfc_array_c10 * const restrict retarray,
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];
@@ -2841,15 +2811,15 @@ matmul_c10 (gfc_array_c10 * const restrict retarray,
}
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];
@@ -2869,18 +2839,18 @@ matmul_c10 (gfc_array_c10 * const restrict retarray,
}
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];
@@ -2896,12 +2866,12 @@ matmul_c10 (gfc_array_c10 * const restrict retarray,
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];
diff --git a/libgfortran/generated/matmul_c16.c b/libgfortran/generated/matmul_c16.c
index aaef220ce477..65a9523553de 100644
--- a/libgfortran/generated/matmul_c16.c
+++ b/libgfortran/generated/matmul_c16.c
@@ -294,7 +294,7 @@ matmul_c16_avx (gfc_array_c16 * const restrict retarray,
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 */
@@ -310,18 +310,12 @@ matmul_c16_avx (gfc_array_c16 * const restrict retarray,
/* 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] = (GFC_COMPLEX_16)0;
/* Early exit if possible */
@@ -343,35 +337,35 @@ matmul_c16_avx (gfc_array_c16 * const restrict retarray,
/* 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];
@@ -392,8 +386,8 @@ matmul_c16_avx (gfc_array_c16 * const restrict retarray,
}
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];
@@ -401,11 +395,11 @@ matmul_c16_avx (gfc_array_c16 * const restrict retarray,
}
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];
@@ -423,8 +417,8 @@ matmul_c16_avx (gfc_array_c16 * const restrict retarray,
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];
@@ -478,15 +472,15 @@ matmul_c16_avx (gfc_array_c16 * const restrict retarray,
}
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];
@@ -506,18 +500,18 @@ matmul_c16_avx (gfc_array_c16 * const restrict retarray,
}
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];
@@ -533,12 +527,12 @@ matmul_c16_avx (gfc_array_c16 * const restrict retarray,
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];
@@ -863,7 +857,7 @@ matmul_c16_avx2 (gfc_array_c16 * const restrict retarray,
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 */
@@ -879,18 +873,12 @@ matmul_c16_avx2 (gfc_array_c16 * const restrict retarray,
/* 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] = (GFC_COMPLEX_16)0;
/* Early exit if possible */
@@ -912,35 +900,35 @@ matmul_c16_avx2 (gfc_array_c16 * const restrict retarray,
/* 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];
@@ -961,8 +949,8 @@ matmul_c16_avx2 (gfc_array_c16 * const restrict retarray,
}
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];
@@ -970,11 +958,11 @@ matmul_c16_avx2 (gfc_array_c16 * const restrict retarray,
}
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];
@@ -992,8 +980,8 @@ matmul_c16_avx2 (gfc_array_c16 * const restrict retarray,
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];
@@ -1047,15 +1035,15 @@ matmul_c16_avx2 (gfc_array_c16 * const restrict retarray,
}
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];
@@ -1075,18 +1063,18 @@ matmul_c16_avx2 (gfc_array_c16 * const restrict retarray,
}
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];
@@ -1102,12 +1090,12 @@ matmul_c16_avx2 (gfc_array_c16 * const restrict retarray,
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];
@@ -1432,7 +1420,7 @@ matmul_c16_avx512f (gfc_array_c16 * const restrict retarray,
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 */
@@ -1448,18 +1436,12 @@ matmul_c16_avx512f (gfc_array_c16 * const restrict retarray,
/* 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] = (GFC_COMPLEX_16)0;
/* Early exit if possible */
@@ -1481,35 +1463,35 @@ matmul_c16_avx512f (gfc_array_c16 * const restrict retarray,
/* 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];
@@ -1530,8 +1512,8 @@ matmul_c16_avx512f (gfc_array_c16 * const restrict retarray,
}
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];
@@ -1539,11 +1521,11 @@ matmul_c16_avx512f (gfc_array_c16 * const restrict retarray,
}
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];
@@ -1561,8 +1543,8 @@ matmul_c16_avx512f (gfc_array_c16 * const restrict retarray,
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];
@@ -1616,15 +1598,15 @@ matmul_c16_avx512f (gfc_array_c16 * const restrict retarray,
}
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];
@@ -1644,18 +1626,18 @@ matmul_c16_avx512f (gfc_array_c16 * const restrict retarray,
}
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];
@@ -1671,12 +1653,12 @@ matmul_c16_avx512f (gfc_array_c16 * const restrict retarray,
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];
@@ -2015,7 +1997,7 @@ matmul_c16_vanilla (gfc_array_c16 * const restrict retarray,
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 */
@@ -2031,18 +2013,12 @@ matmul_c16_vanilla (gfc_array_c16 * const restrict retarray,
/* 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] = (GFC_COMPLEX_16)0;
/* Early exit if possible */
@@ -2064,35 +2040,35 @@ matmul_c16_vanilla (gfc_array_c16 * const restrict retarray,
/* 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];
@@ -2113,8 +2089,8 @@ matmul_c16_vanilla (gfc_array_c16 * const restrict retarray,
}
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];
@@ -2122,11 +2098,11 @@ matmul_c16_vanilla (gfc_array_c16 * const restrict retarray,
}
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];
@@ -2144,8 +2120,8 @@ matmul_c16_vanilla (gfc_array_c16 * const restrict retarray,
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];
@@ -2199,15 +2175,15 @@ matmul_c16_vanilla (gfc_array_c16 * const restrict retarray,
}
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];
@@ -2227,18 +2203,18 @@ matmul_c16_vanilla (gfc_array_c16 * const restrict retarray,
}
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];
@@ -2254,12 +2230,12 @@ matmul_c16_vanilla (gfc_array_c16 * const restrict retarray,
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];
@@ -2657,7 +2633,7 @@ matmul_c16 (gfc_array_c16 * const restrict retarray,
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 */
@@ -2673,18 +2649,12 @@ matmul_c16 (gfc_array_c16 * const restrict retarray,
/* 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] = (GFC_COMPLEX_16)0;
/* Early exit if possible */
@@ -2706,35 +2676,35 @@ matmul_c16 (gfc_array_c16 * const restrict retarray,
/* 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];
@@ -2755,8 +2725,8 @@ matmul_c16 (gfc_array_c16 * const restrict retarray,
}
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];
@@ -2764,11 +2734,11 @@ matmul_c16 (gfc_array_c16 * const restrict retarray,
}
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];
@@ -2786,8 +2756,8 @@ matmul_c16 (gfc_array_c16 * const restrict retarray,
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];
@@ -2841,15 +2811,15 @@ matmul_c16 (gfc_array_c16 * const restrict retarray,
}
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];
@@ -2869,18 +2839,18 @@ matmul_c16 (gfc_array_c16 * const restrict retarray,
}
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];
@@ -2896,12 +2866,12 @@ matmul_c16 (gfc_array_c16 * const restrict retarray,
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];
diff --git a/libgfortran/generated/matmul_c17.c b/libgfortran/generated/matmul_c17.c
index 061eb430dd87..19e955884db9 100644
--- a/libgfortran/generated/matmul_c17.c
+++ b/libgfortran/generated/matmul_c17.c
@@ -294,7 +294,7 @@ matmul_c17_avx (gfc_array_c17 * const restrict retarray,
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 */
@@ -310,18 +310,12 @@ matmul_c17_avx (gfc_array_c17 * const restrict retarray,
/* 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] = (GFC_COMPLEX_17)0;
/* Early exit if possible */
@@ -343,35 +337,35 @@ matmul_c17_avx (gfc_array_c17 * const restrict retarray,
/* 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];
@@ -392,8 +386,8 @@ matmul_c17_avx (gfc_array_c17 * const restrict retarray,
}
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];
@@ -401,11 +395,11 @@ matmul_c17_avx (gfc_array_c17 * const restrict retarray,
}
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];
@@ -423,8 +417,8 @@ matmul_c17_avx (gfc_array_c17 * const restrict retarray,
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];
@@ -478,15 +472,15 @@ matmul_c17_avx (gfc_array_c17 * const restrict retarray,
}
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];
@@ -506,18 +500,18 @@ matmul_c17_avx (gfc_array_c17 * const restrict retarray,
}
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];
@@ -533,12 +527,12 @@ matmul_c17_avx (gfc_array_c17 * const restrict retarray,
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];
@@ -863,7 +857,7 @@ matmul_c17_avx2 (gfc_array_c17 * const restrict retarray,
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 */
@@ -879,18 +873,12 @@ matmul_c17_avx2 (gfc_array_c17 * const restrict retarray,
/* 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] = (GFC_COMPLEX_17)0;
/* Early exit if possible */
@@ -912,35 +900,35 @@ matmul_c17_avx2 (gfc_array_c17 * const restrict retarray,
/* 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];
@@ -961,8 +949,8 @@ matmul_c17_avx2 (gfc_array_c17 * const restrict retarray,
}
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];
@@ -970,11 +958,11 @@ matmul_c17_avx2 (gfc_array_c17 * const restrict retarray,
}
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];
@@ -992,8 +980,8 @@ matmul_c17_avx2 (gfc_array_c17 * const restrict retarray,
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];
@@ -1047,15 +1035,15 @@ matmul_c17_avx2 (gfc_array_c17 * const restrict retarray,
}
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];
@@ -1075,18 +1063,18 @@ matmul_c17_avx2 (gfc_array_c17 * const restrict retarray,
}
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];
@@ -1102,12 +1090,12 @@ matmul_c17_avx2 (gfc_array_c17 * const restrict retarray,
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];
@@ -1432,7 +1420,7 @@ matmul_c17_avx512f (gfc_array_c17 * const restrict retarray,
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 */
@@ -1448,18 +1436,12 @@ matmul_c17_avx512f (gfc_array_c17 * const restrict retarray,
/* 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] = (GFC_COMPLEX_17)0;
/* Early exit if possible */
@@ -1481,35 +1463,35 @@ matmul_c17_avx512f (gfc_array_c17 * const restrict retarray,
/* 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];
@@ -1530,8 +1512,8 @@ matmul_c17_avx512f (gfc_array_c17 * const restrict retarray,
}
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];
@@ -1539,11 +1521,11 @@ matmul_c17_avx512f (gfc_array_c17 * const restrict retarray,
}
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];
@@ -1561,8 +1543,8 @@ matmul_c17_avx512f (gfc_array_c17 * const restrict retarray,
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];
@@ -1616,15 +1598,15 @@ matmul_c17_avx512f (gfc_array_c17 * const restrict retarray,
}
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];
@@ -1644,18 +1626,18 @@ matmul_c17_avx512f (gfc_array_c17 * const restrict retarray,
}
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];
@@ -1671,12 +1653,12 @@ matmul_c17_avx512f (gfc_array_c17 * const restrict retarray,
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];
@@ -2015,7 +1997,7 @@ matmul_c17_vanilla (gfc_array_c17 * const restrict retarray,
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 */
@@ -2031,18 +2013,12 @@ matmul_c17_vanilla (gfc_array_c17 * const restrict retarray,
/* 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] = (GFC_COMPLEX_17)0;
/* Early exit if possible */
@@ -2064,35 +2040,35 @@ matmul_c17_vanilla (gfc_array_c17 * const restrict retarray,
/* 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];
@@ -2113,8 +2089,8 @@ matmul_c17_vanilla (gfc_array_c17 * const restrict retarray,
}
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];
@@ -2122,11 +2098,11 @@ matmul_c17_vanilla (gfc_array_c17 * const restrict retarray,
}
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];
@@ -2144,8 +2120,8 @@ matmul_c17_vanilla (gfc_array_c17 * const restrict retarray,
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];
@@ -2199,15 +2175,15 @@ matmul_c17_vanilla (gfc_array_c17 * const restrict retarray,
}
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];
@@ -2227,18 +2203,18 @@ matmul_c17_vanilla (gfc_array_c17 * const restrict retarray,
}
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];
@@ -2254,12 +2230,12 @@ matmul_c17_vanilla (gfc_array_c17 * const restrict retarray,
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];
@@ -2657,7 +2633,7 @@ matmul_c17 (gfc_array_c17 * const restrict retarray,
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 */
@@ -2673,18 +2649,12 @@ matmul_c17 (gfc_array_c17 * const restrict retarray,
/* 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] = (GFC_COMPLEX_17)0;
/* Early exit if possible */
@@ -2706,35 +2676,35 @@ matmul_c17 (gfc_array_c17 * const restrict retarray,
/* 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];
@@ -2755,8 +2725,8 @@ matmul_c17 (gfc_array_c17 * const restrict retarray,
}
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];
@@ -2764,11 +2734,11 @@ matmul_c17 (gfc_array_c17 * const restrict retarray,
}
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];
@@ -2786,8 +2756,8 @@ matmul_c17 (gfc_array_c17 * const restrict retarray,
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];
@@ -2841,15 +2811,15 @@ matmul_c17 (gfc_array_c17 * const restrict retarray,
}
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];
@@ -2869,18 +2839,18 @@ matmul_c17 (gfc_array_c17 * const restrict retarray,
}
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];
@@ -2896,12 +2866,12 @@ matmul_c17 (gfc_array_c17 * const restrict retarray,
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];
diff --git a/libgfortran/generated/matmul_c4.c b/libgfortran/generated/matmul_c4.c
index 79cf933d289f..fda4ab5e2961 100644
--- a/libgfortran/generated/matmul_c4.c
+++ b/libgfortran/generated/matmul_c4.c
@@ -294,7 +294,7 @@ matmul_c4_avx (gfc_array_c4 * const restrict retarray,
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 */
@@ -310,18 +310,12 @@ matmul_c4_avx (gfc_array_c4 * const restrict retarray,
/* 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] = (GFC_COMPLEX_4)0;
/* Early exit if possible */
@@ -343,35 +337,35 @@ matmul_c4_avx (gfc_array_c4 * const restrict retarray,
/* 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];
@@ -392,8 +386,8 @@ matmul_c4_avx (gfc_array_c4 * const restrict retarray,
}
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];
@@ -401,11 +395,11 @@ matmul_c4_avx (gfc_array_c4 * const restrict retarray,
}
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];
@@ -423,8 +417,8 @@ matmul_c4_avx (gfc_array_c4 * const restrict retarray,
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];
@@ -478,15 +472,15 @@ matmul_c4_avx (gfc_array_c4 * const restrict retarray,
}
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];
@@ -506,18 +500,18 @@ matmul_c4_avx (gfc_array_c4 * const restrict retarray,
}
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];
@@ -533,12 +527,12 @@ matmul_c4_avx (gfc_array_c4 * const restrict retarray,
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];
@@ -863,7 +857,7 @@ matmul_c4_avx2 (gfc_array_c4 * const restrict retarray,
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 */
@@ -879,18 +873,12 @@ matmul_c4_avx2 (gfc_array_c4 * const restrict retarray,
/* 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] = (GFC_COMPLEX_4)0;
/* Early exit if possible */
@@ -912,35 +900,35 @@ matmul_c4_avx2 (gfc_array_c4 * const restrict retarray,
/* 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];
@@ -961,8 +949,8 @@ matmul_c4_avx2 (gfc_array_c4 * const restrict retarray,
}
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];
@@ -970,11 +958,11 @@ matmul_c4_avx2 (gfc_array_c4 * const restrict retarray,
}
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];
@@ -992,8 +980,8 @@ matmul_c4_avx2 (gfc_array_c4 * const restrict retarray,
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];
@@ -1047,15 +1035,15 @@ matmul_c4_avx2 (gfc_array_c4 * const restrict retarray,
}
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];
@@ -1075,18 +1063,18 @@ matmul_c4_avx2 (gfc_array_c4 * const restrict retarray,
}
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];
@@ -1102,12 +1090,12 @@ matmul_c4_avx2 (gfc_array_c4 * const restrict retarray,
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];
@@ -1432,7 +1420,7 @@ matmul_c4_avx512f (gfc_array_c4 * const restrict retarray,
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 */
@@ -1448,18 +1436,12 @@ matmul_c4_avx512f (gfc_array_c4 * const restrict retarray,
/* 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] = (GFC_COMPLEX_4)0;
/* Early exit if possible */
@@ -1481,35 +1463,35 @@ matmul_c4_avx512f (gfc_array_c4 * const restrict retarray,
/* 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];
@@ -1530,8 +1512,8 @@ matmul_c4_avx512f (gfc_array_c4 * const restrict retarray,
}
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];
@@ -1539,11 +1521,11 @@ matmul_c4_avx512f (gfc_array_c4 * const restrict retarray,
}
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];
@@ -1561,8 +1543,8 @@ matmul_c4_avx512f (gfc_array_c4 * const restrict retarray,
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];
@@ -1616,15 +1598,15 @@ matmul_c4_avx512f (gfc_array_c4 * const restrict retarray,
}
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];
@@ -1644,18 +1626,18 @@ matmul_c4_avx512f (gfc_array_c4 * const restrict retarray,
}
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];
@@ -1671,12 +1653,12 @@ matmul_c4_avx512f (gfc_array_c4 * const restrict retarray,
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];
@@ -2015,7 +1997,7 @@ matmul_c4_vanilla (gfc_array_c4 * const restrict retarray,
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 */
@@ -2031,18 +2013,12 @@ matmul_c4_vanilla (gfc_array_c4 * const restrict retarray,
/* 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] = (GFC_COMPLEX_4)0;
/* Early exit if possible */
@@ -2064,35 +2040,35 @@ matmul_c4_vanilla (gfc_array_c4 * const restrict retarray,
/* 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];
@@ -2113,8 +2089,8 @@ matmul_c4_vanilla (gfc_array_c4 * const restrict retarray,
}
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];
@@ -2122,11 +2098,11 @@ matmul_c4_vanilla (gfc_array_c4 * const restrict retarray,
}
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];
@@ -2144,8 +2120,8 @@ matmul_c4_vanilla (gfc_array_c4 * const restrict retarray,
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];
@@ -2199,15 +2175,15 @@ matmul_c4_vanilla (gfc_array_c4 * const restrict retarray,
}
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];
@@ -2227,18 +2203,18 @@ matmul_c4_vanilla (gfc_array_c4 * const restrict retarray,
}
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];
@@ -2254,12 +2230,12 @@ matmul_c4_vanilla (gfc_array_c4 * const restrict retarray,
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];
@@ -2657,7 +2633,7 @@ matmul_c4 (gfc_array_c4 * const restrict retarray,
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 */
@@ -2673,18 +2649,12 @@ matmul_c4 (gfc_array_c4 * const restrict retarray,
/* 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] = (GFC_COMPLEX_4)0;
/* Early exit if possible */
@@ -2706,35 +2676,35 @@ matmul_c4 (gfc_array_c4 * const restrict retarray,
/* 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];
@@ -2755,8 +2725,8 @@ matmul_c4 (gfc_array_c4 * const restrict retarray,
}
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];
@@ -2764,11 +2734,11 @@ matmul_c4 (gfc_array_c4 * const restrict retarray,
}
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];
@@ -2786,8 +2756,8 @@ matmul_c4 (gfc_array_c4 * const restrict retarray,
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];
@@ -2841,15 +2811,15 @@ matmul_c4 (gfc_array_c4 * const restrict retarray,
}
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];
@@ -2869,18 +2839,18 @@ matmul_c4 (gfc_array_c4 * const restrict retarray,
}
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];
@@ -2896,12 +2866,12 @@ matmul_c4 (gfc_array_c4 * const restrict retarray,
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];
diff --git a/libgfortran/generated/matmul_c8.c b/libgfortran/generated/matmul_c8.c
index 674df86903f6..cca6a3220e33 100644
--- a/libgfortran/generated/matmul_c8.c
+++ b/libgfortran/generated/matmul_c8.c
@@ -294,7 +294,7 @@ matmul_c8_avx (gfc_array_c8 * const restrict retarray,
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 */
@@ -310,18 +310,12 @@ matmul_c8_avx (gfc_array_c8 * const restrict retarray,
/* 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] = (GFC_COMPLEX_8)0;
/* Early exit if possible */
@@ -343,35 +337,35 @@ matmul_c8_avx (gfc_array_c8 * const restrict retarray,
/* 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];
@@ -392,8 +386,8 @@ matmul_c8_avx (gfc_array_c8 * const restrict retarray,
}
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];
@@ -401,11 +395,11 @@ matmul_c8_avx (gfc_array_c8 * const restrict retarray,
}
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];
@@ -423,8 +417,8 @@ matmul_c8_avx (gfc_array_c8 * const restrict retarray,
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];
@@ -478,15 +472,15 @@ matmul_c8_avx (gfc_array_c8 * const restrict retarray,
}
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];
@@ -506,18 +500,18 @@ matmul_c8_avx (gfc_array_c8 * const restrict retarray,
}
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];
@@ -533,12 +527,12 @@ matmul_c8_avx (gfc_array_c8 * const restrict retarray,
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];
@@ -863,7 +857,7 @@ matmul_c8_avx2 (gfc_array_c8 * const restrict retarray,
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 */
@@ -879,18 +873,12 @@ matmul_c8_avx2 (gfc_array_c8 * const restrict retarray,
/* 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] = (GFC_COMPLEX_8)0;
/* Early exit if possible */
@@ -912,35 +900,35 @@ matmul_c8_avx2 (gfc_array_c8 * const restrict retarray,
/* 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];
@@ -961,8 +949,8 @@ matmul_c8_avx2 (gfc_array_c8 * const restrict retarray,
}
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];
@@ -970,11 +958,11 @@ matmul_c8_avx2 (gfc_array_c8 * const restrict retarray,
}
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];
@@ -992,8 +980,8 @@ matmul_c8_avx2 (gfc_array_c8 * const restrict retarray,
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];
@@ -1047,15 +1035,15 @@ matmul_c8_avx2 (gfc_array_c8 * const restrict retarray,
}
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];
@@ -1075,18 +1063,18 @@ matmul_c8_avx2 (gfc_array_c8 * const restrict retarray,
}
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];
@@ -1102,12 +1090,12 @@ matmul_c8_avx2 (gfc_array_c8 * const restrict retarray,
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];
@@ -1432,7 +1420,7 @@ matmul_c8_avx512f (gfc_array_c8 * const restrict retarray,
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 */
@@ -1448,18 +1436,12 @@ matmul_c8_avx512f (gfc_array_c8 * const restrict retarray,
/* 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] = (GFC_COMPLEX_8)0;
/* Early exit if possible */
@@ -1481,35 +1463,35 @@ matmul_c8_avx512f (gfc_array_c8 * const restrict retarray,
/* 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];
@@ -1530,8 +1512,8 @@ matmul_c8_avx512f (gfc_array_c8 * const restrict retarray,
}
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];
@@ -1539,11 +1521,11 @@ matmul_c8_avx512f (gfc_array_c8 * const restrict retarray,
}
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];
@@ -1561,8 +1543,8 @@ matmul_c8_avx512f (gfc_array_c8 * const restrict retarray,
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];
@@ -1616,15 +1598,15 @@ matmul_c8_avx512f (gfc_array_c8 * const restrict retarray,
}
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];
@@ -1644,18 +1626,18 @@ matmul_c8_avx512f (gfc_array_c8 * const restrict retarray,
}
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];
@@ -1671,12 +1653,12 @@ matmul_c8_avx512f (gfc_array_c8 * const restrict retarray,
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];
@@ -2015,7 +1997,7 @@ matmul_c8_vanilla (gfc_array_c8 * const restrict retarray,
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 */
@@ -2031,18 +2013,12 @@ matmul_c8_vanilla (gfc_array_c8 * const restrict retarray,
/* 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] = (GFC_COMPLEX_8)0;
/* Early exit if possible */
@@ -2064,35 +2040,35 @@ matmul_c8_vanilla (gfc_array_c8 * const restrict retarray,
/* 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];
@@ -2113,8 +2089,8 @@ matmul_c8_vanilla (gfc_array_c8 * const restrict retarray,
}
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];
@@ -2122,11 +2098,11 @@ matmul_c8_vanilla (gfc_array_c8 * const restrict retarray,
}
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];
@@ -2144,8 +2120,8 @@ matmul_c8_vanilla (gfc_array_c8 * const restrict retarray,
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];
@@ -2199,15 +2175,15 @@ matmul_c8_vanilla (gfc_array_c8 * const restrict retarray,
}
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];
@@ -2227,18 +2203,18 @@ matmul_c8_vanilla (gfc_array_c8 * const restrict retarray,
}
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];
@@ -2254,12 +2230,12 @@ matmul_c8_vanilla (gfc_array_c8 * const restrict retarray,
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];
@@ -2657,7 +2633,7 @@ matmul_c8 (gfc_array_c8 * const restrict retarray,
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 */
@@ -2673,18 +2649,12 @@ matmul_c8 (gfc_array_c8 * const restrict retarray,
/* 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] = (GFC_COMPLEX_8)0;
/* Early exit if possible */
@@ -2706,35 +2676,35 @@ matmul_c8 (gfc_array_c8 * const restrict retarray,
/* 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];
@@ -2755,8 +2725,8 @@ matmul_c8 (gfc_array_c8 * const restrict retarray,
}
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];
@@ -2764,11 +2734,11 @@ matmul_c8 (gfc_array_c8 * const restrict retarray,
}
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];
@@ -2786,8 +2756,8 @@ matmul_c8 (gfc_array_c8 * const restrict retarray,
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];
@@ -2841,15 +2811,15 @@ matmul_c8 (gfc_array_c8 * const restrict retarray,
}
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];
@@ -2869,18 +2839,18 @@ matmul_c8 (gfc_array_c8 * const restrict retarray,
}
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];
@@ -2896,12 +2866,12 @@ matmul_c8 (gfc_array_c8 * const restrict retarray,
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];
diff --git a/libgfortran/generated/matmul_i1.c b/libgfortran/generated/matmul_i1.c
index 742081175670..08d18a36d0f5 100644
--- a/libgfortran/generated/matmul_i1.c
+++ b/libgfortran/generated/matmul_i1.c
@@ -294,7 +294,7 @@ matmul_i1_avx (gfc_array_m1 * const restrict retarray,
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 */
@@ -310,18 +310,12 @@ matmul_i1_avx (gfc_array_m1 * const restrict retarray,
/* 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] = (GFC_UINTEGER_1)0;
/* Early exit if possible */
@@ -343,35 +337,35 @@ matmul_i1_avx (gfc_array_m1 * const restrict retarray,
/* 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];
@@ -392,8 +386,8 @@ matmul_i1_avx (gfc_array_m1 * const restrict retarray,
}
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];
@@ -401,11 +395,11 @@ matmul_i1_avx (gfc_array_m1 * const restrict retarray,
}
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];
@@ -423,8 +417,8 @@ matmul_i1_avx (gfc_array_m1 * const restrict retarray,
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];
@@ -478,15 +472,15 @@ matmul_i1_avx (gfc_array_m1 * const restrict retarray,
}
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];
@@ -506,18 +500,18 @@ matmul_i1_avx (gfc_array_m1 * const restrict retarray,
}
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];
@@ -533,12 +527,12 @@ matmul_i1_avx (gfc_array_m1 * const restrict retarray,
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];
@@ -863,7 +857,7 @@ matmul_i1_avx2 (gfc_array_m1 * const restrict retarray,
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 */
@@ -879,18 +873,12 @@ matmul_i1_avx2 (gfc_array_m1 * const restrict retarray,
/* 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] = (GFC_UINTEGER_1)0;
/* Early exit if possible */
@@ -912,35 +900,35 @@ matmul_i1_avx2 (gfc_array_m1 * const restrict retarray,
/* 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];
@@ -961,8 +949,8 @@ matmul_i1_avx2 (gfc_array_m1 * const restrict retarray,
}
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];
@@ -970,11 +958,11 @@ matmul_i1_avx2 (gfc_array_m1 * const restrict retarray,
}
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];
@@ -992,8 +980,8 @@ matmul_i1_avx2 (gfc_array_m1 * const restrict retarray,
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];
@@ -1047,15 +1035,15 @@ matmul_i1_avx2 (gfc_array_m1 * const restrict retarray,
}
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];
@@ -1075,18 +1063,18 @@ matmul_i1_avx2 (gfc_array_m1 * const restrict retarray,
}
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];
@@ -1102,12 +1090,12 @@ matmul_i1_avx2 (gfc_array_m1 * const restrict retarray,
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];
@@ -1432,7 +1420,7 @@ matmul_i1_avx512f (gfc_array_m1 * const restrict retarray,
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 */
@@ -1448,18 +1436,12 @@ matmul_i1_avx512f (gfc_array_m1 * const restrict retarray,
/* 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] = (GFC_UINTEGER_1)0;
/* Early exit if possible */
@@ -1481,35 +1463,35 @@ matmul_i1_avx512f (gfc_array_m1 * const restrict retarray,
/* 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];
@@ -1530,8 +1512,8 @@ matmul_i1_avx512f (gfc_array_m1 * const restrict retarray,
}
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];
@@ -1539,11 +1521,11 @@ matmul_i1_avx512f (gfc_array_m1 * const restrict retarray,
}
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];
@@ -1561,8 +1543,8 @@ matmul_i1_avx512f (gfc_array_m1 * const restrict retarray,
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];
@@ -1616,15 +1598,15 @@ matmul_i1_avx512f (gfc_array_m1 * const restrict retarray,
}
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];
@@ -1644,18 +1626,18 @@ matmul_i1_avx512f (gfc_array_m1 * const restrict retarray,
}
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];
@@ -1671,12 +1653,12 @@ matmul_i1_avx512f (gfc_array_m1 * const restrict retarray,
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];
@@ -2015,7 +1997,7 @@ matmul_i1_vanilla (gfc_array_m1 * const restrict retarray,
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 */
@@ -2031,18 +2013,12 @@ matmul_i1_vanilla (gfc_array_m1 * const restrict retarray,
/* 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] = (GFC_UINTEGER_1)0;
/* Early exit if possible */
@@ -2064,35 +2040,35 @@ matmul_i1_vanilla (gfc_array_m1 * const restrict retarray,
/* 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];
@@ -2113,8 +2089,8 @@ matmul_i1_vanilla (gfc_array_m1 * const restrict retarray,
}
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];
@@ -2122,11 +2098,11 @@ matmul_i1_vanilla (gfc_array_m1 * const restrict retarray,
}
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];
@@ -2144,8 +2120,8 @@ matmul_i1_vanilla (gfc_array_m1 * const restrict retarray,
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];
@@ -2199,15 +2175,15 @@ matmul_i1_vanilla (gfc_array_m1 * const restrict retarray,
}
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];
@@ -2227,18 +2203,18 @@ matmul_i1_vanilla (gfc_array_m1 * const restrict retarray,
}
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];
@@ -2254,12 +2230,12 @@ matmul_i1_vanilla (gfc_array_m1 * const restrict retarray,
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];
@@ -2657,7 +2633,7 @@ matmul_i1 (gfc_array_m1 * const restrict retarray,
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 */
@@ -2673,18 +2649,12 @@ matmul_i1 (gfc_array_m1 * const restrict retarray,
/* 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] = (GFC_UINTEGER_1)0;
/* Early exit if possible */
@@ -2706,35 +2676,35 @@ matmul_i1 (gfc_array_m1 * const restrict retarray,
/* 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];
@@ -2755,8 +2725,8 @@ matmul_i1 (gfc_array_m1 * const restrict retarray,
}
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];
@@ -2764,11 +2734,11 @@ matmul_i1 (gfc_array_m1 * const restrict retarray,
}
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];
@@ -2786,8 +2756,8 @@ matmul_i1 (gfc_array_m1 * const restrict retarray,
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];
@@ -2841,15 +2811,15 @@ matmul_i1 (gfc_array_m1 * const restrict retarray,
}
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];
@@ -2869,18 +2839,18 @@ matmul_i1 (gfc_array_m1 * const restrict retarray,
}
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];
@@ -2896,12 +2866,12 @@ matmul_i1 (gfc_array_m1 * const restrict retarray,
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];
diff --git a/libgfortran/generated/matmul_i16.c b/libgfortran/generated/matmul_i16.c
index 221ff4978d54..d6f63d7afb5a 100644
--- a/libgfortran/generated/matmul_i16.c
+++ b/libgfortran/generated/matmul_i16.c
@@ -294,7 +294,7 @@ matmul_i16_avx (gfc_array_m16 * const restrict retarray,
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 */
@@ -310,18 +310,12 @@ matmul_i16_avx (gfc_array_m16 * const restrict retarray,
/* 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] = (GFC_UINTEGER_16)0;
/* Early exit if possible */
@@ -343,35 +337,35 @@ matmul_i16_avx (gfc_array_m16 * const restrict retarray,
/* 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];
@@ -392,8 +386,8 @@ matmul_i16_avx (gfc_array_m16 * const restrict retarray,
}
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];
@@ -401,11 +395,11 @@ matmul_i16_avx (gfc_array_m16 * const restrict retarray,
}
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];
@@ -423,8 +417,8 @@ matmul_i16_avx (gfc_array_m16 * const restrict retarray,
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];
@@ -478,15 +472,15 @@ matmul_i16_avx (gfc_array_m16 * const restrict retarray,
}
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];
@@ -506,18 +500,18 @@ matmul_i16_avx (gfc_array_m16 * const restrict retarray,
}
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];
@@ -533,12 +527,12 @@ matmul_i16_avx (gfc_array_m16 * const restrict retarray,
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];
@@ -863,7 +857,7 @@ matmul_i16_avx2 (gfc_array_m16 * const restrict retarray,
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 */
@@ -879,18 +873,12 @@ matmul_i16_avx2 (gfc_array_m16 * const restrict retarray,
/* 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] = (GFC_UINTEGER_16)0;
/* Early exit if possible */
@@ -912,35 +900,35 @@ matmul_i16_avx2 (gfc_array_m16 * const restrict retarray,
/* 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];
@@ -961,8 +949,8 @@ matmul_i16_avx2 (gfc_array_m16 * const restrict retarray,
}
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];
@@ -970,11 +958,11 @@ matmul_i16_avx2 (gfc_array_m16 * const restrict retarray,
}
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];
@@ -992,8 +980,8 @@ matmul_i16_avx2 (gfc_array_m16 * const restrict retarray,
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];
@@ -1047,15 +1035,15 @@ matmul_i16_avx2 (gfc_array_m16 * const restrict retarray,
}
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];
@@ -1075,18 +1063,18 @@ matmul_i16_avx2 (gfc_array_m16 * const restrict retarray,
}
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];
@@ -1102,12 +1090,12 @@ matmul_i16_avx2 (gfc_array_m16 * const restrict retarray,
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];
@@ -1432,7 +1420,7 @@ matmul_i16_avx512f (gfc_array_m16 * const restrict retarray,
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 */
@@ -1448,18 +1436,12 @@ matmul_i16_avx512f (gfc_array_m16 * const restrict retarray,
/* 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] = (GFC_UINTEGER_16)0;
/* Early exit if possible */
@@ -1481,35 +1463,35 @@ matmul_i16_avx512f (gfc_array_m16 * const restrict retarray,
/* 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];
@@ -1530,8 +1512,8 @@ matmul_i16_avx512f (gfc_array_m16 * const restrict retarray,
}
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];
@@ -1539,11 +1521,11 @@ matmul_i16_avx512f (gfc_array_m16 * const restrict retarray,
}
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];
@@ -1561,8 +1543,8 @@ matmul_i16_avx512f (gfc_array_m16 * const restrict retarray,
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];
@@ -1616,15 +1598,15 @@ matmul_i16_avx512f (gfc_array_m16 * const restrict retarray,
}
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];
@@ -1644,18 +1626,18 @@ matmul_i16_avx512f (gfc_array_m16 * const restrict retarray,
}
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];
@@ -1671,12 +1653,12 @@ matmul_i16_avx512f (gfc_array_m16 * const restrict retarray,
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];
@@ -2015,7 +1997,7 @@ matmul_i16_vanilla (gfc_array_m16 * const restrict retarray,
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 */
@@ -2031,18 +2013,12 @@ matmul_i16_vanilla (gfc_array_m16 * const restrict retarray,
/* 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] = (GFC_UINTEGER_16)0;
/* Early exit if possible */
@@ -2064,35 +2040,35 @@ matmul_i16_vanilla (gfc_array_m16 * const restrict retarray,
/* 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];
@@ -2113,8 +2089,8 @@ matmul_i16_vanilla (gfc_array_m16 * const restrict retarray,
}
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];
@@ -2122,11 +2098,11 @@ matmul_i16_vanilla (gfc_array_m16 * const restrict retarray,
}
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];
@@ -2144,8 +2120,8 @@ matmul_i16_vanilla (gfc_array_m16 * const restrict retarray,
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];
@@ -2199,15 +2175,15 @@ matmul_i16_vanilla (gfc_array_m16 * const restrict retarray,
}
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];
@@ -2227,18 +2203,18 @@ matmul_i16_vanilla (gfc_array_m16 * const restrict retarray,
}
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];
@@ -2254,12 +2230,12 @@ matmul_i16_vanilla (gfc_array_m16 * const restrict retarray,
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];
@@ -2657,7 +2633,7 @@ matmul_i16 (gfc_array_m16 * const restrict retarray,
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 */
@@ -2673,18 +2649,12 @@ matmul_i16 (gfc_array_m16 * const restrict retarray,
/* 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] = (GFC_UINTEGER_16)0;
/* Early exit if possible */
@@ -2706,35 +2676,35 @@ matmul_i16 (gfc_array_m16 * const restrict retarray,
/* 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];
@@ -2755,8 +2725,8 @@ matmul_i16 (gfc_array_m16 * const restrict retarray,
}
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];
@@ -2764,11 +2734,11 @@ matmul_i16 (gfc_array_m16 * const restrict retarray,
}
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];
@@ -2786,8 +2756,8 @@ matmul_i16 (gfc_array_m16 * const restrict retarray,
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];
@@ -2841,15 +2811,15 @@ matmul_i16 (gfc_array_m16 * const restrict retarray,
}
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];
@@ -2869,18 +2839,18 @@ matmul_i16 (gfc_array_m16 * const restrict retarray,
}
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];
@@ -2896,12 +2866,12 @@ matmul_i16 (gfc_array_m16 * const restrict retarray,
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];
diff --git a/libgfortran/generated/matmul_i2.c b/libgfortran/generated/matmul_i2.c
index f7486deaf7bf..da5f184d1ac6 100644
--- a/libgfortran/generated/matmul_i2.c
+++ b/libgfortran/generated/matmul_i2.c
@@ -294,7 +294,7 @@ matmul_i2_avx (gfc_array_m2 * const restrict retarray,
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 */
@@ -310,18 +310,12 @@ matmul_i2_avx (gfc_array_m2 * const restrict retarray,
/* 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] = (GFC_UINTEGER_2)0;
/* Early exit if possible */
@@ -343,35 +337,35 @@ matmul_i2_avx (gfc_array_m2 * const restrict retarray,
/* 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];
@@ -392,8 +386,8 @@ matmul_i2_avx (gfc_array_m2 * const restrict retarray,
}
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];
@@ -401,11 +395,11 @@ matmul_i2_avx (gfc_array_m2 * const restrict retarray,
}
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];
@@ -423,8 +417,8 @@ matmul_i2_avx (gfc_array_m2 * const restrict retarray,
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];
@@ -478,15 +472,15 @@ matmul_i2_avx (gfc_array_m2 * const restrict retarray,
}
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];
@@ -506,18 +500,18 @@ matmul_i2_avx (gfc_array_m2 * const restrict retarray,
}
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];
@@ -533,12 +527,12 @@ matmul_i2_avx (gfc_array_m2 * const restrict retarray,
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];
@@ -863,7 +857,7 @@ matmul_i2_avx2 (gfc_array_m2 * const restrict retarray,
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 */
@@ -879,18 +873,12 @@ matmul_i2_avx2 (gfc_array_m2 * const restrict retarray,
/* 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] = (GFC_UINTEGER_2)0;
/* Early exit if possible */
@@ -912,35 +900,35 @@ matmul_i2_avx2 (gfc_array_m2 * const restrict retarray,
/* 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];
@@ -961,8 +949,8 @@ matmul_i2_avx2 (gfc_array_m2 * const restrict retarray,
}
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];
@@ -970,11 +958,11 @@ matmul_i2_avx2 (gfc_array_m2 * const restrict retarray,
}
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];
@@ -992,8 +980,8 @@ matmul_i2_avx2 (gfc_array_m2 * const restrict retarray,
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];
@@ -1047,15 +1035,15 @@ matmul_i2_avx2 (gfc_array_m2 * const restrict retarray,
}
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];
@@ -1075,18 +1063,18 @@ matmul_i2_avx2 (gfc_array_m2 * const restrict retarray,
}
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];
@@ -1102,12 +1090,12 @@ matmul_i2_avx2 (gfc_array_m2 * const restrict retarray,
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];
@@ -1432,7 +1420,7 @@ matmul_i2_avx512f (gfc_array_m2 * const restrict retarray,
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 */
@@ -1448,18 +1436,12 @@ matmul_i2_avx512f (gfc_array_m2 * const restrict retarray,
/* 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] = (GFC_UINTEGER_2)0;
/* Early exit if possible */
@@ -1481,35 +1463,35 @@ matmul_i2_avx512f (gfc_array_m2 * const restrict retarray,
/* 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];
@@ -1530,8 +1512,8 @@ matmul_i2_avx512f (gfc_array_m2 * const restrict retarray,
}
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];
@@ -1539,11 +1521,11 @@ matmul_i2_avx512f (gfc_array_m2 * const restrict retarray,
}
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];
@@ -1561,8 +1543,8 @@ matmul_i2_avx512f (gfc_array_m2 * const restrict retarray,
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];
@@ -1616,15 +1598,15 @@ matmul_i2_avx512f (gfc_array_m2 * const restrict retarray,
}
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];
@@ -1644,18 +1626,18 @@ matmul_i2_avx512f (gfc_array_m2 * const restrict retarray,
}
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];
@@ -1671,12 +1653,12 @@ matmul_i2_avx512f (gfc_array_m2 * const restrict retarray,
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];
@@ -2015,7 +1997,7 @@ matmul_i2_vanilla (gfc_array_m2 * const restrict retarray,
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 */
@@ -2031,18 +2013,12 @@ matmul_i2_vanilla (gfc_array_m2 * const restrict retarray,
/* 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] = (GFC_UINTEGER_2)0;
/* Early exit if possible */
@@ -2064,35 +2040,35 @@ matmul_i2_vanilla (gfc_array_m2 * const restrict retarray,
/* 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];
@@ -2113,8 +2089,8 @@ matmul_i2_vanilla (gfc_array_m2 * const restrict retarray,
}
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];
@@ -2122,11 +2098,11 @@ matmul_i2_vanilla (gfc_array_m2 * const restrict retarray,
}
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];
@@ -2144,8 +2120,8 @@ matmul_i2_vanilla (gfc_array_m2 * const restrict retarray,
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];
@@ -2199,15 +2175,15 @@ matmul_i2_vanilla (gfc_array_m2 * const restrict retarray,
}
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];
@@ -2227,18 +2203,18 @@ matmul_i2_vanilla (gfc_array_m2 * const restrict retarray,
}
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];
@@ -2254,12 +2230,12 @@ matmul_i2_vanilla (gfc_array_m2 * const restrict retarray,
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];
@@ -2657,7 +2633,7 @@ matmul_i2 (gfc_array_m2 * const restrict retarray,
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 */
@@ -2673,18 +2649,12 @@ matmul_i2 (gfc_array_m2 * const restrict retarray,
/* 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] = (GFC_UINTEGER_2)0;
/* Early exit if possible */
@@ -2706,35 +2676,35 @@ matmul_i2 (gfc_array_m2 * const restrict retarray,
/* 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];
@@ -2755,8 +2725,8 @@ matmul_i2 (gfc_array_m2 * const restrict retarray,
}
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];
@@ -2764,11 +2734,11 @@ matmul_i2 (gfc_array_m2 * const restrict retarray,
}
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];
@@ -2786,8 +2756,8 @@ matmul_i2 (gfc_array_m2 * const restrict retarray,
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];
@@ -2841,15 +2811,15 @@ matmul_i2 (gfc_array_m2 * const restrict retarray,
}
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];
@@ -2869,18 +2839,18 @@ matmul_i2 (gfc_array_m2 * const restrict retarray,
}
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];
@@ -2896,12 +2866,12 @@ matmul_i2 (gfc_array_m2 * const restrict retarray,
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];
diff --git a/libgfortran/generated/matmul_i4.c b/libgfortran/generated/matmul_i4.c
index be01277bc315..f3d80cead2db 100644
--- a/libgfortran/generated/matmul_i4.c
+++ b/libgfortran/generated/matmul_i4.c
@@ -294,7 +294,7 @@ matmul_i4_avx (gfc_array_m4 * const restrict retarray,
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 */
@@ -310,18 +310,12 @@ matmul_i4_avx (gfc_array_m4 * const restrict retarray,
/* 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] = (GFC_UINTEGER_4)0;
/* Early exit if possible */
@@ -343,35 +337,35 @@ matmul_i4_avx (gfc_array_m4 * const restrict retarray,
/* 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];
@@ -392,8 +386,8 @@ matmul_i4_avx (gfc_array_m4 * const restrict retarray,
}
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];
@@ -401,11 +395,11 @@ matmul_i4_avx (gfc_array_m4 * const restrict retarray,
}
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];
@@ -423,8 +417,8 @@ matmul_i4_avx (gfc_array_m4 * const restrict retarray,
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];
@@ -478,15 +472,15 @@ matmul_i4_avx (gfc_array_m4 * const restrict retarray,
}
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];
@@ -506,18 +500,18 @@ matmul_i4_avx (gfc_array_m4 * const restrict retarray,
}
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];
@@ -533,12 +527,12 @@ matmul_i4_avx (gfc_array_m4 * const restrict retarray,
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];
@@ -863,7 +857,7 @@ matmul_i4_avx2 (gfc_array_m4 * const restrict retarray,
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 */
@@ -879,18 +873,12 @@ matmul_i4_avx2 (gfc_array_m4 * const restrict retarray,
/* 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] = (GFC_UINTEGER_4)0;
/* Early exit if possible */
@@ -912,35 +900,35 @@ matmul_i4_avx2 (gfc_array_m4 * const restrict retarray,
/* 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];
@@ -961,8 +949,8 @@ matmul_i4_avx2 (gfc_array_m4 * const restrict retarray,
}
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];
@@ -970,11 +958,11 @@ matmul_i4_avx2 (gfc_array_m4 * const restrict retarray,
}
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];
@@ -992,8 +980,8 @@ matmul_i4_avx2 (gfc_array_m4 * const restrict retarray,
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];
@@ -1047,15 +1035,15 @@ matmul_i4_avx2 (gfc_array_m4 * const restrict retarray,
}
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];
@@ -1075,18 +1063,18 @@ matmul_i4_avx2 (gfc_array_m4 * const restrict retarray,
}
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];
@@ -1102,12 +1090,12 @@ matmul_i4_avx2 (gfc_array_m4 * const restrict retarray,
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];
@@ -1432,7 +1420,7 @@ matmul_i4_avx512f (gfc_array_m4 * const restrict retarray,
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 */
@@ -1448,18 +1436,12 @@ matmul_i4_avx512f (gfc_array_m4 * const restrict retarray,
/* 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] = (GFC_UINTEGER_4)0;
/* Early exit if possible */
@@ -1481,35 +1463,35 @@ matmul_i4_avx512f (gfc_array_m4 * const restrict retarray,
/* 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];
@@ -1530,8 +1512,8 @@ matmul_i4_avx512f (gfc_array_m4 * const restrict retarray,
}
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];
@@ -1539,11 +1521,11 @@ matmul_i4_avx512f (gfc_array_m4 * const restrict retarray,
}
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];
@@ -1561,8 +1543,8 @@ matmul_i4_avx512f (gfc_array_m4 * const restrict retarray,
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];
@@ -1616,15 +1598,15 @@ matmul_i4_avx512f (gfc_array_m4 * const restrict retarray,
}
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];
@@ -1644,18 +1626,18 @@ matmul_i4_avx512f (gfc_array_m4 * const restrict retarray,
}
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];
@@ -1671,12 +1653,12 @@ matmul_i4_avx512f (gfc_array_m4 * const restrict retarray,
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];
@@ -2015,7 +1997,7 @@ matmul_i4_vanilla (gfc_array_m4 * const restrict retarray,
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 */
@@ -2031,18 +2013,12 @@ matmul_i4_vanilla (gfc_array_m4 * const restrict retarray,
/* 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] = (GFC_UINTEGER_4)0;
/* Early exit if possible */
@@ -2064,35 +2040,35 @@ matmul_i4_vanilla (gfc_array_m4 * const restrict retarray,
/* 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];
@@ -2113,8 +2089,8 @@ matmul_i4_vanilla (gfc_array_m4 * const restrict retarray,
}
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];
@@ -2122,11 +2098,11 @@ matmul_i4_vanilla (gfc_array_m4 * const restrict retarray,
}
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];
@@ -2144,8 +2120,8 @@ matmul_i4_vanilla (gfc_array_m4 * const restrict retarray,
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];
@@ -2199,15 +2175,15 @@ matmul_i4_vanilla (gfc_array_m4 * const restrict retarray,
}
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];
@@ -2227,18 +2203,18 @@ matmul_i4_vanilla (gfc_array_m4 * const restrict retarray,
}
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];
@@ -2254,12 +2230,12 @@ matmul_i4_vanilla (gfc_array_m4 * const restrict retarray,
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];
@@ -2657,7 +2633,7 @@ matmul_i4 (gfc_array_m4 * const restrict retarray,
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 */
@@ -2673,18 +2649,12 @@ matmul_i4 (gfc_array_m4 * const restrict retarray,
/* 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] = (GFC_UINTEGER_4)0;
/* Early exit if possible */
@@ -2706,35 +2676,35 @@ matmul_i4 (gfc_array_m4 * const restrict retarray,
/* 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];
@@ -2755,8 +2725,8 @@ matmul_i4 (gfc_array_m4 * const restrict retarray,
}
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];
@@ -2764,11 +2734,11 @@ matmul_i4 (gfc_array_m4 * const restrict retarray,
}
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];
@@ -2786,8 +2756,8 @@ matmul_i4 (gfc_array_m4 * const restrict retarray,
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];
@@ -2841,15 +2811,15 @@ matmul_i4 (gfc_array_m4 * const restrict retarray,
}
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];
@@ -2869,18 +2839,18 @@ matmul_i4 (gfc_array_m4 * const restrict retarray,
}
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];
@@ -2896,12 +2866,12 @@ matmul_i4 (gfc_array_m4 * const restrict retarray,
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];
diff --git a/libgfortran/generated/matmul_i8.c b/libgfortran/generated/matmul_i8.c
index 8ebdd81486b3..ba6c7bd9b84f 100644
--- a/libgfortran/generated/matmul_i8.c
+++ b/libgfortran/generated/matmul_i8.c
@@ -294,7 +294,7 @@ matmul_i8_avx (gfc_array_m8 * const restrict retarray,
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 */
@@ -310,18 +310,12 @@ matmul_i8_avx (gfc_array_m8 * const restrict retarray,
/* 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] = (GFC_UINTEGER_8)0;
/* Early exit if possible */
@@ -343,35 +337,35 @@ matmul_i8_avx (gfc_array_m8 * const restrict retarray,
/* 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];
@@ -392,8 +386,8 @@ matmul_i8_avx (gfc_array_m8 * const restrict retarray,
}
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];
@@ -401,11 +395,11 @@ matmul_i8_avx (gfc_array_m8 * const restrict retarray,
}
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];
@@ -423,8 +417,8 @@ matmul_i8_avx (gfc_array_m8 * const restrict retarray,
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];
@@ -478,15 +472,15 @@ matmul_i8_avx (gfc_array_m8 * const restrict retarray,
}
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];
@@ -506,18 +500,18 @@ matmul_i8_avx (gfc_array_m8 * const restrict retarray,
}
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];
@@ -533,12 +527,12 @@ matmul_i8_avx (gfc_array_m8 * const restrict retarray,
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];
@@ -863,7 +857,7 @@ matmul_i8_avx2 (gfc_array_m8 * const restrict retarray,
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 */
@@ -879,18 +873,12 @@ matmul_i8_avx2 (gfc_array_m8 * const restrict retarray,
/* 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] = (GFC_UINTEGER_8)0;
/* Early exit if possible */
@@ -912,35 +900,35 @@ matmul_i8_avx2 (gfc_array_m8 * const restrict retarray,
/* 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];
@@ -961,8 +949,8 @@ matmul_i8_avx2 (gfc_array_m8 * const restrict retarray,
}
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];
@@ -970,11 +958,11 @@ matmul_i8_avx2 (gfc_array_m8 * const restrict retarray,
}
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];
@@ -992,8 +980,8 @@ matmul_i8_avx2 (gfc_array_m8 * const restrict retarray,
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];
@@ -1047,15 +1035,15 @@ matmul_i8_avx2 (gfc_array_m8 * const restrict retarray,
}
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];
@@ -1075,18 +1063,18 @@ matmul_i8_avx2 (gfc_array_m8 * const restrict retarray,
}
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];
@@ -1102,12 +1090,12 @@ matmul_i8_avx2 (gfc_array_m8 * const restrict retarray,
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];
@@ -1432,7 +1420,7 @@ matmul_i8_avx512f (gfc_array_m8 * const restrict retarray,
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 */
@@ -1448,18 +1436,12 @@ matmul_i8_avx512f (gfc_array_m8 * const restrict retarray,
/* 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] = (GFC_UINTEGER_8)0;
/* Early exit if possible */
@@ -1481,35 +1463,35 @@ matmul_i8_avx512f (gfc_array_m8 * const restrict retarray,
/* 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];
@@ -1530,8 +1512,8 @@ matmul_i8_avx512f (gfc_array_m8 * const restrict retarray,
}
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];
@@ -1539,11 +1521,11 @@ matmul_i8_avx512f (gfc_array_m8 * const restrict retarray,
}
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];
@@ -1561,8 +1543,8 @@ matmul_i8_avx512f (gfc_array_m8 * const restrict retarray,
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];
@@ -1616,15 +1598,15 @@ matmul_i8_avx512f (gfc_array_m8 * const restrict retarray,
}
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];
@@ -1644,18 +1626,18 @@ matmul_i8_avx512f (gfc_array_m8 * const restrict retarray,
}
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];
@@ -1671,12 +1653,12 @@ matmul_i8_avx512f (gfc_array_m8 * const restrict retarray,
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];
@@ -2015,7 +1997,7 @@ matmul_i8_vanilla (gfc_array_m8 * const restrict retarray,
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 */
@@ -2031,18 +2013,12 @@ matmul_i8_vanilla (gfc_array_m8 * const restrict retarray,
/* 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] = (GFC_UINTEGER_8)0;
/* Early exit if possible */
@@ -2064,35 +2040,35 @@ matmul_i8_vanilla (gfc_array_m8 * const restrict retarray,
/* 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];
@@ -2113,8 +2089,8 @@ matmul_i8_vanilla (gfc_array_m8 * const restrict retarray,
}
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];
@@ -2122,11 +2098,11 @@ matmul_i8_vanilla (gfc_array_m8 * const restrict retarray,
}
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];
@@ -2144,8 +2120,8 @@ matmul_i8_vanilla (gfc_array_m8 * const restrict retarray,
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];
@@ -2199,15 +2175,15 @@ matmul_i8_vanilla (gfc_array_m8 * const restrict retarray,
}
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];
@@ -2227,18 +2203,18 @@ matmul_i8_vanilla (gfc_array_m8 * const restrict retarray,
}
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];
@@ -2254,12 +2230,12 @@ matmul_i8_vanilla (gfc_array_m8 * const restrict retarray,
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];
@@ -2657,7 +2633,7 @@ matmul_i8 (gfc_array_m8 * const restrict retarray,
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 */
@@ -2673,18 +2649,12 @@ matmul_i8 (gfc_array_m8 * const restrict retarray,
/* 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] = (GFC_UINTEGER_8)0;
/* Early exit if possible */
@@ -2706,35 +2676,35 @@ matmul_i8 (gfc_array_m8 * const restrict retarray,
/* 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];
@@ -2755,8 +2725,8 @@ matmul_i8 (gfc_array_m8 * const restrict retarray,
}
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];
@@ -2764,11 +2734,11 @@ matmul_i8 (gfc_array_m8 * const restrict retarray,
}
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];
@@ -2786,8 +2756,8 @@ matmul_i8 (gfc_array_m8 * const restrict retarray,
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];
@@ -2841,15 +2811,15 @@ matmul_i8 (gfc_array_m8 * const restrict retarray,
}
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];
@@ -2869,18 +2839,18 @@ matmul_i8 (gfc_array_m8 * const restrict retarray,
}
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];
@@ -2896,12 +2866,12 @@ matmul_i8 (gfc_array_m8 * const restrict retarray,
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];
diff --git a/libgfortran/generated/matmul_r10.c b/libgfortran/generated/matmul_r10.c
index 206bcafcd7a9..b2244f6d2ff9 100644
--- a/libgfortran/generated/matmul_r10.c
+++ b/libgfortran/generated/matmul_r10.c
@@ -294,7 +294,7 @@ matmul_r10_avx (gfc_array_r10 * const restrict retarray,
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 */
@@ -310,18 +310,12 @@ matmul_r10_avx (gfc_array_r10 * const restrict retarray,
/* 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] = (GFC_REAL_10)0;
/* Early exit if possible */
@@ -343,35 +337,35 @@ matmul_r10_avx (gfc_array_r10 * const restrict retarray,
/* 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];
@@ -392,8 +386,8 @@ matmul_r10_avx (gfc_array_r10 * const restrict retarray,
}
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];
@@ -401,11 +395,11 @@ matmul_r10_avx (gfc_array_r10 * const restrict retarray,
}
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];
@@ -423,8 +417,8 @@ matmul_r10_avx (gfc_array_r10 * const restrict retarray,
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];
@@ -478,15 +472,15 @@ matmul_r10_avx (gfc_array_r10 * const restrict retarray,
}
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];
@@ -506,18 +500,18 @@ matmul_r10_avx (gfc_array_r10 * const restrict retarray,
}
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];
@@ -533,12 +527,12 @@ matmul_r10_avx (gfc_array_r10 * const restrict retarray,
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];
@@ -863,7 +857,7 @@ matmul_r10_avx2 (gfc_array_r10 * const restrict retarray,
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 */
@@ -879,18 +873,12 @@ matmul_r10_avx2 (gfc_array_r10 * const restrict retarray,
/* 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] = (GFC_REAL_10)0;
/* Early exit if possible */
@@ -912,35 +900,35 @@ matmul_r10_avx2 (gfc_array_r10 * const restrict retarray,
/* 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];
@@ -961,8 +949,8 @@ matmul_r10_avx2 (gfc_array_r10 * const restrict retarray,
}
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];
@@ -970,11 +958,11 @@ matmul_r10_avx2 (gfc_array_r10 * const restrict retarray,
}
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];
@@ -992,8 +980,8 @@ matmul_r10_avx2 (gfc_array_r10 * const restrict retarray,
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];
@@ -1047,15 +1035,15 @@ matmul_r10_avx2 (gfc_array_r10 * const restrict retarray,
}
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];
@@ -1075,18 +1063,18 @@ matmul_r10_avx2 (gfc_array_r10 * const restrict retarray,
}
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];
@@ -1102,12 +1090,12 @@ matmul_r10_avx2 (gfc_array_r10 * const restrict retarray,
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];
@@ -1432,7 +1420,7 @@ matmul_r10_avx512f (gfc_array_r10 * const restrict retarray,
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 */
@@ -1448,18 +1436,12 @@ matmul_r10_avx512f (gfc_array_r10 * const restrict retarray,
/* 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] = (GFC_REAL_10)0;
/* Early exit if possible */
@@ -1481,35 +1463,35 @@ matmul_r10_avx512f (gfc_array_r10 * const restrict retarray,
/* 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];
@@ -1530,8 +1512,8 @@ matmul_r10_avx512f (gfc_array_r10 * const restrict retarray,
}
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];
@@ -1539,11 +1521,11 @@ matmul_r10_avx512f (gfc_array_r10 * const restrict retarray,
}
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];
@@ -1561,8 +1543,8 @@ matmul_r10_avx512f (gfc_array_r10 * const restrict retarray,
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];
@@ -1616,15 +1598,15 @@ matmul_r10_avx512f (gfc_array_r10 * const restrict retarray,
}
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];
@@ -1644,18 +1626,18 @@ matmul_r10_avx512f (gfc_array_r10 * const restrict retarray,
}
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];
@@ -1671,12 +1653,12 @@ matmul_r10_avx512f (gfc_array_r10 * const restrict retarray,
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];
@@ -2015,7 +1997,7 @@ matmul_r10_vanilla (gfc_array_r10 * const restrict retarray,
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 */
@@ -2031,18 +2013,12 @@ matmul_r10_vanilla (gfc_array_r10 * const restrict retarray,
/* 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] = (GFC_REAL_10)0;
/* Early exit if possible */
@@ -2064,35 +2040,35 @@ matmul_r10_vanilla (gfc_array_r10 * const restrict retarray,
/* 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];
@@ -2113,8 +2089,8 @@ matmul_r10_vanilla (gfc_array_r10 * const restrict retarray,
}
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];
@@ -2122,11 +2098,11 @@ matmul_r10_vanilla (gfc_array_r10 * const restrict retarray,
}
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];
@@ -2144,8 +2120,8 @@ matmul_r10_vanilla (gfc_array_r10 * const restrict retarray,
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];
@@ -2199,15 +2175,15 @@ matmul_r10_vanilla (gfc_array_r10 * const restrict retarray,
}
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];
@@ -2227,18 +2203,18 @@ matmul_r10_vanilla (gfc_array_r10 * const restrict retarray,
}
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];
@@ -2254,12 +2230,12 @@ matmul_r10_vanilla (gfc_array_r10 * const restrict retarray,
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];
@@ -2657,7 +2633,7 @@ matmul_r10 (gfc_array_r10 * const restrict retarray,
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 */
@@ -2673,18 +2649,12 @@ matmul_r10 (gfc_array_r10 * const restrict retarray,
/* 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] = (GFC_REAL_10)0;
/* Early exit if possible */
@@ -2706,35 +2676,35 @@ matmul_r10 (gfc_array_r10 * const restrict retarray,
/* 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];
@@ -2755,8 +2725,8 @@ matmul_r10 (gfc_array_r10 * const restrict retarray,
}
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];
@@ -2764,11 +2734,11 @@ matmul_r10 (gfc_array_r10 * const restrict retarray,
}
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];
@@ -2786,8 +2756,8 @@ matmul_r10 (gfc_array_r10 * const restrict retarray,
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];
@@ -2841,15 +2811,15 @@ matmul_r10 (gfc_array_r10 * const restrict retarray,
}
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];
@@ -2869,18 +2839,18 @@ matmul_r10 (gfc_array_r10 * const restrict retarray,
}
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];
@@ -2896,12 +2866,12 @@ matmul_r10 (gfc_array_r10 * const restrict retarray,
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];
diff --git a/libgfortran/generated/matmul_r16.c b/libgfortran/generated/matmul_r16.c
index de0223f312f3..10e34b272534 100644
--- a/libgfortran/generated/matmul_r16.c
+++ b/libgfortran/generated/matmul_r16.c
@@ -294,7 +294,7 @@ matmul_r16_avx (gfc_array_r16 * const restrict retarray,
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 */
@@ -310,18 +310,12 @@ matmul_r16_avx (gfc_array_r16 * const restrict retarray,
/* 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] = (GFC_REAL_16)0;
/* Early exit if possible */
@@ -343,35 +337,35 @@ matmul_r16_avx (gfc_array_r16 * const restrict retarray,
/* 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];
@@ -392,8 +386,8 @@ matmul_r16_avx (gfc_array_r16 * const restrict retarray,
}
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];
@@ -401,11 +395,11 @@ matmul_r16_avx (gfc_array_r16 * const restrict retarray,
}
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];
@@ -423,8 +417,8 @@ matmul_r16_avx (gfc_array_r16 * const restrict retarray,
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];
@@ -478,15 +472,15 @@ matmul_r16_avx (gfc_array_r16 * const restrict retarray,
}
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];
@@ -506,18 +500,18 @@ matmul_r16_avx (gfc_array_r16 * const restrict retarray,
}
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];
@@ -533,12 +527,12 @@ matmul_r16_avx (gfc_array_r16 * const restrict retarray,
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];
@@ -863,7 +857,7 @@ matmul_r16_avx2 (gfc_array_r16 * const restrict retarray,
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 */
@@ -879,18 +873,12 @@ matmul_r16_avx2 (gfc_array_r16 * const restrict retarray,
/* 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] = (GFC_REAL_16)0;
/* Early exit if possible */
@@ -912,35 +900,35 @@ matmul_r16_avx2 (gfc_array_r16 * const restrict retarray,
/* 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];
@@ -961,8 +949,8 @@ matmul_r16_avx2 (gfc_array_r16 * const restrict retarray,
}
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];
@@ -970,11 +958,11 @@ matmul_r16_avx2 (gfc_array_r16 * const restrict retarray,
}
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];
@@ -992,8 +980,8 @@ matmul_r16_avx2 (gfc_array_r16 * const restrict retarray,
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];
@@ -1047,15 +1035,15 @@ matmul_r16_avx2 (gfc_array_r16 * const restrict retarray,
}
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];
@@ -1075,18 +1063,18 @@ matmul_r16_avx2 (gfc_array_r16 * const restrict retarray,
}
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];
@@ -1102,12 +1090,12 @@ matmul_r16_avx2 (gfc_array_r16 * const restrict retarray,
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];
@@ -1432,7 +1420,7 @@ matmul_r16_avx512f (gfc_array_r16 * const restrict retarray,
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 */
@@ -1448,18 +1436,12 @@ matmul_r16_avx512f (gfc_array_r16 * const restrict retarray,
/* 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] = (GFC_REAL_16)0;
/* Early exit if possible */
@@ -1481,35 +1463,35 @@ matmul_r16_avx512f (gfc_array_r16 * const restrict retarray,
/* 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];
@@ -1530,8 +1512,8 @@ matmul_r16_avx512f (gfc_array_r16 * const restrict retarray,
}
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];
@@ -1539,11 +1521,11 @@ matmul_r16_avx512f (gfc_array_r16 * const restrict retarray,
}
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];
@@ -1561,8 +1543,8 @@ matmul_r16_avx512f (gfc_array_r16 * const restrict retarray,
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];
@@ -1616,15 +1598,15 @@ matmul_r16_avx512f (gfc_array_r16 * const restrict retarray,
}
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];
@@ -1644,18 +1626,18 @@ matmul_r16_avx512f (gfc_array_r16 * const restrict retarray,
}
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];
@@ -1671,12 +1653,12 @@ matmul_r16_avx512f (gfc_array_r16 * const restrict retarray,
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];
@@ -2015,7 +1997,7 @@ matmul_r16_vanilla (gfc_array_r16 * const restrict retarray,
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 */
@@ -2031,18 +2013,12 @@ matmul_r16_vanilla (gfc_array_r16 * const restrict retarray,
/* 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] = (GFC_REAL_16)0;
/* Early exit if possible */
@@ -2064,35 +2040,35 @@ matmul_r16_vanilla (gfc_array_r16 * const restrict retarray,
/* 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];
@@ -2113,8 +2089,8 @@ matmul_r16_vanilla (gfc_array_r16 * const restrict retarray,
}
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];
@@ -2122,11 +2098,11 @@ matmul_r16_vanilla (gfc_array_r16 * const restrict retarray,
}
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];
@@ -2144,8 +2120,8 @@ matmul_r16_vanilla (gfc_array_r16 * const restrict retarray,
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];
@@ -2199,15 +2175,15 @@ matmul_r16_vanilla (gfc_array_r16 * const restrict retarray,
}
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];
@@ -2227,18 +2203,18 @@ matmul_r16_vanilla (gfc_array_r16 * const restrict retarray,
}
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];
@@ -2254,12 +2230,12 @@ matmul_r16_vanilla (gfc_array_r16 * const restrict retarray,
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];
@@ -2657,7 +2633,7 @@ matmul_r16 (gfc_array_r16 * const restrict retarray,
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 */
@@ -2673,18 +2649,12 @@ matmul_r16 (gfc_array_r16 * const restrict retarray,
/* 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] = (GFC_REAL_16)0;
/* Early exit if possible */
@@ -2706,35 +2676,35 @@ matmul_r16 (gfc_array_r16 * const restrict retarray,
/* 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];
@@ -2755,8 +2725,8 @@ matmul_r16 (gfc_array_r16 * const restrict retarray,
}
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];
@@ -2764,11 +2734,11 @@ matmul_r16 (gfc_array_r16 * const restrict retarray,
}
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];
@@ -2786,8 +2756,8 @@ matmul_r16 (gfc_array_r16 * const restrict retarray,
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];
@@ -2841,15 +2811,15 @@ matmul_r16 (gfc_array_r16 * const restrict retarray,
}
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];
@@ -2869,18 +2839,18 @@ matmul_r16 (gfc_array_r16 * const restrict retarray,
}
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];
@@ -2896,12 +2866,12 @@ matmul_r16 (gfc_array_r16 * const restrict retarray,
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];
diff --git a/libgfortran/generated/matmul_r17.c b/libgfortran/generated/matmul_r17.c
index 801914c0b3ec..59a5e94fb272 100644
--- a/libgfortran/generated/matmul_r17.c
+++ b/libgfortran/generated/matmul_r17.c
@@ -294,7 +294,7 @@ matmul_r17_avx (gfc_array_r17 * const restrict retarray,
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 */
@@ -310,18 +310,12 @@ matmul_r17_avx (gfc_array_r17 * const restrict retarray,
/* 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] = (GFC_REAL_17)0;
/* Early exit if possible */
@@ -343,35 +337,35 @@ matmul_r17_avx (gfc_array_r17 * const restrict retarray,
/* 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];
@@ -392,8 +386,8 @@ matmul_r17_avx (gfc_array_r17 * const restrict retarray,
}
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];
@@ -401,11 +395,11 @@ matmul_r17_avx (gfc_array_r17 * const restrict retarray,
}
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];
@@ -423,8 +417,8 @@ matmul_r17_avx (gfc_array_r17 * const restrict retarray,
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];
@@ -478,15 +472,15 @@ matmul_r17_avx (gfc_array_r17 * const restrict retarray,
}
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];
@@ -506,18 +500,18 @@ matmul_r17_avx (gfc_array_r17 * const restrict retarray,
}
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];
@@ -533,12 +527,12 @@ matmul_r17_avx (gfc_array_r17 * const restrict retarray,
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];
@@ -863,7 +857,7 @@ matmul_r17_avx2 (gfc_array_r17 * const restrict retarray,
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 */
@@ -879,18 +873,12 @@ matmul_r17_avx2 (gfc_array_r17 * const restrict retarray,
/* 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] = (GFC_REAL_17)0;
/* Early exit if possible */
@@ -912,35 +900,35 @@ matmul_r17_avx2 (gfc_array_r17 * const restrict retarray,
/* 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];
@@ -961,8 +949,8 @@ matmul_r17_avx2 (gfc_array_r17 * const restrict retarray,
}
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];
@@ -970,11 +958,11 @@ matmul_r17_avx2 (gfc_array_r17 * const restrict retarray,
}
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];
@@ -992,8 +980,8 @@ matmul_r17_avx2 (gfc_array_r17 * const restrict retarray,
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];
@@ -1047,15 +1035,15 @@ matmul_r17_avx2 (gfc_array_r17 * const restrict retarray,
}
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];
@@ -1075,18 +1063,18 @@ matmul_r17_avx2 (gfc_array_r17 * const restrict retarray,
}
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];
@@ -1102,12 +1090,12 @@ matmul_r17_avx2 (gfc_array_r17 * const restrict retarray,
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];
@@ -1432,7 +1420,7 @@ matmul_r17_avx512f (gfc_array_r17 * const restrict retarray,
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 */
@@ -1448,18 +1436,12 @@ matmul_r17_avx512f (gfc_array_r17 * const restrict retarray,
/* 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] = (GFC_REAL_17)0;
/* Early exit if possible */
@@ -1481,35 +1463,35 @@ matmul_r17_avx512f (gfc_array_r17 * const restrict retarray,
/* 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];
@@ -1530,8 +1512,8 @@ matmul_r17_avx512f (gfc_array_r17 * const restrict retarray,
}
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];
@@ -1539,11 +1521,11 @@ matmul_r17_avx512f (gfc_array_r17 * const restrict retarray,
}
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];
@@ -1561,8 +1543,8 @@ matmul_r17_avx512f (gfc_array_r17 * const restrict retarray,
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];
@@ -1616,15 +1598,15 @@ matmul_r17_avx512f (gfc_array_r17 * const restrict retarray,
}
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];
@@ -1644,18 +1626,18 @@ matmul_r17_avx512f (gfc_array_r17 * const restrict retarray,
}
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];
@@ -1671,12 +1653,12 @@ matmul_r17_avx512f (gfc_array_r17 * const restrict retarray,
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];
@@ -2015,7 +1997,7 @@ matmul_r17_vanilla (gfc_array_r17 * const restrict retarray,
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 */
@@ -2031,18 +2013,12 @@ matmul_r17_vanilla (gfc_array_r17 * const restrict retarray,
/* 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] = (GFC_REAL_17)0;
/* Early exit if possible */
@@ -2064,35 +2040,35 @@ matmul_r17_vanilla (gfc_array_r17 * const restrict retarray,
/* 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];
@@ -2113,8 +2089,8 @@ matmul_r17_vanilla (gfc_array_r17 * const restrict retarray,
}
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];
@@ -2122,11 +2098,11 @@ matmul_r17_vanilla (gfc_array_r17 * const restrict retarray,
}
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];
@@ -2144,8 +2120,8 @@ matmul_r17_vanilla (gfc_array_r17 * const restrict retarray,
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];
@@ -2199,15 +2175,15 @@ matmul_r17_vanilla (gfc_array_r17 * const restrict retarray,
}
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];
@@ -2227,18 +2203,18 @@ matmul_r17_vanilla (gfc_array_r17 * const restrict retarray,
}
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];
@@ -2254,12 +2230,12 @@ matmul_r17_vanilla (gfc_array_r17 * const restrict retarray,
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];
@@ -2657,7 +2633,7 @@ matmul_r17 (gfc_array_r17 * const restrict retarray,
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 */
@@ -2673,18 +2649,12 @@ matmul_r17 (gfc_array_r17 * const restrict retarray,
/* 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] = (GFC_REAL_17)0;
/* Early exit if possible */
@@ -2706,35 +2676,35 @@ matmul_r17 (gfc_array_r17 * const restrict retarray,
/* 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];
@@ -2755,8 +2725,8 @@ matmul_r17 (gfc_array_r17 * const restrict retarray,
}
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];
@@ -2764,11 +2734,11 @@ matmul_r17 (gfc_array_r17 * const restrict retarray,
}
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];
@@ -2786,8 +2756,8 @@ matmul_r17 (gfc_array_r17 * const restrict retarray,
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];
@@ -2841,15 +2811,15 @@ matmul_r17 (gfc_array_r17 * const restrict retarray,
}
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];
@@ -2869,18 +2839,18 @@ matmul_r17 (gfc_array_r17 * const restrict retarray,
}
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];
@@ -2896,12 +2866,12 @@ matmul_r17 (gfc_array_r17 * const restrict retarray,
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];
diff --git a/libgfortran/generated/matmul_r4.c b/libgfortran/generated/matmul_r4.c
index 402afdaf43a9..6ee5f7be5c18 100644
--- a/libgfortran/generated/matmul_r4.c
+++ b/libgfortran/generated/matmul_r4.c
@@ -294,7 +294,7 @@ matmul_r4_avx (gfc_array_r4 * const restrict retarray,
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 */
@@ -310,18 +310,12 @@ matmul_r4_avx (gfc_array_r4 * const restrict retarray,
/* 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] = (GFC_REAL_4)0;
/* Early exit if possible */
@@ -343,35 +337,35 @@ matmul_r4_avx (gfc_array_r4 * const restrict retarray,
/* 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];
@@ -392,8 +386,8 @@ matmul_r4_avx (gfc_array_r4 * const restrict retarray,
}
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];
@@ -401,11 +395,11 @@ matmul_r4_avx (gfc_array_r4 * const restrict retarray,
}
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];
@@ -423,8 +417,8 @@ matmul_r4_avx (gfc_array_r4 * const restrict retarray,
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];
@@ -478,15 +472,15 @@ matmul_r4_avx (gfc_array_r4 * const restrict retarray,
}
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];
@@ -506,18 +500,18 @@ matmul_r4_avx (gfc_array_r4 * const restrict retarray,
}
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];
@@ -533,12 +527,12 @@ matmul_r4_avx (gfc_array_r4 * const restrict retarray,
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];
@@ -863,7 +857,7 @@ matmul_r4_avx2 (gfc_array_r4 * const restrict retarray,
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 */
@@ -879,18 +873,12 @@ matmul_r4_avx2 (gfc_array_r4 * const restrict retarray,
/* 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] = (GFC_REAL_4)0;
/* Early exit if possible */
@@ -912,35 +900,35 @@ matmul_r4_avx2 (gfc_array_r4 * const restrict retarray,
/* 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];
@@ -961,8 +949,8 @@ matmul_r4_avx2 (gfc_array_r4 * const restrict retarray,
}
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];
@@ -970,11 +958,11 @@ matmul_r4_avx2 (gfc_array_r4 * const restrict retarray,
}
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];
@@ -992,8 +980,8 @@ matmul_r4_avx2 (gfc_array_r4 * const restrict retarray,
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];
@@ -1047,15 +1035,15 @@ matmul_r4_avx2 (gfc_array_r4 * const restrict retarray,
}
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];
@@ -1075,18 +1063,18 @@ matmul_r4_avx2 (gfc_array_r4 * const restrict retarray,
}
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];
@@ -1102,12 +1090,12 @@ matmul_r4_avx2 (gfc_array_r4 * const restrict retarray,
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];
@@ -1432,7 +1420,7 @@ matmul_r4_avx512f (gfc_array_r4 * const restrict retarray,
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 */
@@ -1448,18 +1436,12 @@ matmul_r4_avx512f (gfc_array_r4 * const restrict retarray,
/* 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] = (GFC_REAL_4)0;
/* Early exit if possible */
@@ -1481,35 +1463,35 @@ matmul_r4_avx512f (gfc_array_r4 * const restrict retarray,
/* 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];
@@ -1530,8 +1512,8 @@ matmul_r4_avx512f (gfc_array_r4 * const restrict retarray,
}
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];
@@ -1539,11 +1521,11 @@ matmul_r4_avx512f (gfc_array_r4 * const restrict retarray,
}
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];
@@ -1561,8 +1543,8 @@ matmul_r4_avx512f (gfc_array_r4 * const restrict retarray,
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];
@@ -1616,15 +1598,15 @@ matmul_r4_avx512f (gfc_array_r4 * const restrict retarray,
}
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];
@@ -1644,18 +1626,18 @@ matmul_r4_avx512f (gfc_array_r4 * const restrict retarray,
}
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];
@@ -1671,12 +1653,12 @@ matmul_r4_avx512f (gfc_array_r4 * const restrict retarray,
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];
@@ -2015,7 +1997,7 @@ matmul_r4_vanilla (gfc_array_r4 * const restrict retarray,
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 */
@@ -2031,18 +2013,12 @@ matmul_r4_vanilla (gfc_array_r4 * const restrict retarray,
/* 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] = (GFC_REAL_4)0;
/* Early exit if possible */
@@ -2064,35 +2040,35 @@ matmul_r4_vanilla (gfc_array_r4 * const restrict retarray,
/* 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];
@@ -2113,8 +2089,8 @@ matmul_r4_vanilla (gfc_array_r4 * const restrict retarray,
}
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];
@@ -2122,11 +2098,11 @@ matmul_r4_vanilla (gfc_array_r4 * const restrict retarray,
}
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];
@@ -2144,8 +2120,8 @@ matmul_r4_vanilla (gfc_array_r4 * const restrict retarray,
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];
@@ -2199,15 +2175,15 @@ matmul_r4_vanilla (gfc_array_r4 * const restrict retarray,
}
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];
@@ -2227,18 +2203,18 @@ matmul_r4_vanilla (gfc_array_r4 * const restrict retarray,
}
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];
@@ -2254,12 +2230,12 @@ matmul_r4_vanilla (gfc_array_r4 * const restrict retarray,
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];
@@ -2657,7 +2633,7 @@ matmul_r4 (gfc_array_r4 * const restrict retarray,
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 */
@@ -2673,18 +2649,12 @@ matmul_r4 (gfc_array_r4 * const restrict retarray,
/* 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] = (GFC_REAL_4)0;
/* Early exit if possible */
@@ -2706,35 +2676,35 @@ matmul_r4 (gfc_array_r4 * const restrict retarray,
/* 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];
@@ -2755,8 +2725,8 @@ matmul_r4 (gfc_array_r4 * const restrict retarray,
}
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];
@@ -2764,11 +2734,11 @@ matmul_r4 (gfc_array_r4 * const restrict retarray,
}
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];
@@ -2786,8 +2756,8 @@ matmul_r4 (gfc_array_r4 * const restrict retarray,
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];
@@ -2841,15 +2811,15 @@ matmul_r4 (gfc_array_r4 * const restrict retarray,
}
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];
@@ -2869,18 +2839,18 @@ matmul_r4 (gfc_array_r4 * const restrict retarray,
}
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];
@@ -2896,12 +2866,12 @@ matmul_r4 (gfc_array_r4 * const restrict retarray,
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];
diff --git a/libgfortran/generated/matmul_r8.c b/libgfortran/generated/matmul_r8.c
index e1740c88719d..025ff06d3c92 100644
--- a/libgfortran/generated/matmul_r8.c
+++ b/libgfortran/generated/matmul_r8.c
@@ -294,7 +294,7 @@ matmul_r8_avx (gfc_array_r8 * const restrict retarray,
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 */
@@ -310,18 +310,12 @@ matmul_r8_avx (gfc_array_r8 * const restrict retarray,
/* 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] = (GFC_REAL_8)0;
/* Early exit if possible */
@@ -343,35 +337,35 @@ matmul_r8_avx (gfc_array_r8 * const restrict retarray,
/* 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];
@@ -392,8 +386,8 @@ matmul_r8_avx (gfc_array_r8 * const restrict retarray,
}
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];
@@ -401,11 +395,11 @@ matmul_r8_avx (gfc_array_r8 * const restrict retarray,
}
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];
@@ -423,8 +417,8 @@ matmul_r8_avx (gfc_array_r8 * const restrict retarray,
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];
@@ -478,15 +472,15 @@ matmul_r8_avx (gfc_array_r8 * const restrict retarray,
}
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];
@@ -506,18 +500,18 @@ matmul_r8_avx (gfc_array_r8 * const restrict retarray,
}
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];
@@ -533,12 +527,12 @@ matmul_r8_avx (gfc_array_r8 * const restrict retarray,
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];
@@ -863,7 +857,7 @@ matmul_r8_avx2 (gfc_array_r8 * const restrict retarray,
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 */
@@ -879,18 +873,12 @@ matmul_r8_avx2 (gfc_array_r8 * const restrict retarray,
/* 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] = (GFC_REAL_8)0;
/* Early exit if possible */
@@ -912,35 +900,35 @@ matmul_r8_avx2 (gfc_array_r8 * const restrict retarray,
/* 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];
@@ -961,8 +949,8 @@ matmul_r8_avx2 (gfc_array_r8 * const restrict retarray,
}
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];
@@ -970,11 +958,11 @@ matmul_r8_avx2 (gfc_array_r8 * const restrict retarray,
}
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];
@@ -992,8 +980,8 @@ matmul_r8_avx2 (gfc_array_r8 * const restrict retarray,
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];
@@ -1047,15 +1035,15 @@ matmul_r8_avx2 (gfc_array_r8 * const restrict retarray,
}
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];
@@ -1075,18 +1063,18 @@ matmul_r8_avx2 (gfc_array_r8 * const restrict retarray,
}
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];
@@ -1102,12 +1090,12 @@ matmul_r8_avx2 (gfc_array_r8 * const restrict retarray,
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];
@@ -1432,7 +1420,7 @@ matmul_r8_avx512f (gfc_array_r8 * const restrict retarray,
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 */
@@ -1448,18 +1436,12 @@ matmul_r8_avx512f (gfc_array_r8 * const restrict retarray,
/* 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] = (GFC_REAL_8)0;
/* Early exit if possible */
@@ -1481,35 +1463,35 @@ matmul_r8_avx512f (gfc_array_r8 * const restrict retarray,
/* 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];
@@ -1530,8 +1512,8 @@ matmul_r8_avx512f (gfc_array_r8 * const restrict retarray,
}
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];
@@ -1539,11 +1521,11 @@ matmul_r8_avx512f (gfc_array_r8 * const restrict retarray,
}
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];
@@ -1561,8 +1543,8 @@ matmul_r8_avx512f (gfc_array_r8 * const restrict retarray,
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];
@@ -1616,15 +1598,15 @@ matmul_r8_avx512f (gfc_array_r8 * const restrict retarray,
}
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];
@@ -1644,18 +1626,18 @@ matmul_r8_avx512f (gfc_array_r8 * const restrict retarray,
}
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];
@@ -1671,12 +1653,12 @@ matmul_r8_avx512f (gfc_array_r8 * const restrict retarray,
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];
@@ -2015,7 +1997,7 @@ matmul_r8_vanilla (gfc_array_r8 * const restrict retarray,
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 */
@@ -2031,18 +2013,12 @@ matmul_r8_vanilla (gfc_array_r8 * const restrict retarray,
/* 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] = (GFC_REAL_8)0;
/* Early exit if possible */
@@ -2064,35 +2040,35 @@ matmul_r8_vanilla (gfc_array_r8 * const restrict retarray,
/* 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];
@@ -2113,8 +2089,8 @@ matmul_r8_vanilla (gfc_array_r8 * const restrict retarray,
}
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];
@@ -2122,11 +2098,11 @@ matmul_r8_vanilla (gfc_array_r8 * const restrict retarray,
}
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];
@@ -2144,8 +2120,8 @@ matmul_r8_vanilla (gfc_array_r8 * const restrict retarray,
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];
@@ -2199,15 +2175,15 @@ matmul_r8_vanilla (gfc_array_r8 * const restrict retarray,
}
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];
@@ -2227,18 +2203,18 @@ matmul_r8_vanilla (gfc_array_r8 * const restrict retarray,
}
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];
@@ -2254,12 +2230,12 @@ matmul_r8_vanilla (gfc_array_r8 * const restrict retarray,
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];
@@ -2657,7 +2633,7 @@ matmul_r8 (gfc_array_r8 * const restrict retarray,
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 */
@@ -2673,18 +2649,12 @@ matmul_r8 (gfc_array_r8 * const restrict retarray,
/* 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] = (GFC_REAL_8)0;
/* Early exit if possible */
@@ -2706,35 +2676,35 @@ matmul_r8 (gfc_array_r8 * const restrict retarray,
/* 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];
@@ -2755,8 +2725,8 @@ matmul_r8 (gfc_array_r8 * const restrict retarray,
}
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];
@@ -2764,11 +2734,11 @@ matmul_r8 (gfc_array_r8 * const restrict retarray,
}
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];
@@ -2786,8 +2756,8 @@ matmul_r8 (gfc_array_r8 * const restrict retarray,
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];
@@ -2841,15 +2811,15 @@ matmul_r8 (gfc_array_r8 * const restrict retarray,
}
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];
@@ -2869,18 +2839,18 @@ matmul_r8 (gfc_array_r8 * const restrict retarray,
}
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];
@@ -2896,12 +2866,12 @@ matmul_r8 (gfc_array_r8 * const restrict retarray,
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];
diff --git a/libgfortran/generated/matmulavx128_c10.c b/libgfortran/generated/matmulavx128_c10.c
index 406e376d1826..5ef34d5ce6bd 100644
--- a/libgfortran/generated/matmulavx128_c10.c
+++ b/libgfortran/generated/matmulavx128_c10.c
@@ -259,7 +259,7 @@ matmul_c10_avx128_fma3 (gfc_array_c10 * const restrict retarray,
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 */
@@ -275,18 +275,12 @@ matmul_c10_avx128_fma3 (gfc_array_c10 * const restrict retarray,
/* 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] = (GFC_COMPLEX_10)0;
/* Early exit if possible */
@@ -308,35 +302,35 @@ matmul_c10_avx128_fma3 (gfc_array_c10 * const restrict retarray,
/* 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];
@@ -357,8 +351,8 @@ matmul_c10_avx128_fma3 (gfc_array_c10 * const restrict retarray,
}
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];
@@ -366,11 +360,11 @@ matmul_c10_avx128_fma3 (gfc_array_c10 * const restrict retarray,
}
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];
@@ -388,8 +382,8 @@ matmul_c10_avx128_fma3 (gfc_array_c10 * const restrict retarray,
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];
@@ -443,15 +437,15 @@ matmul_c10_avx128_fma3 (gfc_array_c10 * const restrict retarray,
}
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];
@@ -471,18 +465,18 @@ matmul_c10_avx128_fma3 (gfc_array_c10 * const restrict retarray,
}
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];
@@ -498,12 +492,12 @@ matmul_c10_avx128_fma3 (gfc_array_c10 * const restrict retarray,
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];
@@ -829,7 +823,7 @@ matmul_c10_avx128_fma4 (gfc_array_c10 * const restrict retarray,
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 */
@@ -845,18 +839,12 @@ matmul_c10_avx128_fma4 (gfc_array_c10 * const restrict retarray,
/* 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] = (GFC_COMPLEX_10)0;
/* Early exit if possible */
@@ -878,35 +866,35 @@ matmul_c10_avx128_fma4 (gfc_array_c10 * const restrict retarray,
/* 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];
@@ -927,8 +915,8 @@ matmul_c10_avx128_fma4 (gfc_array_c10 * const restrict retarray,
}
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];
@@ -936,11 +924,11 @@ matmul_c10_avx128_fma4 (gfc_array_c10 * const restrict retarray,
}
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];
@@ -958,8 +946,8 @@ matmul_c10_avx128_fma4 (gfc_array_c10 * const restrict retarray,
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];
@@ -1013,15 +1001,15 @@ matmul_c10_avx128_fma4 (gfc_array_c10 * const restrict retarray,
}
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];
@@ -1041,18 +1029,18 @@ matmul_c10_avx128_fma4 (gfc_array_c10 * const restrict retarray,
}
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];
@@ -1068,12 +1056,12 @@ matmul_c10_avx128_fma4 (gfc_array_c10 * const restrict retarray,
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];
diff --git a/libgfortran/generated/matmulavx128_c16.c b/libgfortran/generated/matmulavx128_c16.c
index 6072617d3819..3081cdea4609 100644
--- a/libgfortran/generated/matmulavx128_c16.c
+++ b/libgfortran/generated/matmulavx128_c16.c
@@ -259,7 +259,7 @@ matmul_c16_avx128_fma3 (gfc_array_c16 * const restrict retarray,
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 */
@@ -275,18 +275,12 @@ matmul_c16_avx128_fma3 (gfc_array_c16 * const restrict retarray,
/* 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] = (GFC_COMPLEX_16)0;
/* Early exit if possible */
@@ -308,35 +302,35 @@ matmul_c16_avx128_fma3 (gfc_array_c16 * const restrict retarray,
/* 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];
@@ -357,8 +351,8 @@ matmul_c16_avx128_fma3 (gfc_array_c16 * const restrict retarray,
}
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];
@@ -366,11 +360,11 @@ matmul_c16_avx128_fma3 (gfc_array_c16 * const restrict retarray,
}
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];
@@ -388,8 +382,8 @@ matmul_c16_avx128_fma3 (gfc_array_c16 * const restrict retarray,
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];
@@ -443,15 +437,15 @@ matmul_c16_avx128_fma3 (gfc_array_c16 * const restrict retarray,
}
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];
@@ -471,18 +465,18 @@ matmul_c16_avx128_fma3 (gfc_array_c16 * const restrict retarray,
}
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];
@@ -498,12 +492,12 @@ matmul_c16_avx128_fma3 (gfc_array_c16 * const restrict retarray,
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];
@@ -829,7 +823,7 @@ matmul_c16_avx128_fma4 (gfc_array_c16 * const restrict retarray,
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 */
@@ -845,18 +839,12 @@ matmul_c16_avx128_fma4 (gfc_array_c16 * const restrict retarray,
/* 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] = (GFC_COMPLEX_16)0;
/* Early exit if possible */
@@ -878,35 +866,35 @@ matmul_c16_avx128_fma4 (gfc_array_c16 * const restrict retarray,
/* 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];
@@ -927,8 +915,8 @@ matmul_c16_avx128_fma4 (gfc_array_c16 * const restrict retarray,
}
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];
@@ -936,11 +924,11 @@ matmul_c16_avx128_fma4 (gfc_array_c16 * const restrict retarray,
}
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];
@@ -958,8 +946,8 @@ matmul_c16_avx128_fma4 (gfc_array_c16 * const restrict retarray,
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];
@@ -1013,15 +1001,15 @@ matmul_c16_avx128_fma4 (gfc_array_c16 * const restrict retarray,
}
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];
@@ -1041,18 +1029,18 @@ matmul_c16_avx128_fma4 (gfc_array_c16 * const restrict retarray,
}
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];
@@ -1068,12 +1056,12 @@ matmul_c16_avx128_fma4 (gfc_array_c16 * const restrict retarray,
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];
diff --git a/libgfortran/generated/matmulavx128_c17.c b/libgfortran/generated/matmulavx128_c17.c
index af1c95bc107c..50caecd476bb 100644
--- a/libgfortran/generated/matmulavx128_c17.c
+++ b/libgfortran/generated/matmulavx128_c17.c
@@ -259,7 +259,7 @@ matmul_c17_avx128_fma3 (gfc_array_c17 * const restrict retarray,
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 */
@@ -275,18 +275,12 @@ matmul_c17_avx128_fma3 (gfc_array_c17 * const restrict retarray,
/* 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] = (GFC_COMPLEX_17)0;
/* Early exit if possible */
@@ -308,35 +302,35 @@ matmul_c17_avx128_fma3 (gfc_array_c17 * const restrict retarray,
/* 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];
@@ -357,8 +351,8 @@ matmul_c17_avx128_fma3 (gfc_array_c17 * const restrict retarray,
}
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];
@@ -366,11 +360,11 @@ matmul_c17_avx128_fma3 (gfc_array_c17 * const restrict retarray,
}
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];
@@ -388,8 +382,8 @@ matmul_c17_avx128_fma3 (gfc_array_c17 * const restrict retarray,
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];
@@ -443,15 +437,15 @@ matmul_c17_avx128_fma3 (gfc_array_c17 * const restrict retarray,
}
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];
@@ -471,18 +465,18 @@ matmul_c17_avx128_fma3 (gfc_array_c17 * const restrict retarray,
}
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];
@@ -498,12 +492,12 @@ matmul_c17_avx128_fma3 (gfc_array_c17 * const restrict retarray,
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];
@@ -829,7 +823,7 @@ matmul_c17_avx128_fma4 (gfc_array_c17 * const restrict retarray,
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 */
@@ -845,18 +839,12 @@ matmul_c17_avx128_fma4 (gfc_array_c17 * const restrict retarray,
/* 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] = (GFC_COMPLEX_17)0;
/* Early exit if possible */
@@ -878,35 +866,35 @@ matmul_c17_avx128_fma4 (gfc_array_c17 * const restrict retarray,
/* 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];
@@ -927,8 +915,8 @@ matmul_c17_avx128_fma4 (gfc_array_c17 * const restrict retarray,
}
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];
@@ -936,11 +924,11 @@ matmul_c17_avx128_fma4 (gfc_array_c17 * const restrict retarray,
}
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];
@@ -958,8 +946,8 @@ matmul_c17_avx128_fma4 (gfc_array_c17 * const restrict retarray,
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];
@@ -1013,15 +1001,15 @@ matmul_c17_avx128_fma4 (gfc_array_c17 * const restrict retarray,
}
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];
@@ -1041,18 +1029,18 @@ matmul_c17_avx128_fma4 (gfc_array_c17 * const restrict retarray,
}
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];
@@ -1068,12 +1056,12 @@ matmul_c17_avx128_fma4 (gfc_array_c17 * const restrict retarray,
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];
diff --git a/libgfortran/generated/matmulavx128_c4.c b/libgfortran/generated/matmulavx128_c4.c
index 41ef2e00ea2e..31622458e297 100644
--- a/libgfortran/generated/matmulavx128_c4.c
+++ b/libgfortran/generated/matmulavx128_c4.c
@@ -259,7 +259,7 @@ matmul_c4_avx128_fma3 (gfc_array_c4 * const restrict retarray,
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 */
@@ -275,18 +275,12 @@ matmul_c4_avx128_fma3 (gfc_array_c4 * const restrict retarray,
/* 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] = (GFC_COMPLEX_4)0;
/* Early exit if possible */
@@ -308,35 +302,35 @@ matmul_c4_avx128_fma3 (gfc_array_c4 * const restrict retarray,
/* 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];
@@ -357,8 +351,8 @@ matmul_c4_avx128_fma3 (gfc_array_c4 * const restrict retarray,
}
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];
@@ -366,11 +360,11 @@ matmul_c4_avx128_fma3 (gfc_array_c4 * const restrict retarray,
}
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];
@@ -388,8 +382,8 @@ matmul_c4_avx128_fma3 (gfc_array_c4 * const restrict retarray,
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];
@@ -443,15 +437,15 @@ matmul_c4_avx128_fma3 (gfc_array_c4 * const restrict retarray,
}
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];
@@ -471,18 +465,18 @@ matmul_c4_avx128_fma3 (gfc_array_c4 * const restrict retarray,
}
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];
@@ -498,12 +492,12 @@ matmul_c4_avx128_fma3 (gfc_array_c4 * const restrict retarray,
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];
@@ -829,7 +823,7 @@ matmul_c4_avx128_fma4 (gfc_array_c4 * const restrict retarray,
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 */
@@ -845,18 +839,12 @@ matmul_c4_avx128_fma4 (gfc_array_c4 * const restrict retarray,
/* 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] = (GFC_COMPLEX_4)0;
/* Early exit if possible */
@@ -878,35 +866,35 @@ matmul_c4_avx128_fma4 (gfc_array_c4 * const restrict retarray,
/* 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];
@@ -927,8 +915,8 @@ matmul_c4_avx128_fma4 (gfc_array_c4 * const restrict retarray,
}
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];
@@ -936,11 +924,11 @@ matmul_c4_avx128_fma4 (gfc_array_c4 * const restrict retarray,
}
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];
@@ -958,8 +946,8 @@ matmul_c4_avx128_fma4 (gfc_array_c4 * const restrict retarray,
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];
@@ -1013,15 +1001,15 @@ matmul_c4_avx128_fma4 (gfc_array_c4 * const restrict retarray,
}
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];
@@ -1041,18 +1029,18 @@ matmul_c4_avx128_fma4 (gfc_array_c4 * const restrict retarray,
}
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];
@@ -1068,12 +1056,12 @@ matmul_c4_avx128_fma4 (gfc_array_c4 * const restrict retarray,
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];
diff --git a/libgfortran/generated/matmulavx128_c8.c b/libgfortran/generated/matmulavx128_c8.c
index 360f89ec97e4..42712414c6cc 100644
--- a/libgfortran/generated/matmulavx128_c8.c
+++ b/libgfortran/generated/matmulavx128_c8.c
@@ -259,7 +259,7 @@ matmul_c8_avx128_fma3 (gfc_array_c8 * const restrict retarray,
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 */
@@ -275,18 +275,12 @@ matmul_c8_avx128_fma3 (gfc_array_c8 * const restrict retarray,
/* 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] = (GFC_COMPLEX_8)0;
/* Early exit if possible */
@@ -308,35 +302,35 @@ matmul_c8_avx128_fma3 (gfc_array_c8 * const restrict retarray,
/* 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];
@@ -357,8 +351,8 @@ matmul_c8_avx128_fma3 (gfc_array_c8 * const restrict retarray,
}
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];
@@ -366,11 +360,11 @@ matmul_c8_avx128_fma3 (gfc_array_c8 * const restrict retarray,
}
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];
@@ -388,8 +382,8 @@ matmul_c8_avx128_fma3 (gfc_array_c8 * const restrict retarray,
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];
@@ -443,15 +437,15 @@ matmul_c8_avx128_fma3 (gfc_array_c8 * const restrict retarray,
}
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];
@@ -471,18 +465,18 @@ matmul_c8_avx128_fma3 (gfc_array_c8 * const restrict retarray,
}
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];
@@ -498,12 +492,12 @@ matmul_c8_avx128_fma3 (gfc_array_c8 * const restrict retarray,
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];
@@ -829,7 +823,7 @@ matmul_c8_avx128_fma4 (gfc_array_c8 * const restrict retarray,
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 */
@@ -845,18 +839,12 @@ matmul_c8_avx128_fma4 (gfc_array_c8 * const restrict retarray,
/* 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] = (GFC_COMPLEX_8)0;
/* Early exit if possible */
@@ -878,35 +866,35 @@ matmul_c8_avx128_fma4 (gfc_array_c8 * const restrict retarray,
/* 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];
@@ -927,8 +915,8 @@ matmul_c8_avx128_fma4 (gfc_array_c8 * const restrict retarray,
}
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];
@@ -936,11 +924,11 @@ matmul_c8_avx128_fma4 (gfc_array_c8 * const restrict retarray,
}
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];
@@ -958,8 +946,8 @@ matmul_c8_avx128_fma4 (gfc_array_c8 * const restrict retarray,
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];
@@ -1013,15 +1001,15 @@ matmul_c8_avx128_fma4 (gfc_array_c8 * const restrict retarray,
}
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];
@@ -1041,18 +1029,18 @@ matmul_c8_avx128_fma4 (gfc_array_c8 * const restrict retarray,
}
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];
@@ -1068,12 +1056,12 @@ matmul_c8_avx128_fma4 (gfc_array_c8 * const restrict retarray,
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];
diff --git a/libgfortran/generated/matmulavx128_i1.c b/libgfortran/generated/matmulavx128_i1.c
index 9a9c3bb2e74f..17b29656f9b1 100644
--- a/libgfortran/generated/matmulavx128_i1.c
+++ b/libgfortran/generated/matmulavx128_i1.c
@@ -259,7 +259,7 @@ matmul_i1_avx128_fma3 (gfc_array_i1 * const restrict retarray,
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 */
@@ -275,18 +275,12 @@ matmul_i1_avx128_fma3 (gfc_array_i1 * const restrict retarray,
/* 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] = (GFC_INTEGER_1)0;
/* Early exit if possible */
@@ -308,35 +302,35 @@ matmul_i1_avx128_fma3 (gfc_array_i1 * const restrict retarray,
/* 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];
@@ -357,8 +351,8 @@ matmul_i1_avx128_fma3 (gfc_array_i1 * const restrict retarray,
}
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];
@@ -366,11 +360,11 @@ matmul_i1_avx128_fma3 (gfc_array_i1 * const restrict retarray,
}
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];
@@ -388,8 +382,8 @@ matmul_i1_avx128_fma3 (gfc_array_i1 * const restrict retarray,
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];
@@ -443,15 +437,15 @@ matmul_i1_avx128_fma3 (gfc_array_i1 * const restrict retarray,
}
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];
@@ -471,18 +465,18 @@ matmul_i1_avx128_fma3 (gfc_array_i1 * const restrict retarray,
}
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];
@@ -498,12 +492,12 @@ matmul_i1_avx128_fma3 (gfc_array_i1 * const restrict retarray,
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];
@@ -829,7 +823,7 @@ matmul_i1_avx128_fma4 (gfc_array_i1 * const restrict retarray,
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 */
@@ -845,18 +839,12 @@ matmul_i1_avx128_fma4 (gfc_array_i1 * const restrict retarray,
/* 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] = (GFC_INTEGER_1)0;
/* Early exit if possible */
@@ -878,35 +866,35 @@ matmul_i1_avx128_fma4 (gfc_array_i1 * const restrict retarray,
/* 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];
@@ -927,8 +915,8 @@ matmul_i1_avx128_fma4 (gfc_array_i1 * const restrict retarray,
}
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];
@@ -936,11 +924,11 @@ matmul_i1_avx128_fma4 (gfc_array_i1 * const restrict retarray,
}
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];
@@ -958,8 +946,8 @@ matmul_i1_avx128_fma4 (gfc_array_i1 * const restrict retarray,
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];
@@ -1013,15 +1001,15 @@ matmul_i1_avx128_fma4 (gfc_array_i1 * const restrict retarray,
}
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];
@@ -1041,18 +1029,18 @@ matmul_i1_avx128_fma4 (gfc_array_i1 * const restrict retarray,
}
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];
@@ -1068,12 +1056,12 @@ matmul_i1_avx128_fma4 (gfc_array_i1 * const restrict retarray,
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];
diff --git a/libgfortran/generated/matmulavx128_i16.c b/libgfortran/generated/matmulavx128_i16.c
index 8ca84818c100..44de68291722 100644
--- a/libgfortran/generated/matmulavx128_i16.c
+++ b/libgfortran/generated/matmulavx128_i16.c
@@ -259,7 +259,7 @@ matmul_i16_avx128_fma3 (gfc_array_i16 * const restrict retarray,
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 */
@@ -275,18 +275,12 @@ matmul_i16_avx128_fma3 (gfc_array_i16 * const restrict retarray,
/* 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] = (GFC_INTEGER_16)0;
/* Early exit if possible */
@@ -308,35 +302,35 @@ matmul_i16_avx128_fma3 (gfc_array_i16 * const restrict retarray,
/* 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];
@@ -357,8 +351,8 @@ matmul_i16_avx128_fma3 (gfc_array_i16 * const restrict retarray,
}
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];
@@ -366,11 +360,11 @@ matmul_i16_avx128_fma3 (gfc_array_i16 * const restrict retarray,
}
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];
@@ -388,8 +382,8 @@ matmul_i16_avx128_fma3 (gfc_array_i16 * const restrict retarray,
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];
@@ -443,15 +437,15 @@ matmul_i16_avx128_fma3 (gfc_array_i16 * const restrict retarray,
}
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];
@@ -471,18 +465,18 @@ matmul_i16_avx128_fma3 (gfc_array_i16 * const restrict retarray,
}
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];
@@ -498,12 +492,12 @@ matmul_i16_avx128_fma3 (gfc_array_i16 * const restrict retarray,
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];
@@ -829,7 +823,7 @@ matmul_i16_avx128_fma4 (gfc_array_i16 * const restrict retarray,
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 */
@@ -845,18 +839,12 @@ matmul_i16_avx128_fma4 (gfc_array_i16 * const restrict retarray,
/* 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] = (GFC_INTEGER_16)0;
/* Early exit if possible */
@@ -878,35 +866,35 @@ matmul_i16_avx128_fma4 (gfc_array_i16 * const restrict retarray,
/* 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];
@@ -927,8 +915,8 @@ matmul_i16_avx128_fma4 (gfc_array_i16 * const restrict retarray,
}
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];
@@ -936,11 +924,11 @@ matmul_i16_avx128_fma4 (gfc_array_i16 * const restrict retarray,
}
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];
@@ -958,8 +946,8 @@ matmul_i16_avx128_fma4 (gfc_array_i16 * const restrict retarray,
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];
@@ -1013,15 +1001,15 @@ matmul_i16_avx128_fma4 (gfc_array_i16 * const restrict retarray,
}
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];
@@ -1041,18 +1029,18 @@ matmul_i16_avx128_fma4 (gfc_array_i16 * const restrict retarray,
}
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];
@@ -1068,12 +1056,12 @@ matmul_i16_avx128_fma4 (gfc_array_i16 * const restrict retarray,
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];
diff --git a/libgfortran/generated/matmulavx128_i2.c b/libgfortran/generated/matmulavx128_i2.c
index 9f4d20dbc89f..b82b1461504c 100644
--- a/libgfortran/generated/matmulavx128_i2.c
+++ b/libgfortran/generated/matmulavx128_i2.c
@@ -259,7 +259,7 @@ matmul_i2_avx128_fma3 (gfc_array_i2 * const restrict retarray,
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 */
@@ -275,18 +275,12 @@ matmul_i2_avx128_fma3 (gfc_array_i2 * const restrict retarray,
/* 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] = (GFC_INTEGER_2)0;
/* Early exit if possible */
@@ -308,35 +302,35 @@ matmul_i2_avx128_fma3 (gfc_array_i2 * const restrict retarray,
/* 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];
@@ -357,8 +351,8 @@ matmul_i2_avx128_fma3 (gfc_array_i2 * const restrict retarray,
}
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];
@@ -366,11 +360,11 @@ matmul_i2_avx128_fma3 (gfc_array_i2 * const restrict retarray,
}
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];
@@ -388,8 +382,8 @@ matmul_i2_avx128_fma3 (gfc_array_i2 * const restrict retarray,
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];
@@ -443,15 +437,15 @@ matmul_i2_avx128_fma3 (gfc_array_i2 * const restrict retarray,
}
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];
@@ -471,18 +465,18 @@ matmul_i2_avx128_fma3 (gfc_array_i2 * const restrict retarray,
}
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];
@@ -498,12 +492,12 @@ matmul_i2_avx128_fma3 (gfc_array_i2 * const restrict retarray,
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];
@@ -829,7 +823,7 @@ matmul_i2_avx128_fma4 (gfc_array_i2 * const restrict retarray,
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 */
@@ -845,18 +839,12 @@ matmul_i2_avx128_fma4 (gfc_array_i2 * const restrict retarray,
/* 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] = (GFC_INTEGER_2)0;
/* Early exit if possible */
@@ -878,35 +866,35 @@ matmul_i2_avx128_fma4 (gfc_array_i2 * const restrict retarray,
/* 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];
@@ -927,8 +915,8 @@ matmul_i2_avx128_fma4 (gfc_array_i2 * const restrict retarray,
}
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];
@@ -936,11 +924,11 @@ matmul_i2_avx128_fma4 (gfc_array_i2 * const restrict retarray,
}
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];
@@ -958,8 +946,8 @@ matmul_i2_avx128_fma4 (gfc_array_i2 * const restrict retarray,
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];
@@ -1013,15 +1001,15 @@ matmul_i2_avx128_fma4 (gfc_array_i2 * const restrict retarray,
}
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];
@@ -1041,18 +1029,18 @@ matmul_i2_avx128_fma4 (gfc_array_i2 * const restrict retarray,
}
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];
@@ -1068,12 +1056,12 @@ matmul_i2_avx128_fma4 (gfc_array_i2 * const restrict retarray,
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];
diff --git a/libgfortran/generated/matmulavx128_i4.c b/libgfortran/generated/matmulavx128_i4.c
index 8b609d8bdcf3..7f9089ad1b54 100644
--- a/libgfortran/generated/matmulavx128_i4.c
+++ b/libgfortran/generated/matmulavx128_i4.c
@@ -259,7 +259,7 @@ matmul_i4_avx128_fma3 (gfc_array_i4 * const restrict retarray,
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 */
@@ -275,18 +275,12 @@ matmul_i4_avx128_fma3 (gfc_array_i4 * const restrict retarray,
/* 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] = (GFC_INTEGER_4)0;
/* Early exit if possible */
@@ -308,35 +302,35 @@ matmul_i4_avx128_fma3 (gfc_array_i4 * const restrict retarray,
/* 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];
@@ -357,8 +351,8 @@ matmul_i4_avx128_fma3 (gfc_array_i4 * const restrict retarray,
}
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];
@@ -366,11 +360,11 @@ matmul_i4_avx128_fma3 (gfc_array_i4 * const restrict retarray,
}
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];
@@ -388,8 +382,8 @@ matmul_i4_avx128_fma3 (gfc_array_i4 * const restrict retarray,
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];
@@ -443,15 +437,15 @@ matmul_i4_avx128_fma3 (gfc_array_i4 * const restrict retarray,
}
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];
@@ -471,18 +465,18 @@ matmul_i4_avx128_fma3 (gfc_array_i4 * const restrict retarray,
}
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];
@@ -498,12 +492,12 @@ matmul_i4_avx128_fma3 (gfc_array_i4 * const restrict retarray,
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];
@@ -829,7 +823,7 @@ matmul_i4_avx128_fma4 (gfc_array_i4 * const restrict retarray,
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 */
@@ -845,18 +839,12 @@ matmul_i4_avx128_fma4 (gfc_array_i4 * const restrict retarray,
/* 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] = (GFC_INTEGER_4)0;
/* Early exit if possible */
@@ -878,35 +866,35 @@ matmul_i4_avx128_fma4 (gfc_array_i4 * const restrict retarray,
/* 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];
@@ -927,8 +915,8 @@ matmul_i4_avx128_fma4 (gfc_array_i4 * const restrict retarray,
}
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];
@@ -936,11 +924,11 @@ matmul_i4_avx128_fma4 (gfc_array_i4 * const restrict retarray,
}
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];
@@ -958,8 +946,8 @@ matmul_i4_avx128_fma4 (gfc_array_i4 * const restrict retarray,
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];
@@ -1013,15 +1001,15 @@ matmul_i4_avx128_fma4 (gfc_array_i4 * const restrict retarray,
}
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];
@@ -1041,18 +1029,18 @@ matmul_i4_avx128_fma4 (gfc_array_i4 * const restrict retarray,
}
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];
@@ -1068,12 +1056,12 @@ matmul_i4_avx128_fma4 (gfc_array_i4 * const restrict retarray,
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];
diff --git a/libgfortran/generated/matmulavx128_i8.c b/libgfortran/generated/matmulavx128_i8.c
index 592005621d15..28c5af89af96 100644
--- a/libgfortran/generated/matmulavx128_i8.c
+++ b/libgfortran/generated/matmulavx128_i8.c
@@ -259,7 +259,7 @@ matmul_i8_avx128_fma3 (gfc_array_i8 * const restrict retarray,
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 */
@@ -275,18 +275,12 @@ matmul_i8_avx128_fma3 (gfc_array_i8 * const restrict retarray,
/* 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] = (GFC_INTEGER_8)0;
/* Early exit if possible */
@@ -308,35 +302,35 @@ matmul_i8_avx128_fma3 (gfc_array_i8 * const restrict retarray,
/* 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];
@@ -357,8 +351,8 @@ matmul_i8_avx128_fma3 (gfc_array_i8 * const restrict retarray,
}
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];
@@ -366,11 +360,11 @@ matmul_i8_avx128_fma3 (gfc_array_i8 * const restrict retarray,
}
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];
@@ -388,8 +382,8 @@ matmul_i8_avx128_fma3 (gfc_array_i8 * const restrict retarray,
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];
@@ -443,15 +437,15 @@ matmul_i8_avx128_fma3 (gfc_array_i8 * const restrict retarray,
}
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];
@@ -471,18 +465,18 @@ matmul_i8_avx128_fma3 (gfc_array_i8 * const restrict retarray,
}
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];
@@ -498,12 +492,12 @@ matmul_i8_avx128_fma3 (gfc_array_i8 * const restrict retarray,
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];
@@ -829,7 +823,7 @@ matmul_i8_avx128_fma4 (gfc_array_i8 * const restrict retarray,
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 */
@@ -845,18 +839,12 @@ matmul_i8_avx128_fma4 (gfc_array_i8 * const restrict retarray,
/* 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] = (GFC_INTEGER_8)0;
/* Early exit if possible */
@@ -878,35 +866,35 @@ matmul_i8_avx128_fma4 (gfc_array_i8 * const restrict retarray,
/* 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];
@@ -927,8 +915,8 @@ matmul_i8_avx128_fma4 (gfc_array_i8 * const restrict retarray,
}
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];
@@ -936,11 +924,11 @@ matmul_i8_avx128_fma4 (gfc_array_i8 * const restrict retarray,
}
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];
@@ -958,8 +946,8 @@ matmul_i8_avx128_fma4 (gfc_array_i8 * const restrict retarray,
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];
@@ -1013,15 +1001,15 @@ matmul_i8_avx128_fma4 (gfc_array_i8 * const restrict retarray,
}
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];
@@ -1041,18 +1029,18 @@ matmul_i8_avx128_fma4 (gfc_array_i8 * const restrict retarray,
}
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];
@@ -1068,12 +1056,12 @@ matmul_i8_avx128_fma4 (gfc_array_i8 * const restrict retarray,
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];
diff --git a/libgfortran/generated/matmulavx128_r10.c b/libgfortran/generated/matmulavx128_r10.c
index 91c483b2c563..3123610fd0a0 100644
--- a/libgfortran/generated/matmulavx128_r10.c
+++ b/libgfortran/generated/matmulavx128_r10.c
@@ -259,7 +259,7 @@ matmul_r10_avx128_fma3 (gfc_array_r10 * const restrict retarray,
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 */
@@ -275,18 +275,12 @@ matmul_r10_avx128_fma3 (gfc_array_r10 * const restrict retarray,
/* 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] = (GFC_REAL_10)0;
/* Early exit if possible */
@@ -308,35 +302,35 @@ matmul_r10_avx128_fma3 (gfc_array_r10 * const restrict retarray,
/* 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];
@@ -357,8 +351,8 @@ matmul_r10_avx128_fma3 (gfc_array_r10 * const restrict retarray,
}
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];
@@ -366,11 +360,11 @@ matmul_r10_avx128_fma3 (gfc_array_r10 * const restrict retarray,
}
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];
@@ -388,8 +382,8 @@ matmul_r10_avx128_fma3 (gfc_array_r10 * const restrict retarray,
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];
@@ -443,15 +437,15 @@ matmul_r10_avx128_fma3 (gfc_array_r10 * const restrict retarray,
}
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];
@@ -471,18 +465,18 @@ matmul_r10_avx128_fma3 (gfc_array_r10 * const restrict retarray,
}
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];
@@ -498,12 +492,12 @@ matmul_r10_avx128_fma3 (gfc_array_r10 * const restrict retarray,
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];
@@ -829,7 +823,7 @@ matmul_r10_avx128_fma4 (gfc_array_r10 * const restrict retarray,
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 */
@@ -845,18 +839,12 @@ matmul_r10_avx128_fma4 (gfc_array_r10 * const restrict retarray,
/* 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] = (GFC_REAL_10)0;
/* Early exit if possible */
@@ -878,35 +866,35 @@ matmul_r10_avx128_fma4 (gfc_array_r10 * const restrict retarray,
/* 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];
@@ -927,8 +915,8 @@ matmul_r10_avx128_fma4 (gfc_array_r10 * const restrict retarray,
}
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];
@@ -936,11 +924,11 @@ matmul_r10_avx128_fma4 (gfc_array_r10 * const restrict retarray,
}
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];
@@ -958,8 +946,8 @@ matmul_r10_avx128_fma4 (gfc_array_r10 * const restrict retarray,
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];
@@ -1013,15 +1001,15 @@ matmul_r10_avx128_fma4 (gfc_array_r10 * const restrict retarray,
}
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];
@@ -1041,18 +1029,18 @@ matmul_r10_avx128_fma4 (gfc_array_r10 * const restrict retarray,
}
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];
@@ -1068,12 +1056,12 @@ matmul_r10_avx128_fma4 (gfc_array_r10 * const restrict retarray,
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];
diff --git a/libgfortran/generated/matmulavx128_r16.c b/libgfortran/generated/matmulavx128_r16.c
index d2629e3128d5..36ff917177c1 100644
--- a/libgfortran/generated/matmulavx128_r16.c
+++ b/libgfortran/generated/matmulavx128_r16.c
@@ -259,7 +259,7 @@ matmul_r16_avx128_fma3 (gfc_array_r16 * const restrict retarray,
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 */
@@ -275,18 +275,12 @@ matmul_r16_avx128_fma3 (gfc_array_r16 * const restrict retarray,
/* 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] = (GFC_REAL_16)0;
/* Early exit if possible */
@@ -308,35 +302,35 @@ matmul_r16_avx128_fma3 (gfc_array_r16 * const restrict retarray,
/* 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];
@@ -357,8 +351,8 @@ matmul_r16_avx128_fma3 (gfc_array_r16 * const restrict retarray,
}
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];
@@ -366,11 +360,11 @@ matmul_r16_avx128_fma3 (gfc_array_r16 * const restrict retarray,
}
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];
@@ -388,8 +382,8 @@ matmul_r16_avx128_fma3 (gfc_array_r16 * const restrict retarray,
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];
@@ -443,15 +437,15 @@ matmul_r16_avx128_fma3 (gfc_array_r16 * const restrict retarray,
}
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];
@@ -471,18 +465,18 @@ matmul_r16_avx128_fma3 (gfc_array_r16 * const restrict retarray,
}
if (ujsec < jsec)
{
- i4 = jj + jsec - 1;
- for (j = jj + ujsec; j <[...]
[diff truncated at 524288 bytes]
More information about the Gcc-cvs
mailing list