re PR libfortran/85253 (asan detects heap-buffer-overflow in matmul_r4.c)
authorThomas Koenig <tkoenig@gcc.gnu.org>
Fri, 6 Apr 2018 18:49:21 +0000 (18:49 +0000)
committerThomas Koenig <tkoenig@gcc.gnu.org>
Fri, 6 Apr 2018 18:49:21 +0000 (18:49 +0000)
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.

From-SVN: r259188

28 files changed:
libgfortran/ChangeLog
libgfortran/generated/matmul_c10.c
libgfortran/generated/matmul_c16.c
libgfortran/generated/matmul_c4.c
libgfortran/generated/matmul_c8.c
libgfortran/generated/matmul_i1.c
libgfortran/generated/matmul_i16.c
libgfortran/generated/matmul_i2.c
libgfortran/generated/matmul_i4.c
libgfortran/generated/matmul_i8.c
libgfortran/generated/matmul_r10.c
libgfortran/generated/matmul_r16.c
libgfortran/generated/matmul_r4.c
libgfortran/generated/matmul_r8.c
libgfortran/generated/matmulavx128_c10.c
libgfortran/generated/matmulavx128_c16.c
libgfortran/generated/matmulavx128_c4.c
libgfortran/generated/matmulavx128_c8.c
libgfortran/generated/matmulavx128_i1.c
libgfortran/generated/matmulavx128_i16.c
libgfortran/generated/matmulavx128_i2.c
libgfortran/generated/matmulavx128_i4.c
libgfortran/generated/matmulavx128_i8.c
libgfortran/generated/matmulavx128_r10.c
libgfortran/generated/matmulavx128_r16.c
libgfortran/generated/matmulavx128_r4.c
libgfortran/generated/matmulavx128_r8.c
libgfortran/m4/matmul_internal.m4

index 367c554275ced89b2c1b4b4321737669db218374..c7b334668a328329ccfe8eea9e9a47d3436591f9 100644 (file)
@@ -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
index c43501c0534c4b094991a993b37413ed0ffe5bab..7cd8a6d2a0dcf5b3ec4efbf98f7eca3ca1119347 100644 (file)
@@ -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;
 
index c02e74b35666521cb699e5ef0d9ee02c7b4da3eb..d93099ea71e48afc8c0cf8762131c8f0bb31566e 100644 (file)
@@ -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;
 
index d16f676c434dd1421bdc5cb7c5cafbabea9e7f99..eeef3699dcd894166f3ec153b5ff999d32f5b387 100644 (file)
@@ -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;
 
index 17eb31cac27797b33811f3550ffe4fd9b32fe81f..7a73f67193866a32f0dcf2728369f93253a36365 100644 (file)
@@ -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;
 
index 1c945bff608cce1c02038dc6d5e2837930f810b9..f3559163bee4edf51310f16476f5a071a5ebbd73 100644 (file)
@@ -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;
 
index 5492fc4732d1926ce02b4e6e80eb295ed8a2215f..c8a08eb8e6024b7287e215682ee6dd10cbc9f05b 100644 (file)
@@ -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;
 
index d292cb093fd7b028bd73a0aa5e38a2d2ace044c9..ae8a45978b0d91db7f5516db0fb80b366498e203 100644 (file)
@@ -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;
 
index 7409c3fb1161f93ec5dac2f3b26b63ab6bc67833..9a3822b754a31f07b20d721621a0f3b0e744e002 100644 (file)
@@ -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;
 
index 995357cd40a4483a92538edd21bf91b4a91e71ae..88bfd62923fa1417b43ce456c925d21f50aeb2f0 100644 (file)
@@ -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;
 
index c4545e43479d25b24b56a750beae17cd31987c89..d4f13114734fca3e288b9c375409c4d3cb228b96 100644 (file)
@@ -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;
 
index f6289e22f1964bb380055df08c43c78b0394413f..f56d1c3066dd796c6fedc334a1034688133c6c71 100644 (file)
@@ -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;
 
index 2e7520a21049bee71aec4806792246497ff551d6..a5677b96969ff298f2be3cb6151feba0be184b7b 100644 (file)
@@ -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;
 
index b851916243a4fc7dbaa11378350175f244a6090a..d9acdd9d92f9a83aaa55ef20aaf9b1322a184e88 100644 (file)
@@ -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;
 
index d67a24a2d10fa93a55ca8bcdc7abe4e1983a7de9..69ad45b334cc95a822d5716996a9808f0af9e16d 100644 (file)
@@ -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;
 
index 74e79dc7040766acc4429da4d4ee7ccc96a0f1ed..0bf8ba3f59912e92023ff9725bf6ecbc13dce38c 100644 (file)
@@ -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;
 
index 4a81b83e48f7baa62d05691b936971b9684b0ac7..0763d5d1707a4bc6b7ec9841bc443101b69d119a 100644 (file)
@@ -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;
 
index f92d62a20b3972ce19f8270fbde19de4cd2f8fc8..d440784c285c24bea81cfbb4b917b15346671fb5 100644 (file)
@@ -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;
 
index 8a3195f9a160dbe93847ee7c11c63ccb2b77957b..efa346145446347add7bce375b2e13e61c936edb 100644 (file)
@@ -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;
 
index 0c27bf8d25d623c63e322b20bfa26c93e3b88958..3c0e6064efe41255df6bd8e52a88e4d65dad40ca 100644 (file)
@@ -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;
 
index c780ce82cf649a7ba40ab4e96eb6c7e3ed248c3b..1da7f25189f07e3399da7e15a2ec4b5631c12b24 100644 (file)
@@ -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;
 
index bc69426650f0ce973bd951d580204b8f0cb8ee7a..ca7de54b9b81005f57760814f6100fb37eb7d0b0 100644 (file)
@@ -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;
 
index c13f93873cb5a74ed20963e17ac3d4fe584a0c8e..731e55d2f630463cc4eceea7f679a2647a7cbf0a 100644 (file)
@@ -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;
 
index 178b891e2ffe968c74b06af53fe13af2acb7643d..190e41cbb7138f2a3fcfc3d3174d51a30b996fa6 100644 (file)
@@ -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;
 
index 4db465597b4dd0dac41e1e0a4fb50cbb353ca722..2994ed311fe437aacbbb570abe5eb553d3b8517e 100644 (file)
@@ -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;
 
index d4338fa29e3a467af0bfe6f7c70c59d9accbcddd..4f18b5006d8a4a9ee0a5006e39e9662e62c24112 100644 (file)
@@ -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;
 
index 62877cd42d938fb395ceb8390a8cc64f862d9a2c..443d7426f4ffc80ca398d0160e9131a027e902b8 100644 (file)
@@ -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;
 
index e20f9224b61c17fa0a01d95de89159487715552d..6860f606122ef97afdd80936e393248fdfd2da5a 100644 (file)
@@ -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;