re PR libfortran/78379 (Processor-specific versions for matmul)
authorThomas Koenig <tkoenig@gcc.gnu.org>
Thu, 25 May 2017 21:51:27 +0000 (21:51 +0000)
committerThomas Koenig <tkoenig@gcc.gnu.org>
Thu, 25 May 2017 21:51:27 +0000 (21:51 +0000)
commit1d5cf7fcf28c0b7d44fab10d26fc450e9d962f03
tree3cd241e469094809d6ceb3aa1a14f6841627e681
parent87e1e6036ef93b18b1450357488ee907db880f37
re PR libfortran/78379 (Processor-specific versions for matmul)

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

PR libfortran/78379
* Makefile.am: Add generated/matmulavx128_*.c files.
Handle them for compiling and setting the right flags.
* acinclude.m4: Add tests for FMA3, FMA4 and AVX128.
* configure.ac: Call them.
* Makefile.in: Regenerated.
* config.h.in: Regenerated.
* configure: Regenerated.
* m4/matmul.m4:  Handle AMD chips by calling 128-bit AVX
versions which use FMA3 or FMA4.
* m4/matmulavx128.m4: New file.
        * 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: New file.
        * generated/matmulavx128_c16.c: New file.
        * generated/matmulavx128_c4.c: New file.
        * generated/matmulavx128_c8.c: New file.
        * generated/matmulavx128_i1.c: New file.
        * generated/matmulavx128_i16.c: New file.
        * generated/matmulavx128_i2.c: New file.
        * generated/matmulavx128_i4.c: New file.
        * generated/matmulavx128_i8.c: New file.
        * generated/matmulavx128_r10.c: New file.
        * generated/matmulavx128_r16.c: New file.
        * generated/matmulavx128_r4.c: New file.
        * generated/matmulavx128_r8.c: New file.

From-SVN: r248472
35 files changed:
libgfortran/ChangeLog
libgfortran/Makefile.am
libgfortran/Makefile.in
libgfortran/acinclude.m4
libgfortran/config.h.in
libgfortran/configure
libgfortran/configure.ac
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 [new file with mode: 0644]
libgfortran/generated/matmulavx128_c16.c [new file with mode: 0644]
libgfortran/generated/matmulavx128_c4.c [new file with mode: 0644]
libgfortran/generated/matmulavx128_c8.c [new file with mode: 0644]
libgfortran/generated/matmulavx128_i1.c [new file with mode: 0644]
libgfortran/generated/matmulavx128_i16.c [new file with mode: 0644]
libgfortran/generated/matmulavx128_i2.c [new file with mode: 0644]
libgfortran/generated/matmulavx128_i4.c [new file with mode: 0644]
libgfortran/generated/matmulavx128_i8.c [new file with mode: 0644]
libgfortran/generated/matmulavx128_r10.c [new file with mode: 0644]
libgfortran/generated/matmulavx128_r16.c [new file with mode: 0644]
libgfortran/generated/matmulavx128_r4.c [new file with mode: 0644]
libgfortran/generated/matmulavx128_r8.c [new file with mode: 0644]
libgfortran/m4/matmul.m4
libgfortran/m4/matmulavx128.m4 [new file with mode: 0644]