Commit Graph

6 Commits

Author SHA1 Message Date
Thomas Koenig
e889aa0a96 re PR libfortran/85253 (asan detects heap-buffer-overflow in matmul_r4.c)
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
2018-04-06 18:49:21 +00:00
Thomas Koenig
bbf9741600 re PR fortran/80975 (matmul for zero-length arrays)
2017-06-06  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/80975
	* m4/matmul_internal.m4:  Move zeroing before early return.
	* 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.

2017-06-06  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/80975
	* gfortran.dg/matmul_16.f90: New test.
	* gfortran.dg/inline_matmul_18.f90: New test.

From-SVN: r248932
2017-06-06 19:18:37 +00:00
Thomas Koenig
6ce6a84ac6 re PR fortran/80765 (178.galgel in SPEC CPU 2000 fails to run)
2017-05-15  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/80765
        * m4/matmul_internal.m4: Set bystride to correct value in
	vector-matrix multiplicatin for later calculation of buffer
	size.
        * 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.

From-SVN: r248074
2017-05-15 20:06:06 +00:00
Thomas Koenig
8e5f30dca0 re PR target/80687 (VLA usage in libgfortran; nvptx target: "sorry, unimplemented: target cannot support alloca")
2017-05-10  Thomas Koenig  <tkoenig@gcc.gnu.org>

        PR fortran/80687
        PR fortran/80696
        * m4/matmul_internal.m4:  'matmul_name`:  Always
        use malloc/free to allocate t1.
        * 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.

From-SVN: r247839
2017-05-10 15:45:52 +00:00
Thomas Koenig
fd9910392b re PR libfortran/80602 (Reduce stack usage for blocked matmul)
2017-05-08  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/80602
	* m4/matmul_internal.m4:  'matmul_name`:  Change
	t1 to a VLA of the required size.
        * 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.

2017-05-08  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/80602
	* gfortran.dg/matmul_15.f90:  New test case.

From-SVN: r247753
2017-05-08 17:56:13 +00:00
Thomas Koenig
31cfd83286 re PR libfortran/78379 (Processor-specific versions for matmul)
2016-12-03  Thomas Koenig  <tkoenig@gcc.gnu.org>

        PR fortran/78379
        * config/i386/cpuinfo.c:  Move denums for processor vendors,
        processor type, processor subtypes and declaration of
        struct __processor_model into
        * config/i386/cpuinfo.h:  New header file.
        * Makefile.am:  Add dependence of m4/matmul_internal_m4 to
        mamtul files..
        * Makefile.in:  Regenerated.
        * acinclude.m4:  Check for AVX, AVX2 and AVX512F.
        * config.h.in:  Add HAVE_AVX, HAVE_AVX2 and HAVE_AVX512F.
        * configure:  Regenerated.
        * configure.ac:  Use checks for AVX, AVX2 and AVX_512F.
        * m4/matmul_internal.m4:  New file. working part of matmul.m4.
        * m4/matmul.m4:  Implement architecture-specific switching
        for AVX, AVX2 and AVX512F by including matmul_internal.m4
        multiple times.
        * 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.

From-SVN: r243219
2016-12-03 09:44:35 +00:00