aboutsummaryrefslogtreecommitdiff
path: root/libgfortran
diff options
context:
space:
mode:
authortkoenig <tkoenig@138bc75d-0d04-0410-961f-82ee72b054a4>2018-04-06 18:49:21 +0000
committertkoenig <tkoenig@138bc75d-0d04-0410-961f-82ee72b054a4>2018-04-06 18:49:21 +0000
commitecb41bca240c22d2a121f108a20dbde16d568707 (patch)
tree5c44e4e08680bd096148fbd065459432464247b9 /libgfortran
parent45d75c9d63c6a50666fa2c6f12406e39520da121 (diff)
2018-04-06 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/85253 * m4/matmul_internal.m4: If ycount == 1, add one more row to the internal buffer. * generated/matmul_c10.c: Regenerated. * generated/matmul_c16.c: Regenerated. * generated/matmul_c4.c: Regenerated. * generated/matmul_c8.c: Regenerated. * generated/matmul_i1.c: Regenerated. * generated/matmul_i16.c: Regenerated. * generated/matmul_i2.c: Regenerated. * generated/matmul_i4.c: Regenerated. * generated/matmul_i8.c: Regenerated. * generated/matmul_r10.c: Regenerated. * generated/matmul_r16.c: Regenerated. * generated/matmul_r4.c: Regenerated. * generated/matmul_r8.c: Regenerated. * generated/matmulavx128_c10.c: Regenerated. * generated/matmulavx128_c16.c: Regenerated. * generated/matmulavx128_c4.c: Regenerated. * generated/matmulavx128_c8.c: Regenerated. * generated/matmulavx128_i1.c: Regenerated. * generated/matmulavx128_i16.c: Regenerated. * generated/matmulavx128_i2.c: Regenerated. * generated/matmulavx128_i4.c: Regenerated. * generated/matmulavx128_i8.c: Regenerated. * generated/matmulavx128_r10.c: Regenerated. * generated/matmulavx128_r16.c: Regenerated. * generated/matmulavx128_r4.c: Regenerated. * generated/matmulavx128_r8.c: Regenerated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@259188 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgfortran')
-rw-r--r--libgfortran/ChangeLog32
-rw-r--r--libgfortran/generated/matmul_c10.c10
-rw-r--r--libgfortran/generated/matmul_c16.c10
-rw-r--r--libgfortran/generated/matmul_c4.c10
-rw-r--r--libgfortran/generated/matmul_c8.c10
-rw-r--r--libgfortran/generated/matmul_i1.c10
-rw-r--r--libgfortran/generated/matmul_i16.c10
-rw-r--r--libgfortran/generated/matmul_i2.c10
-rw-r--r--libgfortran/generated/matmul_i4.c10
-rw-r--r--libgfortran/generated/matmul_i8.c10
-rw-r--r--libgfortran/generated/matmul_r10.c10
-rw-r--r--libgfortran/generated/matmul_r16.c10
-rw-r--r--libgfortran/generated/matmul_r4.c10
-rw-r--r--libgfortran/generated/matmul_r8.c10
-rw-r--r--libgfortran/generated/matmulavx128_c10.c4
-rw-r--r--libgfortran/generated/matmulavx128_c16.c4
-rw-r--r--libgfortran/generated/matmulavx128_c4.c4
-rw-r--r--libgfortran/generated/matmulavx128_c8.c4
-rw-r--r--libgfortran/generated/matmulavx128_i1.c4
-rw-r--r--libgfortran/generated/matmulavx128_i16.c4
-rw-r--r--libgfortran/generated/matmulavx128_i2.c4
-rw-r--r--libgfortran/generated/matmulavx128_i4.c4
-rw-r--r--libgfortran/generated/matmulavx128_i8.c4
-rw-r--r--libgfortran/generated/matmulavx128_r10.c4
-rw-r--r--libgfortran/generated/matmulavx128_r16.c4
-rw-r--r--libgfortran/generated/matmulavx128_r4.c4
-rw-r--r--libgfortran/generated/matmulavx128_r8.c4
-rw-r--r--libgfortran/m4/matmul_internal.m42
28 files changed, 124 insertions, 92 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index 367c554275c..c7b334668a3 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -1,3 +1,35 @@
+2018-04-06 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR libfortran/85253
+ * m4/matmul_internal.m4: If ycount == 1, add one more row to
+ the internal buffer.
+ * generated/matmul_c10.c: Regenerated.
+ * generated/matmul_c16.c: Regenerated.
+ * generated/matmul_c4.c: Regenerated.
+ * generated/matmul_c8.c: Regenerated.
+ * generated/matmul_i1.c: Regenerated.
+ * generated/matmul_i16.c: Regenerated.
+ * generated/matmul_i2.c: Regenerated.
+ * generated/matmul_i4.c: Regenerated.
+ * generated/matmul_i8.c: Regenerated.
+ * generated/matmul_r10.c: Regenerated.
+ * generated/matmul_r16.c: Regenerated.
+ * generated/matmul_r4.c: Regenerated.
+ * generated/matmul_r8.c: Regenerated.
+ * generated/matmulavx128_c10.c: Regenerated.
+ * generated/matmulavx128_c16.c: Regenerated.
+ * generated/matmulavx128_c4.c: Regenerated.
+ * generated/matmulavx128_c8.c: Regenerated.
+ * generated/matmulavx128_i1.c: Regenerated.
+ * generated/matmulavx128_i16.c: Regenerated.
+ * generated/matmulavx128_i2.c: Regenerated.
+ * generated/matmulavx128_i4.c: Regenerated.
+ * generated/matmulavx128_i8.c: Regenerated.
+ * generated/matmulavx128_r10.c: Regenerated.
+ * generated/matmulavx128_r16.c: Regenerated.
+ * generated/matmulavx128_r4.c: Regenerated.
+ * generated/matmulavx128_r8.c: Regenerated.
+
2018-04-04 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/85166
diff --git a/libgfortran/generated/matmul_c10.c b/libgfortran/generated/matmul_c10.c
index c43501c0534..7cd8a6d2a0d 100644
--- a/libgfortran/generated/matmul_c10.c
+++ b/libgfortran/generated/matmul_c10.c
@@ -318,7 +318,7 @@ matmul_c10_avx (gfc_array_c10 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -870,7 +870,7 @@ matmul_c10_avx2 (gfc_array_c10 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -1422,7 +1422,7 @@ matmul_c10_avx512f (gfc_array_c10 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -1988,7 +1988,7 @@ matmul_c10_vanilla (gfc_array_c10 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -2614,7 +2614,7 @@ matmul_c10 (gfc_array_c10 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
diff --git a/libgfortran/generated/matmul_c16.c b/libgfortran/generated/matmul_c16.c
index c02e74b3566..d93099ea71e 100644
--- a/libgfortran/generated/matmul_c16.c
+++ b/libgfortran/generated/matmul_c16.c
@@ -318,7 +318,7 @@ matmul_c16_avx (gfc_array_c16 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -870,7 +870,7 @@ matmul_c16_avx2 (gfc_array_c16 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -1422,7 +1422,7 @@ matmul_c16_avx512f (gfc_array_c16 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -1988,7 +1988,7 @@ matmul_c16_vanilla (gfc_array_c16 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -2614,7 +2614,7 @@ matmul_c16 (gfc_array_c16 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
diff --git a/libgfortran/generated/matmul_c4.c b/libgfortran/generated/matmul_c4.c
index d16f676c434..eeef3699dcd 100644
--- a/libgfortran/generated/matmul_c4.c
+++ b/libgfortran/generated/matmul_c4.c
@@ -318,7 +318,7 @@ matmul_c4_avx (gfc_array_c4 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -870,7 +870,7 @@ matmul_c4_avx2 (gfc_array_c4 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -1422,7 +1422,7 @@ matmul_c4_avx512f (gfc_array_c4 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -1988,7 +1988,7 @@ matmul_c4_vanilla (gfc_array_c4 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -2614,7 +2614,7 @@ matmul_c4 (gfc_array_c4 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
diff --git a/libgfortran/generated/matmul_c8.c b/libgfortran/generated/matmul_c8.c
index 17eb31cac27..7a73f671938 100644
--- a/libgfortran/generated/matmul_c8.c
+++ b/libgfortran/generated/matmul_c8.c
@@ -318,7 +318,7 @@ matmul_c8_avx (gfc_array_c8 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -870,7 +870,7 @@ matmul_c8_avx2 (gfc_array_c8 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -1422,7 +1422,7 @@ matmul_c8_avx512f (gfc_array_c8 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -1988,7 +1988,7 @@ matmul_c8_vanilla (gfc_array_c8 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -2614,7 +2614,7 @@ matmul_c8 (gfc_array_c8 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
diff --git a/libgfortran/generated/matmul_i1.c b/libgfortran/generated/matmul_i1.c
index 1c945bff608..f3559163bee 100644
--- a/libgfortran/generated/matmul_i1.c
+++ b/libgfortran/generated/matmul_i1.c
@@ -318,7 +318,7 @@ matmul_i1_avx (gfc_array_i1 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -870,7 +870,7 @@ matmul_i1_avx2 (gfc_array_i1 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -1422,7 +1422,7 @@ matmul_i1_avx512f (gfc_array_i1 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -1988,7 +1988,7 @@ matmul_i1_vanilla (gfc_array_i1 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -2614,7 +2614,7 @@ matmul_i1 (gfc_array_i1 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
diff --git a/libgfortran/generated/matmul_i16.c b/libgfortran/generated/matmul_i16.c
index 5492fc4732d..c8a08eb8e60 100644
--- a/libgfortran/generated/matmul_i16.c
+++ b/libgfortran/generated/matmul_i16.c
@@ -318,7 +318,7 @@ matmul_i16_avx (gfc_array_i16 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -870,7 +870,7 @@ matmul_i16_avx2 (gfc_array_i16 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -1422,7 +1422,7 @@ matmul_i16_avx512f (gfc_array_i16 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -1988,7 +1988,7 @@ matmul_i16_vanilla (gfc_array_i16 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -2614,7 +2614,7 @@ matmul_i16 (gfc_array_i16 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
diff --git a/libgfortran/generated/matmul_i2.c b/libgfortran/generated/matmul_i2.c
index d292cb093fd..ae8a45978b0 100644
--- a/libgfortran/generated/matmul_i2.c
+++ b/libgfortran/generated/matmul_i2.c
@@ -318,7 +318,7 @@ matmul_i2_avx (gfc_array_i2 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -870,7 +870,7 @@ matmul_i2_avx2 (gfc_array_i2 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -1422,7 +1422,7 @@ matmul_i2_avx512f (gfc_array_i2 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -1988,7 +1988,7 @@ matmul_i2_vanilla (gfc_array_i2 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -2614,7 +2614,7 @@ matmul_i2 (gfc_array_i2 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
diff --git a/libgfortran/generated/matmul_i4.c b/libgfortran/generated/matmul_i4.c
index 7409c3fb116..9a3822b754a 100644
--- a/libgfortran/generated/matmul_i4.c
+++ b/libgfortran/generated/matmul_i4.c
@@ -318,7 +318,7 @@ matmul_i4_avx (gfc_array_i4 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -870,7 +870,7 @@ matmul_i4_avx2 (gfc_array_i4 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -1422,7 +1422,7 @@ matmul_i4_avx512f (gfc_array_i4 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -1988,7 +1988,7 @@ matmul_i4_vanilla (gfc_array_i4 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -2614,7 +2614,7 @@ matmul_i4 (gfc_array_i4 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
diff --git a/libgfortran/generated/matmul_i8.c b/libgfortran/generated/matmul_i8.c
index 995357cd40a..88bfd62923f 100644
--- a/libgfortran/generated/matmul_i8.c
+++ b/libgfortran/generated/matmul_i8.c
@@ -318,7 +318,7 @@ matmul_i8_avx (gfc_array_i8 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -870,7 +870,7 @@ matmul_i8_avx2 (gfc_array_i8 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -1422,7 +1422,7 @@ matmul_i8_avx512f (gfc_array_i8 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -1988,7 +1988,7 @@ matmul_i8_vanilla (gfc_array_i8 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -2614,7 +2614,7 @@ matmul_i8 (gfc_array_i8 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
diff --git a/libgfortran/generated/matmul_r10.c b/libgfortran/generated/matmul_r10.c
index c4545e43479..d4f13114734 100644
--- a/libgfortran/generated/matmul_r10.c
+++ b/libgfortran/generated/matmul_r10.c
@@ -318,7 +318,7 @@ matmul_r10_avx (gfc_array_r10 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -870,7 +870,7 @@ matmul_r10_avx2 (gfc_array_r10 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -1422,7 +1422,7 @@ matmul_r10_avx512f (gfc_array_r10 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -1988,7 +1988,7 @@ matmul_r10_vanilla (gfc_array_r10 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -2614,7 +2614,7 @@ matmul_r10 (gfc_array_r10 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
diff --git a/libgfortran/generated/matmul_r16.c b/libgfortran/generated/matmul_r16.c
index f6289e22f19..f56d1c3066d 100644
--- a/libgfortran/generated/matmul_r16.c
+++ b/libgfortran/generated/matmul_r16.c
@@ -318,7 +318,7 @@ matmul_r16_avx (gfc_array_r16 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -870,7 +870,7 @@ matmul_r16_avx2 (gfc_array_r16 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -1422,7 +1422,7 @@ matmul_r16_avx512f (gfc_array_r16 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -1988,7 +1988,7 @@ matmul_r16_vanilla (gfc_array_r16 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -2614,7 +2614,7 @@ matmul_r16 (gfc_array_r16 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
diff --git a/libgfortran/generated/matmul_r4.c b/libgfortran/generated/matmul_r4.c
index 2e7520a2104..a5677b96969 100644
--- a/libgfortran/generated/matmul_r4.c
+++ b/libgfortran/generated/matmul_r4.c
@@ -318,7 +318,7 @@ matmul_r4_avx (gfc_array_r4 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -870,7 +870,7 @@ matmul_r4_avx2 (gfc_array_r4 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -1422,7 +1422,7 @@ matmul_r4_avx512f (gfc_array_r4 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -1988,7 +1988,7 @@ matmul_r4_vanilla (gfc_array_r4 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -2614,7 +2614,7 @@ matmul_r4 (gfc_array_r4 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
diff --git a/libgfortran/generated/matmul_r8.c b/libgfortran/generated/matmul_r8.c
index b851916243a..d9acdd9d92f 100644
--- a/libgfortran/generated/matmul_r8.c
+++ b/libgfortran/generated/matmul_r8.c
@@ -318,7 +318,7 @@ matmul_r8_avx (gfc_array_r8 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -870,7 +870,7 @@ matmul_r8_avx2 (gfc_array_r8 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -1422,7 +1422,7 @@ matmul_r8_avx512f (gfc_array_r8 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -1988,7 +1988,7 @@ matmul_r8_vanilla (gfc_array_r8 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -2614,7 +2614,7 @@ matmul_r8 (gfc_array_r8 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
diff --git a/libgfortran/generated/matmulavx128_c10.c b/libgfortran/generated/matmulavx128_c10.c
index d67a24a2d10..69ad45b334c 100644
--- a/libgfortran/generated/matmulavx128_c10.c
+++ b/libgfortran/generated/matmulavx128_c10.c
@@ -283,7 +283,7 @@ matmul_c10_avx128_fma3 (gfc_array_c10 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -836,7 +836,7 @@ matmul_c10_avx128_fma4 (gfc_array_c10 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
diff --git a/libgfortran/generated/matmulavx128_c16.c b/libgfortran/generated/matmulavx128_c16.c
index 74e79dc7040..0bf8ba3f599 100644
--- a/libgfortran/generated/matmulavx128_c16.c
+++ b/libgfortran/generated/matmulavx128_c16.c
@@ -283,7 +283,7 @@ matmul_c16_avx128_fma3 (gfc_array_c16 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -836,7 +836,7 @@ matmul_c16_avx128_fma4 (gfc_array_c16 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
diff --git a/libgfortran/generated/matmulavx128_c4.c b/libgfortran/generated/matmulavx128_c4.c
index 4a81b83e48f..0763d5d1707 100644
--- a/libgfortran/generated/matmulavx128_c4.c
+++ b/libgfortran/generated/matmulavx128_c4.c
@@ -283,7 +283,7 @@ matmul_c4_avx128_fma3 (gfc_array_c4 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -836,7 +836,7 @@ matmul_c4_avx128_fma4 (gfc_array_c4 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
diff --git a/libgfortran/generated/matmulavx128_c8.c b/libgfortran/generated/matmulavx128_c8.c
index f92d62a20b3..d440784c285 100644
--- a/libgfortran/generated/matmulavx128_c8.c
+++ b/libgfortran/generated/matmulavx128_c8.c
@@ -283,7 +283,7 @@ matmul_c8_avx128_fma3 (gfc_array_c8 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -836,7 +836,7 @@ matmul_c8_avx128_fma4 (gfc_array_c8 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
diff --git a/libgfortran/generated/matmulavx128_i1.c b/libgfortran/generated/matmulavx128_i1.c
index 8a3195f9a16..efa34614544 100644
--- a/libgfortran/generated/matmulavx128_i1.c
+++ b/libgfortran/generated/matmulavx128_i1.c
@@ -283,7 +283,7 @@ matmul_i1_avx128_fma3 (gfc_array_i1 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -836,7 +836,7 @@ matmul_i1_avx128_fma4 (gfc_array_i1 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
diff --git a/libgfortran/generated/matmulavx128_i16.c b/libgfortran/generated/matmulavx128_i16.c
index 0c27bf8d25d..3c0e6064efe 100644
--- a/libgfortran/generated/matmulavx128_i16.c
+++ b/libgfortran/generated/matmulavx128_i16.c
@@ -283,7 +283,7 @@ matmul_i16_avx128_fma3 (gfc_array_i16 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -836,7 +836,7 @@ matmul_i16_avx128_fma4 (gfc_array_i16 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
diff --git a/libgfortran/generated/matmulavx128_i2.c b/libgfortran/generated/matmulavx128_i2.c
index c780ce82cf6..1da7f25189f 100644
--- a/libgfortran/generated/matmulavx128_i2.c
+++ b/libgfortran/generated/matmulavx128_i2.c
@@ -283,7 +283,7 @@ matmul_i2_avx128_fma3 (gfc_array_i2 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -836,7 +836,7 @@ matmul_i2_avx128_fma4 (gfc_array_i2 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
diff --git a/libgfortran/generated/matmulavx128_i4.c b/libgfortran/generated/matmulavx128_i4.c
index bc69426650f..ca7de54b9b8 100644
--- a/libgfortran/generated/matmulavx128_i4.c
+++ b/libgfortran/generated/matmulavx128_i4.c
@@ -283,7 +283,7 @@ matmul_i4_avx128_fma3 (gfc_array_i4 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -836,7 +836,7 @@ matmul_i4_avx128_fma4 (gfc_array_i4 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
diff --git a/libgfortran/generated/matmulavx128_i8.c b/libgfortran/generated/matmulavx128_i8.c
index c13f93873cb..731e55d2f63 100644
--- a/libgfortran/generated/matmulavx128_i8.c
+++ b/libgfortran/generated/matmulavx128_i8.c
@@ -283,7 +283,7 @@ matmul_i8_avx128_fma3 (gfc_array_i8 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -836,7 +836,7 @@ matmul_i8_avx128_fma4 (gfc_array_i8 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
diff --git a/libgfortran/generated/matmulavx128_r10.c b/libgfortran/generated/matmulavx128_r10.c
index 178b891e2ff..190e41cbb71 100644
--- a/libgfortran/generated/matmulavx128_r10.c
+++ b/libgfortran/generated/matmulavx128_r10.c
@@ -283,7 +283,7 @@ matmul_r10_avx128_fma3 (gfc_array_r10 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -836,7 +836,7 @@ matmul_r10_avx128_fma4 (gfc_array_r10 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
diff --git a/libgfortran/generated/matmulavx128_r16.c b/libgfortran/generated/matmulavx128_r16.c
index 4db465597b4..2994ed311fe 100644
--- a/libgfortran/generated/matmulavx128_r16.c
+++ b/libgfortran/generated/matmulavx128_r16.c
@@ -283,7 +283,7 @@ matmul_r16_avx128_fma3 (gfc_array_r16 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -836,7 +836,7 @@ matmul_r16_avx128_fma4 (gfc_array_r16 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
diff --git a/libgfortran/generated/matmulavx128_r4.c b/libgfortran/generated/matmulavx128_r4.c
index d4338fa29e3..4f18b5006d8 100644
--- a/libgfortran/generated/matmulavx128_r4.c
+++ b/libgfortran/generated/matmulavx128_r4.c
@@ -283,7 +283,7 @@ matmul_r4_avx128_fma3 (gfc_array_r4 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -836,7 +836,7 @@ matmul_r4_avx128_fma4 (gfc_array_r4 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
diff --git a/libgfortran/generated/matmulavx128_r8.c b/libgfortran/generated/matmulavx128_r8.c
index 62877cd42d9..443d7426f4f 100644
--- a/libgfortran/generated/matmulavx128_r8.c
+++ b/libgfortran/generated/matmulavx128_r8.c
@@ -283,7 +283,7 @@ matmul_r8_avx128_fma3 (gfc_array_r8 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
@@ -836,7 +836,7 @@ matmul_r8_avx128_fma4 (gfc_array_r8 * const restrict retarray,
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;
diff --git a/libgfortran/m4/matmul_internal.m4 b/libgfortran/m4/matmul_internal.m4
index e20f9224b61..6860f606122 100644
--- a/libgfortran/m4/matmul_internal.m4
+++ b/libgfortran/m4/matmul_internal.m4
@@ -234,7 +234,7 @@ sinclude(`matmul_asm_'rtype_code`.m4')dnl
/* Adjust size of t1 to what is needed. */
index_type t1_dim;
- t1_dim = (a_dim1-1) * 256 + b_dim1;
+ t1_dim = (a_dim1 - (ycount > 1)) * 256 + b_dim1;
if (t1_dim > 65536)
t1_dim = 65536;