[patch, fortran] Reduce stack use in blocked matmul

Andreas Schwab schwab@suse.de
Wed May 10 08:11:00 GMT 2017


On Mai 05 2017, Thomas Koenig <tkoenig@netcologne.de> wrote:

> @@ -227,6 +226,17 @@ sinclude(`matmul_asm_'rtype_code`.m4')dnl
>        if (m == 0 || n == 0 || k == 0)
>  	return;
>  
> +      /* Adjust size of t1 to what is needed.  */
> +      index_type t1_dim;
> +      t1_dim = (a_dim1-1) * 256 + b_dim1;
> +      if (t1_dim > 65536)
> +	t1_dim = 65536;
> +
> +#pragma GCC diagnostic push
> +#pragma GCC diagnostic ignored "-Wvla"
> +      'rtype_name` t1[t1_dim]; /* was [256][256] */

That does the wrong thing if b_dim1 == 0xDEADBEEF.

(gdb) p (a_dim1-1) * 256 + b_dim1
$2 = -764456190

Andreas.

-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."



More information about the Gcc-patches mailing list