[gcc(refs/users/mikael/heads/refactor_descriptor_v08)] Régénération fichiers générés
Mikael Morin
mikael@gcc.gnu.org
Sun Sep 14 16:37:53 GMT 2025
https://gcc.gnu.org/g:45b390f0e626ee1355d56259bce54d5912a14c15
commit 45b390f0e626ee1355d56259bce54d5912a14c15
Author: Mikael Morin <mikael@gcc.gnu.org>
Date: Thu Sep 11 12:28:03 2025 +0200
Régénération fichiers générés
Diff:
---
libgfortran/generated/matmul_c10.c | 355 +++++++++++++++----------------
libgfortran/generated/matmul_c16.c | 355 +++++++++++++++----------------
libgfortran/generated/matmul_c17.c | 355 +++++++++++++++----------------
libgfortran/generated/matmul_c4.c | 355 +++++++++++++++----------------
libgfortran/generated/matmul_c8.c | 355 +++++++++++++++----------------
libgfortran/generated/matmul_i1.c | 355 +++++++++++++++----------------
libgfortran/generated/matmul_i16.c | 355 +++++++++++++++----------------
libgfortran/generated/matmul_i2.c | 355 +++++++++++++++----------------
libgfortran/generated/matmul_i4.c | 355 +++++++++++++++----------------
libgfortran/generated/matmul_i8.c | 355 +++++++++++++++----------------
libgfortran/generated/matmul_r10.c | 355 +++++++++++++++----------------
libgfortran/generated/matmul_r16.c | 355 +++++++++++++++----------------
libgfortran/generated/matmul_r17.c | 355 +++++++++++++++----------------
libgfortran/generated/matmul_r4.c | 355 +++++++++++++++----------------
libgfortran/generated/matmul_r8.c | 355 +++++++++++++++----------------
libgfortran/generated/matmulavx128_c10.c | 142 ++++++-------
libgfortran/generated/matmulavx128_c16.c | 142 ++++++-------
libgfortran/generated/matmulavx128_c17.c | 142 ++++++-------
libgfortran/generated/matmulavx128_c4.c | 142 ++++++-------
libgfortran/generated/matmulavx128_c8.c | 142 ++++++-------
libgfortran/generated/matmulavx128_i1.c | 142 ++++++-------
libgfortran/generated/matmulavx128_i16.c | 142 ++++++-------
libgfortran/generated/matmulavx128_i2.c | 142 ++++++-------
libgfortran/generated/matmulavx128_i4.c | 142 ++++++-------
libgfortran/generated/matmulavx128_i8.c | 142 ++++++-------
libgfortran/generated/matmulavx128_r10.c | 142 ++++++-------
libgfortran/generated/matmulavx128_r16.c | 142 ++++++-------
libgfortran/generated/matmulavx128_r17.c | 142 ++++++-------
libgfortran/generated/matmulavx128_r4.c | 142 ++++++-------
libgfortran/generated/matmulavx128_r8.c | 142 ++++++-------
30 files changed, 3570 insertions(+), 3885 deletions(-)
diff --git a/libgfortran/generated/matmul_c10.c b/libgfortran/generated/matmul_c10.c
index 57ea0b49dabb..3d0780fa880c 100644
--- a/libgfortran/generated/matmul_c10.c
+++ b/libgfortran/generated/matmul_c10.c
@@ -315,15 +315,12 @@ matmul_c10_avx (gfc_array_c10 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_COMPLEX_10) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_COMPLEX_10) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_COMPLEX_10) + bystride_bytes);
/* 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 */
@@ -345,35 +342,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];
@@ -394,8 +391,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];
@@ -403,11 +400,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];
@@ -425,8 +422,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];
@@ -480,15 +477,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];
@@ -508,18 +505,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];
@@ -535,12 +532,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];
@@ -886,15 +883,12 @@ matmul_c10_avx2 (gfc_array_c10 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_COMPLEX_10) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_COMPLEX_10) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_COMPLEX_10) + bystride_bytes);
/* 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 */
@@ -916,35 +910,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];
@@ -965,8 +959,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];
@@ -974,11 +968,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];
@@ -996,8 +990,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];
@@ -1051,15 +1045,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];
@@ -1079,18 +1073,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];
@@ -1106,12 +1100,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];
@@ -1457,15 +1451,12 @@ matmul_c10_avx512f (gfc_array_c10 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_COMPLEX_10) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_COMPLEX_10) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_COMPLEX_10) + bystride_bytes);
/* 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 */
@@ -1487,35 +1478,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];
@@ -1536,8 +1527,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];
@@ -1545,11 +1536,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];
@@ -1567,8 +1558,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];
@@ -1622,15 +1613,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];
@@ -1650,18 +1641,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];
@@ -1677,12 +1668,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];
@@ -2042,15 +2033,12 @@ matmul_c10_vanilla (gfc_array_c10 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_COMPLEX_10) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_COMPLEX_10) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_COMPLEX_10) + bystride_bytes);
/* 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 */
@@ -2072,35 +2060,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];
@@ -2121,8 +2109,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];
@@ -2130,11 +2118,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];
@@ -2152,8 +2140,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];
@@ -2207,15 +2195,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];
@@ -2235,18 +2223,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];
@@ -2262,12 +2250,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];
@@ -2686,15 +2674,12 @@ matmul_c10 (gfc_array_c10 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_COMPLEX_10) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_COMPLEX_10) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_COMPLEX_10) + bystride_bytes);
/* 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 */
@@ -2716,35 +2701,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];
@@ -2765,8 +2750,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];
@@ -2774,11 +2759,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];
@@ -2796,8 +2781,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];
@@ -2851,15 +2836,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];
@@ -2879,18 +2864,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];
@@ -2906,12 +2891,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 c8d1a020c602..08c80be605db 100644
--- a/libgfortran/generated/matmul_c16.c
+++ b/libgfortran/generated/matmul_c16.c
@@ -315,15 +315,12 @@ matmul_c16_avx (gfc_array_c16 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_COMPLEX_16) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_COMPLEX_16) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_COMPLEX_16) + bystride_bytes);
/* 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 */
@@ -345,35 +342,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];
@@ -394,8 +391,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];
@@ -403,11 +400,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];
@@ -425,8 +422,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];
@@ -480,15 +477,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];
@@ -508,18 +505,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];
@@ -535,12 +532,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];
@@ -886,15 +883,12 @@ matmul_c16_avx2 (gfc_array_c16 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_COMPLEX_16) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_COMPLEX_16) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_COMPLEX_16) + bystride_bytes);
/* 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 */
@@ -916,35 +910,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];
@@ -965,8 +959,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];
@@ -974,11 +968,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];
@@ -996,8 +990,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];
@@ -1051,15 +1045,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];
@@ -1079,18 +1073,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];
@@ -1106,12 +1100,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];
@@ -1457,15 +1451,12 @@ matmul_c16_avx512f (gfc_array_c16 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_COMPLEX_16) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_COMPLEX_16) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_COMPLEX_16) + bystride_bytes);
/* 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 */
@@ -1487,35 +1478,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];
@@ -1536,8 +1527,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];
@@ -1545,11 +1536,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];
@@ -1567,8 +1558,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];
@@ -1622,15 +1613,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];
@@ -1650,18 +1641,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];
@@ -1677,12 +1668,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];
@@ -2042,15 +2033,12 @@ matmul_c16_vanilla (gfc_array_c16 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_COMPLEX_16) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_COMPLEX_16) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_COMPLEX_16) + bystride_bytes);
/* 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 */
@@ -2072,35 +2060,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];
@@ -2121,8 +2109,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];
@@ -2130,11 +2118,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];
@@ -2152,8 +2140,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];
@@ -2207,15 +2195,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];
@@ -2235,18 +2223,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];
@@ -2262,12 +2250,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];
@@ -2686,15 +2674,12 @@ matmul_c16 (gfc_array_c16 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_COMPLEX_16) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_COMPLEX_16) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_COMPLEX_16) + bystride_bytes);
/* 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 */
@@ -2716,35 +2701,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];
@@ -2765,8 +2750,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];
@@ -2774,11 +2759,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];
@@ -2796,8 +2781,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];
@@ -2851,15 +2836,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];
@@ -2879,18 +2864,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];
@@ -2906,12 +2891,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 f469a51e4fc3..e0f379005944 100644
--- a/libgfortran/generated/matmul_c17.c
+++ b/libgfortran/generated/matmul_c17.c
@@ -315,15 +315,12 @@ matmul_c17_avx (gfc_array_c17 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_COMPLEX_17) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_COMPLEX_17) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_COMPLEX_17) + bystride_bytes);
/* 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 */
@@ -345,35 +342,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];
@@ -394,8 +391,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];
@@ -403,11 +400,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];
@@ -425,8 +422,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];
@@ -480,15 +477,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];
@@ -508,18 +505,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];
@@ -535,12 +532,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];
@@ -886,15 +883,12 @@ matmul_c17_avx2 (gfc_array_c17 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_COMPLEX_17) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_COMPLEX_17) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_COMPLEX_17) + bystride_bytes);
/* 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 */
@@ -916,35 +910,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];
@@ -965,8 +959,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];
@@ -974,11 +968,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];
@@ -996,8 +990,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];
@@ -1051,15 +1045,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];
@@ -1079,18 +1073,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];
@@ -1106,12 +1100,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];
@@ -1457,15 +1451,12 @@ matmul_c17_avx512f (gfc_array_c17 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_COMPLEX_17) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_COMPLEX_17) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_COMPLEX_17) + bystride_bytes);
/* 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 */
@@ -1487,35 +1478,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];
@@ -1536,8 +1527,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];
@@ -1545,11 +1536,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];
@@ -1567,8 +1558,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];
@@ -1622,15 +1613,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];
@@ -1650,18 +1641,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];
@@ -1677,12 +1668,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];
@@ -2042,15 +2033,12 @@ matmul_c17_vanilla (gfc_array_c17 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_COMPLEX_17) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_COMPLEX_17) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_COMPLEX_17) + bystride_bytes);
/* 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 */
@@ -2072,35 +2060,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];
@@ -2121,8 +2109,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];
@@ -2130,11 +2118,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];
@@ -2152,8 +2140,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];
@@ -2207,15 +2195,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];
@@ -2235,18 +2223,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];
@@ -2262,12 +2250,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];
@@ -2686,15 +2674,12 @@ matmul_c17 (gfc_array_c17 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_COMPLEX_17) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_COMPLEX_17) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_COMPLEX_17) + bystride_bytes);
/* 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 */
@@ -2716,35 +2701,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];
@@ -2765,8 +2750,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];
@@ -2774,11 +2759,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];
@@ -2796,8 +2781,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];
@@ -2851,15 +2836,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];
@@ -2879,18 +2864,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];
@@ -2906,12 +2891,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 2021a2241ac9..f9b65bd150aa 100644
--- a/libgfortran/generated/matmul_c4.c
+++ b/libgfortran/generated/matmul_c4.c
@@ -315,15 +315,12 @@ matmul_c4_avx (gfc_array_c4 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_COMPLEX_4) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_COMPLEX_4) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_COMPLEX_4) + bystride_bytes);
/* 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 */
@@ -345,35 +342,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];
@@ -394,8 +391,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];
@@ -403,11 +400,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];
@@ -425,8 +422,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];
@@ -480,15 +477,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];
@@ -508,18 +505,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];
@@ -535,12 +532,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];
@@ -886,15 +883,12 @@ matmul_c4_avx2 (gfc_array_c4 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_COMPLEX_4) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_COMPLEX_4) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_COMPLEX_4) + bystride_bytes);
/* 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 */
@@ -916,35 +910,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];
@@ -965,8 +959,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];
@@ -974,11 +968,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];
@@ -996,8 +990,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];
@@ -1051,15 +1045,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];
@@ -1079,18 +1073,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];
@@ -1106,12 +1100,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];
@@ -1457,15 +1451,12 @@ matmul_c4_avx512f (gfc_array_c4 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_COMPLEX_4) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_COMPLEX_4) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_COMPLEX_4) + bystride_bytes);
/* 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 */
@@ -1487,35 +1478,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];
@@ -1536,8 +1527,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];
@@ -1545,11 +1536,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];
@@ -1567,8 +1558,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];
@@ -1622,15 +1613,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];
@@ -1650,18 +1641,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];
@@ -1677,12 +1668,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];
@@ -2042,15 +2033,12 @@ matmul_c4_vanilla (gfc_array_c4 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_COMPLEX_4) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_COMPLEX_4) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_COMPLEX_4) + bystride_bytes);
/* 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 */
@@ -2072,35 +2060,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];
@@ -2121,8 +2109,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];
@@ -2130,11 +2118,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];
@@ -2152,8 +2140,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];
@@ -2207,15 +2195,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];
@@ -2235,18 +2223,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];
@@ -2262,12 +2250,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];
@@ -2686,15 +2674,12 @@ matmul_c4 (gfc_array_c4 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_COMPLEX_4) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_COMPLEX_4) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_COMPLEX_4) + bystride_bytes);
/* 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 */
@@ -2716,35 +2701,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];
@@ -2765,8 +2750,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];
@@ -2774,11 +2759,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];
@@ -2796,8 +2781,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];
@@ -2851,15 +2836,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];
@@ -2879,18 +2864,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];
@@ -2906,12 +2891,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 1bf177b43e40..66e14224cf1d 100644
--- a/libgfortran/generated/matmul_c8.c
+++ b/libgfortran/generated/matmul_c8.c
@@ -315,15 +315,12 @@ matmul_c8_avx (gfc_array_c8 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_COMPLEX_8) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_COMPLEX_8) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_COMPLEX_8) + bystride_bytes);
/* 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 */
@@ -345,35 +342,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];
@@ -394,8 +391,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];
@@ -403,11 +400,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];
@@ -425,8 +422,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];
@@ -480,15 +477,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];
@@ -508,18 +505,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];
@@ -535,12 +532,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];
@@ -886,15 +883,12 @@ matmul_c8_avx2 (gfc_array_c8 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_COMPLEX_8) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_COMPLEX_8) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_COMPLEX_8) + bystride_bytes);
/* 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 */
@@ -916,35 +910,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];
@@ -965,8 +959,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];
@@ -974,11 +968,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];
@@ -996,8 +990,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];
@@ -1051,15 +1045,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];
@@ -1079,18 +1073,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];
@@ -1106,12 +1100,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];
@@ -1457,15 +1451,12 @@ matmul_c8_avx512f (gfc_array_c8 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_COMPLEX_8) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_COMPLEX_8) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_COMPLEX_8) + bystride_bytes);
/* 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 */
@@ -1487,35 +1478,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];
@@ -1536,8 +1527,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];
@@ -1545,11 +1536,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];
@@ -1567,8 +1558,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];
@@ -1622,15 +1613,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];
@@ -1650,18 +1641,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];
@@ -1677,12 +1668,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];
@@ -2042,15 +2033,12 @@ matmul_c8_vanilla (gfc_array_c8 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_COMPLEX_8) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_COMPLEX_8) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_COMPLEX_8) + bystride_bytes);
/* 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 */
@@ -2072,35 +2060,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];
@@ -2121,8 +2109,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];
@@ -2130,11 +2118,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];
@@ -2152,8 +2140,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];
@@ -2207,15 +2195,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];
@@ -2235,18 +2223,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];
@@ -2262,12 +2250,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];
@@ -2686,15 +2674,12 @@ matmul_c8 (gfc_array_c8 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_COMPLEX_8) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_COMPLEX_8) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_COMPLEX_8) + bystride_bytes);
/* 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 */
@@ -2716,35 +2701,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];
@@ -2765,8 +2750,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];
@@ -2774,11 +2759,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];
@@ -2796,8 +2781,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];
@@ -2851,15 +2836,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];
@@ -2879,18 +2864,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];
@@ -2906,12 +2891,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 d97fcffcbc5c..c24bd61182c1 100644
--- a/libgfortran/generated/matmul_i1.c
+++ b/libgfortran/generated/matmul_i1.c
@@ -315,15 +315,12 @@ matmul_i1_avx (gfc_array_m1 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_UINTEGER_1) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_UINTEGER_1) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_UINTEGER_1) + bystride_bytes);
/* 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 */
@@ -345,35 +342,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];
@@ -394,8 +391,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];
@@ -403,11 +400,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];
@@ -425,8 +422,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];
@@ -480,15 +477,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];
@@ -508,18 +505,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];
@@ -535,12 +532,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];
@@ -886,15 +883,12 @@ matmul_i1_avx2 (gfc_array_m1 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_UINTEGER_1) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_UINTEGER_1) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_UINTEGER_1) + bystride_bytes);
/* 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 */
@@ -916,35 +910,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];
@@ -965,8 +959,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];
@@ -974,11 +968,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];
@@ -996,8 +990,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];
@@ -1051,15 +1045,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];
@@ -1079,18 +1073,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];
@@ -1106,12 +1100,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];
@@ -1457,15 +1451,12 @@ matmul_i1_avx512f (gfc_array_m1 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_UINTEGER_1) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_UINTEGER_1) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_UINTEGER_1) + bystride_bytes);
/* 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 */
@@ -1487,35 +1478,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];
@@ -1536,8 +1527,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];
@@ -1545,11 +1536,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];
@@ -1567,8 +1558,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];
@@ -1622,15 +1613,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];
@@ -1650,18 +1641,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];
@@ -1677,12 +1668,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];
@@ -2042,15 +2033,12 @@ matmul_i1_vanilla (gfc_array_m1 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_UINTEGER_1) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_UINTEGER_1) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_UINTEGER_1) + bystride_bytes);
/* 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 */
@@ -2072,35 +2060,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];
@@ -2121,8 +2109,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];
@@ -2130,11 +2118,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];
@@ -2152,8 +2140,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];
@@ -2207,15 +2195,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];
@@ -2235,18 +2223,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];
@@ -2262,12 +2250,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];
@@ -2686,15 +2674,12 @@ matmul_i1 (gfc_array_m1 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_UINTEGER_1) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_UINTEGER_1) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_UINTEGER_1) + bystride_bytes);
/* 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 */
@@ -2716,35 +2701,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];
@@ -2765,8 +2750,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];
@@ -2774,11 +2759,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];
@@ -2796,8 +2781,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];
@@ -2851,15 +2836,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];
@@ -2879,18 +2864,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];
@@ -2906,12 +2891,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 1ec18ffa266c..994e622c8b57 100644
--- a/libgfortran/generated/matmul_i16.c
+++ b/libgfortran/generated/matmul_i16.c
@@ -315,15 +315,12 @@ matmul_i16_avx (gfc_array_m16 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_UINTEGER_16) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_UINTEGER_16) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_UINTEGER_16) + bystride_bytes);
/* 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 */
@@ -345,35 +342,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];
@@ -394,8 +391,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];
@@ -403,11 +400,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];
@@ -425,8 +422,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];
@@ -480,15 +477,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];
@@ -508,18 +505,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];
@@ -535,12 +532,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];
@@ -886,15 +883,12 @@ matmul_i16_avx2 (gfc_array_m16 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_UINTEGER_16) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_UINTEGER_16) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_UINTEGER_16) + bystride_bytes);
/* 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 */
@@ -916,35 +910,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];
@@ -965,8 +959,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];
@@ -974,11 +968,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];
@@ -996,8 +990,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];
@@ -1051,15 +1045,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];
@@ -1079,18 +1073,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];
@@ -1106,12 +1100,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];
@@ -1457,15 +1451,12 @@ matmul_i16_avx512f (gfc_array_m16 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_UINTEGER_16) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_UINTEGER_16) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_UINTEGER_16) + bystride_bytes);
/* 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 */
@@ -1487,35 +1478,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];
@@ -1536,8 +1527,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];
@@ -1545,11 +1536,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];
@@ -1567,8 +1558,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];
@@ -1622,15 +1613,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];
@@ -1650,18 +1641,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];
@@ -1677,12 +1668,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];
@@ -2042,15 +2033,12 @@ matmul_i16_vanilla (gfc_array_m16 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_UINTEGER_16) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_UINTEGER_16) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_UINTEGER_16) + bystride_bytes);
/* 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 */
@@ -2072,35 +2060,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];
@@ -2121,8 +2109,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];
@@ -2130,11 +2118,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];
@@ -2152,8 +2140,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];
@@ -2207,15 +2195,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];
@@ -2235,18 +2223,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];
@@ -2262,12 +2250,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];
@@ -2686,15 +2674,12 @@ matmul_i16 (gfc_array_m16 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_UINTEGER_16) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_UINTEGER_16) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_UINTEGER_16) + bystride_bytes);
/* 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 */
@@ -2716,35 +2701,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];
@@ -2765,8 +2750,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];
@@ -2774,11 +2759,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];
@@ -2796,8 +2781,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];
@@ -2851,15 +2836,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];
@@ -2879,18 +2864,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];
@@ -2906,12 +2891,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 ae55537724f2..cd33b487802c 100644
--- a/libgfortran/generated/matmul_i2.c
+++ b/libgfortran/generated/matmul_i2.c
@@ -315,15 +315,12 @@ matmul_i2_avx (gfc_array_m2 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_UINTEGER_2) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_UINTEGER_2) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_UINTEGER_2) + bystride_bytes);
/* 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 */
@@ -345,35 +342,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];
@@ -394,8 +391,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];
@@ -403,11 +400,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];
@@ -425,8 +422,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];
@@ -480,15 +477,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];
@@ -508,18 +505,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];
@@ -535,12 +532,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];
@@ -886,15 +883,12 @@ matmul_i2_avx2 (gfc_array_m2 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_UINTEGER_2) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_UINTEGER_2) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_UINTEGER_2) + bystride_bytes);
/* 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 */
@@ -916,35 +910,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];
@@ -965,8 +959,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];
@@ -974,11 +968,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];
@@ -996,8 +990,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];
@@ -1051,15 +1045,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];
@@ -1079,18 +1073,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];
@@ -1106,12 +1100,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];
@@ -1457,15 +1451,12 @@ matmul_i2_avx512f (gfc_array_m2 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_UINTEGER_2) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_UINTEGER_2) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_UINTEGER_2) + bystride_bytes);
/* 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 */
@@ -1487,35 +1478,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];
@@ -1536,8 +1527,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];
@@ -1545,11 +1536,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];
@@ -1567,8 +1558,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];
@@ -1622,15 +1613,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];
@@ -1650,18 +1641,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];
@@ -1677,12 +1668,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];
@@ -2042,15 +2033,12 @@ matmul_i2_vanilla (gfc_array_m2 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_UINTEGER_2) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_UINTEGER_2) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_UINTEGER_2) + bystride_bytes);
/* 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 */
@@ -2072,35 +2060,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];
@@ -2121,8 +2109,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];
@@ -2130,11 +2118,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];
@@ -2152,8 +2140,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];
@@ -2207,15 +2195,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];
@@ -2235,18 +2223,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];
@@ -2262,12 +2250,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];
@@ -2686,15 +2674,12 @@ matmul_i2 (gfc_array_m2 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_UINTEGER_2) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_UINTEGER_2) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_UINTEGER_2) + bystride_bytes);
/* 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 */
@@ -2716,35 +2701,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];
@@ -2765,8 +2750,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];
@@ -2774,11 +2759,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];
@@ -2796,8 +2781,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];
@@ -2851,15 +2836,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];
@@ -2879,18 +2864,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];
@@ -2906,12 +2891,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 6d6ecd27a6c9..ead17ae62cfc 100644
--- a/libgfortran/generated/matmul_i4.c
+++ b/libgfortran/generated/matmul_i4.c
@@ -315,15 +315,12 @@ matmul_i4_avx (gfc_array_m4 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_UINTEGER_4) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_UINTEGER_4) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_UINTEGER_4) + bystride_bytes);
/* 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 */
@@ -345,35 +342,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];
@@ -394,8 +391,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];
@@ -403,11 +400,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];
@@ -425,8 +422,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];
@@ -480,15 +477,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];
@@ -508,18 +505,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];
@@ -535,12 +532,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];
@@ -886,15 +883,12 @@ matmul_i4_avx2 (gfc_array_m4 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_UINTEGER_4) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_UINTEGER_4) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_UINTEGER_4) + bystride_bytes);
/* 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 */
@@ -916,35 +910,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];
@@ -965,8 +959,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];
@@ -974,11 +968,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];
@@ -996,8 +990,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];
@@ -1051,15 +1045,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];
@@ -1079,18 +1073,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];
@@ -1106,12 +1100,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];
@@ -1457,15 +1451,12 @@ matmul_i4_avx512f (gfc_array_m4 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_UINTEGER_4) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_UINTEGER_4) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_UINTEGER_4) + bystride_bytes);
/* 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 */
@@ -1487,35 +1478,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];
@@ -1536,8 +1527,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];
@@ -1545,11 +1536,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];
@@ -1567,8 +1558,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];
@@ -1622,15 +1613,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];
@@ -1650,18 +1641,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];
@@ -1677,12 +1668,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];
@@ -2042,15 +2033,12 @@ matmul_i4_vanilla (gfc_array_m4 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_UINTEGER_4) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_UINTEGER_4) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_UINTEGER_4) + bystride_bytes);
/* 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 */
@@ -2072,35 +2060,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];
@@ -2121,8 +2109,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];
@@ -2130,11 +2118,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];
@@ -2152,8 +2140,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];
@@ -2207,15 +2195,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];
@@ -2235,18 +2223,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];
@@ -2262,12 +2250,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];
@@ -2686,15 +2674,12 @@ matmul_i4 (gfc_array_m4 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_UINTEGER_4) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_UINTEGER_4) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_UINTEGER_4) + bystride_bytes);
/* 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 */
@@ -2716,35 +2701,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];
@@ -2765,8 +2750,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];
@@ -2774,11 +2759,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];
@@ -2796,8 +2781,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];
@@ -2851,15 +2836,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];
@@ -2879,18 +2864,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];
@@ -2906,12 +2891,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 7db31f32eb34..165a8abb1176 100644
--- a/libgfortran/generated/matmul_i8.c
+++ b/libgfortran/generated/matmul_i8.c
@@ -315,15 +315,12 @@ matmul_i8_avx (gfc_array_m8 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_UINTEGER_8) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_UINTEGER_8) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_UINTEGER_8) + bystride_bytes);
/* 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 */
@@ -345,35 +342,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];
@@ -394,8 +391,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];
@@ -403,11 +400,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];
@@ -425,8 +422,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];
@@ -480,15 +477,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];
@@ -508,18 +505,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];
@@ -535,12 +532,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];
@@ -886,15 +883,12 @@ matmul_i8_avx2 (gfc_array_m8 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_UINTEGER_8) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_UINTEGER_8) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_UINTEGER_8) + bystride_bytes);
/* 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 */
@@ -916,35 +910,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];
@@ -965,8 +959,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];
@@ -974,11 +968,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];
@@ -996,8 +990,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];
@@ -1051,15 +1045,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];
@@ -1079,18 +1073,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];
@@ -1106,12 +1100,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];
@@ -1457,15 +1451,12 @@ matmul_i8_avx512f (gfc_array_m8 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_UINTEGER_8) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_UINTEGER_8) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_UINTEGER_8) + bystride_bytes);
/* 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 */
@@ -1487,35 +1478,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];
@@ -1536,8 +1527,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];
@@ -1545,11 +1536,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];
@@ -1567,8 +1558,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];
@@ -1622,15 +1613,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];
@@ -1650,18 +1641,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];
@@ -1677,12 +1668,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];
@@ -2042,15 +2033,12 @@ matmul_i8_vanilla (gfc_array_m8 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_UINTEGER_8) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_UINTEGER_8) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_UINTEGER_8) + bystride_bytes);
/* 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 */
@@ -2072,35 +2060,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];
@@ -2121,8 +2109,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];
@@ -2130,11 +2118,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];
@@ -2152,8 +2140,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];
@@ -2207,15 +2195,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];
@@ -2235,18 +2223,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];
@@ -2262,12 +2250,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];
@@ -2686,15 +2674,12 @@ matmul_i8 (gfc_array_m8 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_UINTEGER_8) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_UINTEGER_8) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_UINTEGER_8) + bystride_bytes);
/* 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 */
@@ -2716,35 +2701,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];
@@ -2765,8 +2750,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];
@@ -2774,11 +2759,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];
@@ -2796,8 +2781,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];
@@ -2851,15 +2836,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];
@@ -2879,18 +2864,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];
@@ -2906,12 +2891,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 a5da96af9c94..2e6b3c804430 100644
--- a/libgfortran/generated/matmul_r10.c
+++ b/libgfortran/generated/matmul_r10.c
@@ -315,15 +315,12 @@ matmul_r10_avx (gfc_array_r10 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_REAL_10) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_REAL_10) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_REAL_10) + bystride_bytes);
/* 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 */
@@ -345,35 +342,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];
@@ -394,8 +391,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];
@@ -403,11 +400,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];
@@ -425,8 +422,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];
@@ -480,15 +477,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];
@@ -508,18 +505,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];
@@ -535,12 +532,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];
@@ -886,15 +883,12 @@ matmul_r10_avx2 (gfc_array_r10 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_REAL_10) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_REAL_10) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_REAL_10) + bystride_bytes);
/* 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 */
@@ -916,35 +910,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];
@@ -965,8 +959,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];
@@ -974,11 +968,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];
@@ -996,8 +990,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];
@@ -1051,15 +1045,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];
@@ -1079,18 +1073,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];
@@ -1106,12 +1100,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];
@@ -1457,15 +1451,12 @@ matmul_r10_avx512f (gfc_array_r10 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_REAL_10) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_REAL_10) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_REAL_10) + bystride_bytes);
/* 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 */
@@ -1487,35 +1478,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];
@@ -1536,8 +1527,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];
@@ -1545,11 +1536,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];
@@ -1567,8 +1558,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];
@@ -1622,15 +1613,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];
@@ -1650,18 +1641,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];
@@ -1677,12 +1668,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];
@@ -2042,15 +2033,12 @@ matmul_r10_vanilla (gfc_array_r10 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_REAL_10) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_REAL_10) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_REAL_10) + bystride_bytes);
/* 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 */
@@ -2072,35 +2060,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];
@@ -2121,8 +2109,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];
@@ -2130,11 +2118,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];
@@ -2152,8 +2140,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];
@@ -2207,15 +2195,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];
@@ -2235,18 +2223,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];
@@ -2262,12 +2250,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];
@@ -2686,15 +2674,12 @@ matmul_r10 (gfc_array_r10 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_REAL_10) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_REAL_10) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_REAL_10) + bystride_bytes);
/* 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 */
@@ -2716,35 +2701,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];
@@ -2765,8 +2750,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];
@@ -2774,11 +2759,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];
@@ -2796,8 +2781,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];
@@ -2851,15 +2836,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];
@@ -2879,18 +2864,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];
@@ -2906,12 +2891,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 927a86c324bf..d8785946078d 100644
--- a/libgfortran/generated/matmul_r16.c
+++ b/libgfortran/generated/matmul_r16.c
@@ -315,15 +315,12 @@ matmul_r16_avx (gfc_array_r16 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_REAL_16) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_REAL_16) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_REAL_16) + bystride_bytes);
/* 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 */
@@ -345,35 +342,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];
@@ -394,8 +391,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];
@@ -403,11 +400,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];
@@ -425,8 +422,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];
@@ -480,15 +477,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];
@@ -508,18 +505,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];
@@ -535,12 +532,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];
@@ -886,15 +883,12 @@ matmul_r16_avx2 (gfc_array_r16 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_REAL_16) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_REAL_16) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_REAL_16) + bystride_bytes);
/* 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 */
@@ -916,35 +910,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];
@@ -965,8 +959,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];
@@ -974,11 +968,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];
@@ -996,8 +990,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];
@@ -1051,15 +1045,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];
@@ -1079,18 +1073,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];
@@ -1106,12 +1100,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];
@@ -1457,15 +1451,12 @@ matmul_r16_avx512f (gfc_array_r16 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_REAL_16) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_REAL_16) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_REAL_16) + bystride_bytes);
/* 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 */
@@ -1487,35 +1478,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];
@@ -1536,8 +1527,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];
@@ -1545,11 +1536,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];
@@ -1567,8 +1558,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];
@@ -1622,15 +1613,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];
@@ -1650,18 +1641,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];
@@ -1677,12 +1668,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];
@@ -2042,15 +2033,12 @@ matmul_r16_vanilla (gfc_array_r16 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_REAL_16) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_REAL_16) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_REAL_16) + bystride_bytes);
/* 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 */
@@ -2072,35 +2060,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];
@@ -2121,8 +2109,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];
@@ -2130,11 +2118,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];
@@ -2152,8 +2140,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];
@@ -2207,15 +2195,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];
@@ -2235,18 +2223,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];
@@ -2262,12 +2250,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];
@@ -2686,15 +2674,12 @@ matmul_r16 (gfc_array_r16 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_REAL_16) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_REAL_16) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_REAL_16) + bystride_bytes);
/* 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 */
@@ -2716,35 +2701,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];
@@ -2765,8 +2750,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];
@@ -2774,11 +2759,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];
@@ -2796,8 +2781,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];
@@ -2851,15 +2836,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];
@@ -2879,18 +2864,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];
@@ -2906,12 +2891,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 57935ae77de8..d7dc2cda4850 100644
--- a/libgfortran/generated/matmul_r17.c
+++ b/libgfortran/generated/matmul_r17.c
@@ -315,15 +315,12 @@ matmul_r17_avx (gfc_array_r17 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_REAL_17) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_REAL_17) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_REAL_17) + bystride_bytes);
/* 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 */
@@ -345,35 +342,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];
@@ -394,8 +391,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];
@@ -403,11 +400,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];
@@ -425,8 +422,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];
@@ -480,15 +477,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];
@@ -508,18 +505,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];
@@ -535,12 +532,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];
@@ -886,15 +883,12 @@ matmul_r17_avx2 (gfc_array_r17 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_REAL_17) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_REAL_17) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_REAL_17) + bystride_bytes);
/* 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 */
@@ -916,35 +910,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];
@@ -965,8 +959,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];
@@ -974,11 +968,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];
@@ -996,8 +990,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];
@@ -1051,15 +1045,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];
@@ -1079,18 +1073,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];
@@ -1106,12 +1100,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];
@@ -1457,15 +1451,12 @@ matmul_r17_avx512f (gfc_array_r17 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_REAL_17) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_REAL_17) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_REAL_17) + bystride_bytes);
/* 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 */
@@ -1487,35 +1478,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];
@@ -1536,8 +1527,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];
@@ -1545,11 +1536,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];
@@ -1567,8 +1558,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];
@@ -1622,15 +1613,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];
@@ -1650,18 +1641,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];
@@ -1677,12 +1668,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];
@@ -2042,15 +2033,12 @@ matmul_r17_vanilla (gfc_array_r17 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_REAL_17) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_REAL_17) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_REAL_17) + bystride_bytes);
/* 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 */
@@ -2072,35 +2060,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];
@@ -2121,8 +2109,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];
@@ -2130,11 +2118,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];
@@ -2152,8 +2140,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];
@@ -2207,15 +2195,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];
@@ -2235,18 +2223,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];
@@ -2262,12 +2250,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];
@@ -2686,15 +2674,12 @@ matmul_r17 (gfc_array_r17 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_REAL_17) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_REAL_17) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_REAL_17) + bystride_bytes);
/* 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 */
@@ -2716,35 +2701,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];
@@ -2765,8 +2750,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];
@@ -2774,11 +2759,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];
@@ -2796,8 +2781,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];
@@ -2851,15 +2836,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];
@@ -2879,18 +2864,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];
@@ -2906,12 +2891,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 cb9fcdd53cd7..595adae2bc50 100644
--- a/libgfortran/generated/matmul_r4.c
+++ b/libgfortran/generated/matmul_r4.c
@@ -315,15 +315,12 @@ matmul_r4_avx (gfc_array_r4 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_REAL_4) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_REAL_4) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_REAL_4) + bystride_bytes);
/* 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 */
@@ -345,35 +342,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];
@@ -394,8 +391,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];
@@ -403,11 +400,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];
@@ -425,8 +422,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];
@@ -480,15 +477,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];
@@ -508,18 +505,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];
@@ -535,12 +532,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];
@@ -886,15 +883,12 @@ matmul_r4_avx2 (gfc_array_r4 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_REAL_4) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_REAL_4) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_REAL_4) + bystride_bytes);
/* 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 */
@@ -916,35 +910,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];
@@ -965,8 +959,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];
@@ -974,11 +968,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];
@@ -996,8 +990,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];
@@ -1051,15 +1045,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];
@@ -1079,18 +1073,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];
@@ -1106,12 +1100,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];
@@ -1457,15 +1451,12 @@ matmul_r4_avx512f (gfc_array_r4 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_REAL_4) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_REAL_4) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_REAL_4) + bystride_bytes);
/* 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 */
@@ -1487,35 +1478,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];
@@ -1536,8 +1527,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];
@@ -1545,11 +1536,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];
@@ -1567,8 +1558,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];
@@ -1622,15 +1613,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];
@@ -1650,18 +1641,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];
@@ -1677,12 +1668,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];
@@ -2042,15 +2033,12 @@ matmul_r4_vanilla (gfc_array_r4 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_REAL_4) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_REAL_4) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_REAL_4) + bystride_bytes);
/* 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 */
@@ -2072,35 +2060,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];
@@ -2121,8 +2109,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];
@@ -2130,11 +2118,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];
@@ -2152,8 +2140,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];
@@ -2207,15 +2195,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];
@@ -2235,18 +2223,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];
@@ -2262,12 +2250,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];
@@ -2686,15 +2674,12 @@ matmul_r4 (gfc_array_r4 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_REAL_4) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_REAL_4) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_REAL_4) + bystride_bytes);
/* 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 */
@@ -2716,35 +2701,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];
@@ -2765,8 +2750,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];
@@ -2774,11 +2759,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];
@@ -2796,8 +2781,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];
@@ -2851,15 +2836,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];
@@ -2879,18 +2864,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];
@@ -2906,12 +2891,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 393d499a26d4..bd643e17c8af 100644
--- a/libgfortran/generated/matmul_r8.c
+++ b/libgfortran/generated/matmul_r8.c
@@ -315,15 +315,12 @@ matmul_r8_avx (gfc_array_r8 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_REAL_8) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_REAL_8) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_REAL_8) + bystride_bytes);
/* 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 */
@@ -345,35 +342,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];
@@ -394,8 +391,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];
@@ -403,11 +400,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];
@@ -425,8 +422,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];
@@ -480,15 +477,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];
@@ -508,18 +505,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];
@@ -535,12 +532,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];
@@ -886,15 +883,12 @@ matmul_r8_avx2 (gfc_array_r8 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_REAL_8) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_REAL_8) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_REAL_8) + bystride_bytes);
/* 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 */
@@ -916,35 +910,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];
@@ -965,8 +959,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];
@@ -974,11 +968,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];
@@ -996,8 +990,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];
@@ -1051,15 +1045,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];
@@ -1079,18 +1073,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];
@@ -1106,12 +1100,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];
@@ -1457,15 +1451,12 @@ matmul_r8_avx512f (gfc_array_r8 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_REAL_8) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_REAL_8) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_REAL_8) + bystride_bytes);
/* 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 */
@@ -1487,35 +1478,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];
@@ -1536,8 +1527,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];
@@ -1545,11 +1536,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];
@@ -1567,8 +1558,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];
@@ -1622,15 +1613,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];
@@ -1650,18 +1641,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];
@@ -1677,12 +1668,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];
@@ -2042,15 +2033,12 @@ matmul_r8_vanilla (gfc_array_r8 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_REAL_8) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_REAL_8) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_REAL_8) + bystride_bytes);
/* 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 */
@@ -2072,35 +2060,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];
@@ -2121,8 +2109,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];
@@ -2130,11 +2118,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];
@@ -2152,8 +2140,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];
@@ -2207,15 +2195,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];
@@ -2235,18 +2223,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];
@@ -2262,12 +2250,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];
@@ -2686,15 +2674,12 @@ matmul_r8 (gfc_array_r8 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_REAL_8) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_REAL_8) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_REAL_8) + bystride_bytes);
/* 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 */
@@ -2716,35 +2701,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];
@@ -2765,8 +2750,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];
@@ -2774,11 +2759,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];
@@ -2796,8 +2781,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];
@@ -2851,15 +2836,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];
@@ -2879,18 +2864,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];
@@ -2906,12 +2891,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 aab472dc0173..3d85a7267d4f 100644
--- a/libgfortran/generated/matmulavx128_c10.c
+++ b/libgfortran/generated/matmulavx128_c10.c
@@ -280,15 +280,12 @@ matmul_c10_avx128_fma3 (gfc_array_c10 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_COMPLEX_10) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_COMPLEX_10) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_COMPLEX_10) + bystride_bytes);
/* 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 */
@@ -310,35 +307,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];
@@ -359,8 +356,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];
@@ -368,11 +365,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];
@@ -390,8 +387,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];
@@ -445,15 +442,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];
@@ -473,18 +470,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];
@@ -500,12 +497,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];
@@ -852,15 +849,12 @@ matmul_c10_avx128_fma4 (gfc_array_c10 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_COMPLEX_10) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_COMPLEX_10) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_COMPLEX_10) + bystride_bytes);
/* 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 */
@@ -882,35 +876,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];
@@ -931,8 +925,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];
@@ -940,11 +934,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];
@@ -962,8 +956,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];
@@ -1017,15 +1011,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];
@@ -1045,18 +1039,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];
@@ -1072,12 +1066,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 ccd576a4a1ac..aa2f2562811b 100644
--- a/libgfortran/generated/matmulavx128_c16.c
+++ b/libgfortran/generated/matmulavx128_c16.c
@@ -280,15 +280,12 @@ matmul_c16_avx128_fma3 (gfc_array_c16 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_COMPLEX_16) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_COMPLEX_16) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_COMPLEX_16) + bystride_bytes);
/* 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 */
@@ -310,35 +307,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];
@@ -359,8 +356,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];
@@ -368,11 +365,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];
@@ -390,8 +387,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];
@@ -445,15 +442,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];
@@ -473,18 +470,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];
@@ -500,12 +497,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];
@@ -852,15 +849,12 @@ matmul_c16_avx128_fma4 (gfc_array_c16 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_COMPLEX_16) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_COMPLEX_16) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_COMPLEX_16) + bystride_bytes);
/* 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 */
@@ -882,35 +876,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];
@@ -931,8 +925,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];
@@ -940,11 +934,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];
@@ -962,8 +956,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];
@@ -1017,15 +1011,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];
@@ -1045,18 +1039,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];
@@ -1072,12 +1066,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 a9de945dbd08..b2d702d33f3d 100644
--- a/libgfortran/generated/matmulavx128_c17.c
+++ b/libgfortran/generated/matmulavx128_c17.c
@@ -280,15 +280,12 @@ matmul_c17_avx128_fma3 (gfc_array_c17 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_COMPLEX_17) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_COMPLEX_17) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_COMPLEX_17) + bystride_bytes);
/* 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 */
@@ -310,35 +307,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];
@@ -359,8 +356,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];
@@ -368,11 +365,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];
@@ -390,8 +387,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];
@@ -445,15 +442,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];
@@ -473,18 +470,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];
@@ -500,12 +497,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];
@@ -852,15 +849,12 @@ matmul_c17_avx128_fma4 (gfc_array_c17 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_COMPLEX_17) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_COMPLEX_17) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_COMPLEX_17) + bystride_bytes);
/* 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 */
@@ -882,35 +876,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];
@@ -931,8 +925,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];
@@ -940,11 +934,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];
@@ -962,8 +956,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];
@@ -1017,15 +1011,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];
@@ -1045,18 +1039,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];
@@ -1072,12 +1066,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 2ad76f03c3c8..0844b58949f0 100644
--- a/libgfortran/generated/matmulavx128_c4.c
+++ b/libgfortran/generated/matmulavx128_c4.c
@@ -280,15 +280,12 @@ matmul_c4_avx128_fma3 (gfc_array_c4 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_COMPLEX_4) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_COMPLEX_4) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_COMPLEX_4) + bystride_bytes);
/* 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 */
@@ -310,35 +307,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];
@@ -359,8 +356,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];
@@ -368,11 +365,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];
@@ -390,8 +387,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];
@@ -445,15 +442,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];
@@ -473,18 +470,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];
@@ -500,12 +497,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];
@@ -852,15 +849,12 @@ matmul_c4_avx128_fma4 (gfc_array_c4 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_COMPLEX_4) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_COMPLEX_4) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_COMPLEX_4) + bystride_bytes);
/* 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 */
@@ -882,35 +876,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];
@@ -931,8 +925,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];
@@ -940,11 +934,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];
@@ -962,8 +956,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];
@@ -1017,15 +1011,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];
@@ -1045,18 +1039,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];
@@ -1072,12 +1066,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 5629c22773ed..9bc1f697275b 100644
--- a/libgfortran/generated/matmulavx128_c8.c
+++ b/libgfortran/generated/matmulavx128_c8.c
@@ -280,15 +280,12 @@ matmul_c8_avx128_fma3 (gfc_array_c8 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_COMPLEX_8) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_COMPLEX_8) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_COMPLEX_8) + bystride_bytes);
/* 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 */
@@ -310,35 +307,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];
@@ -359,8 +356,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];
@@ -368,11 +365,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];
@@ -390,8 +387,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];
@@ -445,15 +442,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];
@@ -473,18 +470,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];
@@ -500,12 +497,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];
@@ -852,15 +849,12 @@ matmul_c8_avx128_fma4 (gfc_array_c8 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_COMPLEX_8) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_COMPLEX_8) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_COMPLEX_8) + bystride_bytes);
/* 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 */
@@ -882,35 +876,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];
@@ -931,8 +925,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];
@@ -940,11 +934,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];
@@ -962,8 +956,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];
@@ -1017,15 +1011,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];
@@ -1045,18 +1039,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];
@@ -1072,12 +1066,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 b59894baf090..698eae80c47a 100644
--- a/libgfortran/generated/matmulavx128_i1.c
+++ b/libgfortran/generated/matmulavx128_i1.c
@@ -280,15 +280,12 @@ matmul_i1_avx128_fma3 (gfc_array_i1 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_INTEGER_1) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_INTEGER_1) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_INTEGER_1) + bystride_bytes);
/* 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 */
@@ -310,35 +307,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];
@@ -359,8 +356,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];
@@ -368,11 +365,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];
@@ -390,8 +387,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];
@@ -445,15 +442,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];
@@ -473,18 +470,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];
@@ -500,12 +497,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];
@@ -852,15 +849,12 @@ matmul_i1_avx128_fma4 (gfc_array_i1 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_INTEGER_1) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_INTEGER_1) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_INTEGER_1) + bystride_bytes);
/* 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 */
@@ -882,35 +876,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];
@@ -931,8 +925,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];
@@ -940,11 +934,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];
@@ -962,8 +956,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];
@@ -1017,15 +1011,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];
@@ -1045,18 +1039,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];
@@ -1072,12 +1066,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 a580a348f2c2..a939c0f3df43 100644
--- a/libgfortran/generated/matmulavx128_i16.c
+++ b/libgfortran/generated/matmulavx128_i16.c
@@ -280,15 +280,12 @@ matmul_i16_avx128_fma3 (gfc_array_i16 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_INTEGER_16) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_INTEGER_16) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_INTEGER_16) + bystride_bytes);
/* 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 */
@@ -310,35 +307,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];
@@ -359,8 +356,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];
@@ -368,11 +365,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];
@@ -390,8 +387,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];
@@ -445,15 +442,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];
@@ -473,18 +470,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];
@@ -500,12 +497,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];
@@ -852,15 +849,12 @@ matmul_i16_avx128_fma4 (gfc_array_i16 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_INTEGER_16) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_INTEGER_16) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_INTEGER_16) + bystride_bytes);
/* 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 */
@@ -882,35 +876,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];
@@ -931,8 +925,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];
@@ -940,11 +934,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];
@@ -962,8 +956,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];
@@ -1017,15 +1011,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];
@@ -1045,18 +1039,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];
@@ -1072,12 +1066,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 ff002dadc31c..33713ccd1b96 100644
--- a/libgfortran/generated/matmulavx128_i2.c
+++ b/libgfortran/generated/matmulavx128_i2.c
@@ -280,15 +280,12 @@ matmul_i2_avx128_fma3 (gfc_array_i2 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_INTEGER_2) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_INTEGER_2) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_INTEGER_2) + bystride_bytes);
/* 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 */
@@ -310,35 +307,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];
@@ -359,8 +356,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];
@@ -368,11 +365,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];
@@ -390,8 +387,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];
@@ -445,15 +442,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];
@@ -473,18 +470,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];
@@ -500,12 +497,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];
@@ -852,15 +849,12 @@ matmul_i2_avx128_fma4 (gfc_array_i2 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_INTEGER_2) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_INTEGER_2) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_INTEGER_2) + bystride_bytes);
/* 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 */
@@ -882,35 +876,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];
@@ -931,8 +925,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];
@@ -940,11 +934,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];
@@ -962,8 +956,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];
@@ -1017,15 +1011,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];
@@ -1045,18 +1039,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];
@@ -1072,12 +1066,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 9a9acd404bf4..f22a3af95260 100644
--- a/libgfortran/generated/matmulavx128_i4.c
+++ b/libgfortran/generated/matmulavx128_i4.c
@@ -280,15 +280,12 @@ matmul_i4_avx128_fma3 (gfc_array_i4 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_INTEGER_4) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_INTEGER_4) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_INTEGER_4) + bystride_bytes);
/* 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 */
@@ -310,35 +307,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];
@@ -359,8 +356,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];
@@ -368,11 +365,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];
@@ -390,8 +387,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];
@@ -445,15 +442,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];
@@ -473,18 +470,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];
@@ -500,12 +497,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];
@@ -852,15 +849,12 @@ matmul_i4_avx128_fma4 (gfc_array_i4 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_INTEGER_4) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_INTEGER_4) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_INTEGER_4) + bystride_bytes);
/* 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 */
@@ -882,35 +876,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];
@@ -931,8 +925,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];
@@ -940,11 +934,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];
@@ -962,8 +956,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];
@@ -1017,15 +1011,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];
@@ -1045,18 +1039,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];
@@ -1072,12 +1066,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 2d442f8d6b31..1dbe357b0e61 100644
--- a/libgfortran/generated/matmulavx128_i8.c
+++ b/libgfortran/generated/matmulavx128_i8.c
@@ -280,15 +280,12 @@ matmul_i8_avx128_fma3 (gfc_array_i8 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_INTEGER_8) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_INTEGER_8) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_INTEGER_8) + bystride_bytes);
/* 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 */
@@ -310,35 +307,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];
@@ -359,8 +356,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];
@@ -368,11 +365,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];
@@ -390,8 +387,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];
@@ -445,15 +442,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];
@@ -473,18 +470,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];
@@ -500,12 +497,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];
@@ -852,15 +849,12 @@ matmul_i8_avx128_fma4 (gfc_array_i8 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_INTEGER_8) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_INTEGER_8) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_INTEGER_8) + bystride_bytes);
/* 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 */
@@ -882,35 +876,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];
@@ -931,8 +925,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];
@@ -940,11 +934,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];
@@ -962,8 +956,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];
@@ -1017,15 +1011,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];
@@ -1045,18 +1039,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];
@@ -1072,12 +1066,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 3a345decbced..f9df20ad7423 100644
--- a/libgfortran/generated/matmulavx128_r10.c
+++ b/libgfortran/generated/matmulavx128_r10.c
@@ -280,15 +280,12 @@ matmul_r10_avx128_fma3 (gfc_array_r10 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_REAL_10) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_REAL_10) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_REAL_10) + bystride_bytes);
/* 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 */
@@ -310,35 +307,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];
@@ -359,8 +356,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];
@@ -368,11 +365,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];
@@ -390,8 +387,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];
@@ -445,15 +442,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];
@@ -473,18 +470,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];
@@ -500,12 +497,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];
@@ -852,15 +849,12 @@ matmul_r10_avx128_fma4 (gfc_array_r10 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_REAL_10) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_REAL_10) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_REAL_10) + bystride_bytes);
/* 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 */
@@ -882,35 +876,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];
@@ -931,8 +925,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];
@@ -940,11 +934,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];
@@ -962,8 +956,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];
@@ -1017,15 +1011,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];
@@ -1045,18 +1039,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];
@@ -1072,12 +1066,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 8e92f7380188..57ad194f6561 100644
--- a/libgfortran/generated/matmulavx128_r16.c
+++ b/libgfortran/generated/matmulavx128_r16.c
@@ -280,15 +280,12 @@ matmul_r16_avx128_fma3 (gfc_array_r16 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_REAL_16) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_REAL_16) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_REAL_16) + bystride_bytes);
/* 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 */
@@ -310,35 +307,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];
@@ -359,8 +356,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];
@@ -368,11 +365,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];
@@ -390,8 +387,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];
@@ -445,15 +442,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];
@@ -473,18 +470,18 @@ matmul_r16_avx128_fma3 (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];
@@ -500,12 +497,12 @@ matmul_r16_avx128_fma3 (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];
@@ -852,15 +849,12 @@ matmul_r16_avx128_fma4 (gfc_array_r16 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_REAL_16) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_REAL_16) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_REAL_16) + bystride_bytes);
/* 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 */
@@ -882,35 +876,35 @@ matmul_r16_avx128_fma4 (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];
@@ -931,8 +925,8 @@ matmul_r16_avx128_fma4 (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];
@@ -940,11 +934,11 @@ matmul_r16_avx128_fma4 (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];
@@ -962,8 +956,8 @@ matmul_r16_avx128_fma4 (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];
@@ -1017,15 +1011,15 @@ matmul_r16_avx128_fma4 (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];
@@ -1045,18 +1039,18 @@ matmul_r16_avx128_fma4 (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];
@@ -1072,12 +1066,12 @@ matmul_r16_avx128_fma4 (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/matmulavx128_r17.c b/libgfortran/generated/matmulavx128_r17.c
index aafb24ad872a..32477ff1e127 100644
--- a/libgfortran/generated/matmulavx128_r17.c
+++ b/libgfortran/generated/matmulavx128_r17.c
@@ -280,15 +280,12 @@ matmul_r17_avx128_fma3 (gfc_array_r17 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_REAL_17) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_REAL_17) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_REAL_17) + bystride_bytes);
/* 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 */
@@ -310,35 +307,35 @@ matmul_r17_avx128_fma3 (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];
@@ -359,8 +356,8 @@ matmul_r17_avx128_fma3 (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];
@@ -368,11 +365,11 @@ matmul_r17_avx128_fma3 (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];
@@ -390,8 +387,8 @@ matmul_r17_avx128_fma3 (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];
@@ -445,15 +442,15 @@ matmul_r17_avx128_fma3 (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];
@@ -473,18 +470,18 @@ matmul_r17_avx128_fma3 (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];
@@ -500,12 +497,12 @@ matmul_r17_avx128_fma3 (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];
@@ -852,15 +849,12 @@ matmul_r17_avx128_fma4 (gfc_array_r17 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_REAL_17) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_REAL_17) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_REAL_17) + bystride_bytes);
/* 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 */
@@ -882,35 +876,35 @@ matmul_r17_avx128_fma4 (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];
@@ -931,8 +925,8 @@ matmul_r17_avx128_fma4 (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];
@@ -940,11 +934,11 @@ matmul_r17_avx128_fma4 (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];
@@ -962,8 +956,8 @@ matmul_r17_avx128_fma4 (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];
@@ -1017,15 +1011,15 @@ matmul_r17_avx128_fma4 (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];
@@ -1045,18 +1039,18 @@ matmul_r17_avx128_fma4 (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];
@@ -1072,12 +1066,12 @@ matmul_r17_avx128_fma4 (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/matmulavx128_r4.c b/libgfortran/generated/matmulavx128_r4.c
index 528c99bedaba..c56a7f5ffbfb 100644
--- a/libgfortran/generated/matmulavx128_r4.c
+++ b/libgfortran/generated/matmulavx128_r4.c
@@ -280,15 +280,12 @@ matmul_r4_avx128_fma3 (gfc_array_r4 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_REAL_4) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_REAL_4) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_REAL_4) + bystride_bytes);
/* 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 */
@@ -310,35 +307,35 @@ matmul_r4_avx128_fma3 (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];
@@ -359,8 +356,8 @@ matmul_r4_avx128_fma3 (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];
@@ -368,11 +365,11 @@ matmul_r4_avx128_fma3 (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];
@@ -390,8 +387,8 @@ matmul_r4_avx128_fma3 (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];
@@ -445,15 +442,15 @@ matmul_r4_avx128_fma3 (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];
@@ -473,18 +470,18 @@ matmul_r4_avx128_fma3 (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];
@@ -500,12 +497,12 @@ matmul_r4_avx128_fma3 (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];
@@ -852,15 +849,12 @@ matmul_r4_avx128_fma4 (gfc_array_r4 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_REAL_4) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_REAL_4) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_REAL_4) + bystride_bytes);
/* 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 */
@@ -882,35 +876,35 @@ matmul_r4_avx128_fma4 (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];
@@ -931,8 +925,8 @@ matmul_r4_avx128_fma4 (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];
@@ -940,11 +934,11 @@ matmul_r4_avx128_fma4 (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];
@@ -962,8 +956,8 @@ matmul_r4_avx128_fma4 (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];
@@ -1017,15 +1011,15 @@ matmul_r4_avx128_fma4 (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];
@@ -1045,18 +1039,18 @@ matmul_r4_avx128_fma4 (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];
@@ -1072,12 +1066,12 @@ matmul_r4_avx128_fma4 (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/matmulavx128_r8.c b/libgfortran/generated/matmulavx128_r8.c
index 9b514e670f4b..44f28015abe5 100644
--- a/libgfortran/generated/matmulavx128_r8.c
+++ b/libgfortran/generated/matmulavx128_r8.c
@@ -280,15 +280,12 @@ matmul_r8_avx128_fma3 (gfc_array_r8 * const restrict retarray,
/* Parameter adjustments */
c_dim1 = rystride;
- PTR_DECREMENT_BYTES (c, sizeof(GFC_REAL_8) + rystride_bytes);
a_dim1 = aystride;
- PTR_DECREMENT_BYTES (a, sizeof(GFC_REAL_8) + aystride_bytes);
b_dim1 = bystride;
- PTR_DECREMENT_BYTES (b, sizeof(GFC_REAL_8) + bystride_bytes);
/* 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 */
@@ -310,35 +307,35 @@ matmul_r8_avx128_fma3 (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; [...]
[diff truncated at 524288 bytes]
More information about the Gcc-cvs
mailing list