[patch, libfortran] Add AVX-specific matmul

Thomas Koenig tkoenig@netcologne.de
Thu Nov 17 14:47:00 GMT 2016


Well, here is a newer version of the patch.

I wrote a few configure tests to check for AVX.
This version hast the advantage that, if anybody
uses 32-bit programs with AVX, they would also benefit.

Jakub, would you be OK with that patch?

I do not yet want to commit this because it needs more
testing on different platforms to see if it actually
performs better.

Regarding putting the blocked part into something separate:
Quite doable, but I would rather like to do this in a follow-up
patch, if we decide t do it.

Regards

	Thomas

2016-11-17  Thomas Koenig  <tkoenig@gcc.gnu.org>

         PR fortran/78379
         * acinclude.m4 (LIBGFOR_CHECK_AVX):  New test.
         (LIBGFOR_CHECK_AVX2):  New test.
         (LIBGFOR_CHECK_AVX512F):  New test.
         * configure.ac:  Call LIBGFOR_CHECK_AVX, LIBGFOR_CHECK_AVX2
         and LIBGFOR_CHECK_AVX512F.
         * config.h.in: Regenerated.
         * configure:  Regenerated.
         * m4/matmul.m4: For AVX, AVX2 and AVX_512F, make the work function
         for matmul static with target_clones for AVX and default, and
         create a wrapper function to call it.
         * 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.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: p1.diff
Type: text/x-patch
Size: 30367 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/fortran/attachments/20161117/3e61d670/attachment.bin>


More information about the Fortran mailing list