From bd5a0472dbeb293a828f9374187e3b595ecf4f71 Mon Sep 17 00:00:00 2001
From: Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Date: Tue, 10 Jun 2025 12:37:02 +0200
Subject: [PATCH] libfortran: Simplify Makefile logic
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Simplify the structure of the Makefile, because now we don't need so
many different variables. Also, list the m4 directory entirely in
EXTRA_DIST instead of individual files, to reduce information
duplication.

I also introduce some level of checking the regenerate.sh script.
It should catch cases where the list of generated files gets out
of sync between Makefile.am and regenerate.sh

2025-06-10  François-Xavier Coudert  <fxcoudert@gcc.gnu.org>

libgfortran/ChangeLog:

	PR libfortran/116400
	* Makefile.am: Simplify logic.
	* Makefile.in: Regenerate.
	* regenerate.sh: Add some checks.
---
 libgfortran/Makefile.am   |  706 +++++++----------
 libgfortran/Makefile.in   | 1531 +++++++++++++++++--------------------
 libgfortran/regenerate.sh |   17 +
 3 files changed, 990 insertions(+), 1264 deletions(-)

diff --git a/libgfortran/Makefile.am b/libgfortran/Makefile.am
index ce35a67a359..4f3b3033224 100644
--- a/libgfortran/Makefile.am
+++ b/libgfortran/Makefile.am
@@ -240,102 +240,61 @@ runtime/stop.c
 
 endif
 
-i_all_c= \
+i_matmul_c= \
+generated/matmul_i1.c \
+generated/matmul_i2.c \
+generated/matmul_i4.c \
+generated/matmul_i8.c \
+generated/matmul_i16.c \
+generated/matmul_r4.c \
+generated/matmul_r8.c \
+generated/matmul_r10.c \
+generated/matmul_r16.c \
+generated/matmul_r17.c \
+generated/matmul_c4.c \
+generated/matmul_c8.c \
+generated/matmul_c10.c \
+generated/matmul_c16.c \
+generated/matmul_c17.c
+
+i_matmulavx128_c= \
+generated/matmulavx128_i1.c \
+generated/matmulavx128_i2.c \
+generated/matmulavx128_i4.c \
+generated/matmulavx128_i8.c \
+generated/matmulavx128_i16.c \
+generated/matmulavx128_r4.c \
+generated/matmulavx128_r8.c \
+generated/matmulavx128_r10.c \
+generated/matmulavx128_r16.c \
+generated/matmulavx128_r17.c \
+generated/matmulavx128_c4.c \
+generated/matmulavx128_c8.c \
+generated/matmulavx128_c10.c \
+generated/matmulavx128_c16.c \
+generated/matmulavx128_c17.c
+
+i_matmull_c= \
+generated/matmul_l4.c \
+generated/matmul_l8.c \
+generated/matmul_l16.c
+
+gfor_built_src= \
 generated/all_l1.c \
 generated/all_l2.c \
 generated/all_l4.c \
 generated/all_l8.c \
-generated/all_l16.c
-
-i_any_c= \
+generated/all_l16.c \
 generated/any_l1.c \
 generated/any_l2.c \
 generated/any_l4.c \
 generated/any_l8.c \
-generated/any_l16.c
-
-i_bessel_c= \
-generated/bessel_r4.c \
-generated/bessel_r8.c \
-generated/bessel_r10.c \
-generated/bessel_r16.c \
-generated/bessel_r17.c
-
-i_count_c= \
+generated/any_l16.c \
 generated/count_1_l.c \
 generated/count_2_l.c \
 generated/count_4_l.c \
 generated/count_8_l.c \
-generated/count_16_l.c
-
-i_iall_c= \
-generated/iall_i1.c \
-generated/iall_i2.c \
-generated/iall_i4.c \
-generated/iall_i8.c \
-generated/iall_i16.c
-
-i_iany_c= \
-generated/iany_i1.c \
-generated/iany_i2.c \
-generated/iany_i4.c \
-generated/iany_i8.c \
-generated/iany_i16.c
-
-i_iparity_c= \
-generated/iparity_i1.c \
-generated/iparity_i2.c \
-generated/iparity_i4.c \
-generated/iparity_i8.c \
-generated/iparity_i16.c
-
-i_findloc0_c= \
-generated/findloc0_i1.c \
-generated/findloc0_i2.c \
-generated/findloc0_i4.c \
-generated/findloc0_i8.c \
-generated/findloc0_i16.c \
-generated/findloc0_r4.c \
-generated/findloc0_r8.c \
-generated/findloc0_r10.c \
-generated/findloc0_r16.c \
-generated/findloc0_r17.c \
-generated/findloc0_c4.c \
-generated/findloc0_c8.c \
-generated/findloc0_c10.c \
-generated/findloc0_c16.c \
-generated/findloc0_c17.c
-
-i_findloc0s_c= \
-generated/findloc0_s1.c \
-generated/findloc0_s4.c
-
-i_findloc1_c= \
-generated/findloc1_i1.c \
-generated/findloc1_i2.c \
-generated/findloc1_i4.c \
-generated/findloc1_i8.c \
-generated/findloc1_i16.c \
-generated/findloc1_r4.c \
-generated/findloc1_r8.c \
-generated/findloc1_r10.c \
-generated/findloc1_r16.c \
-generated/findloc1_r17.c \
-generated/findloc1_c4.c \
-generated/findloc1_c8.c \
-generated/findloc1_c10.c \
-generated/findloc1_c16.c \
-generated/findloc1_c17.c
-
-i_findloc1s_c= \
-generated/findloc1_s1.c \
-generated/findloc1_s4.c
-
-i_findloc2s_c= \
-generated/findloc2_s1.c \
-generated/findloc2_s4.c
-
-i_maxloc0_c= \
+generated/count_16_l.c \
 generated/maxloc0_4_i1.c \
 generated/maxloc0_8_i1.c \
 generated/maxloc0_16_i1.c \
@@ -380,17 +339,7 @@ generated/maxloc0_8_r16.c \
 generated/maxloc0_16_r16.c \
 generated/maxloc0_4_r17.c \
 generated/maxloc0_8_r17.c \
-generated/maxloc0_16_r17.c
-
-i_maxloc0s_c = \
-generated/maxloc0_4_s1.c \
-generated/maxloc0_4_s4.c \
-generated/maxloc0_8_s1.c \
-generated/maxloc0_8_s4.c \
-generated/maxloc0_16_s1.c \
-generated/maxloc0_16_s4.c
-
-i_maxloc1_c= \
+generated/maxloc0_16_r17.c \
 generated/maxloc1_4_i1.c \
 generated/maxloc1_8_i1.c \
 generated/maxloc1_16_i1.c \
@@ -435,25 +384,7 @@ generated/maxloc1_8_r16.c \
 generated/maxloc1_16_r16.c \
 generated/maxloc1_4_r17.c \
 generated/maxloc1_8_r17.c \
-generated/maxloc1_16_r17.c
-
-i_maxloc1s_c= \
-generated/maxloc1_4_s1.c \
-generated/maxloc1_4_s4.c \
-generated/maxloc1_8_s1.c \
-generated/maxloc1_8_s4.c \
-generated/maxloc1_16_s1.c \
-generated/maxloc1_16_s4.c
-
-i_maxloc2s_c= \
-generated/maxloc2_4_s1.c \
-generated/maxloc2_4_s4.c \
-generated/maxloc2_8_s1.c \
-generated/maxloc2_8_s4.c \
-generated/maxloc2_16_s1.c \
-generated/maxloc2_16_s4.c
-
-i_maxval_c= \
+generated/maxloc1_16_r17.c \
 generated/maxval_i1.c \
 generated/maxval_i2.c \
 generated/maxval_i4.c \
@@ -468,17 +399,7 @@ generated/maxval_r4.c \
 generated/maxval_r8.c \
 generated/maxval_r10.c \
 generated/maxval_r16.c \
-generated/maxval_r17.c
-
-i_maxval0s_c=\
-generated/maxval0_s1.c \
-generated/maxval0_s4.c
-
-i_maxval1s_c=\
-generated/maxval1_s1.c \
-generated/maxval1_s4.c
-
-i_minloc0_c= \
+generated/maxval_r17.c \
 generated/minloc0_4_i1.c \
 generated/minloc0_8_i1.c \
 generated/minloc0_16_i1.c \
@@ -523,17 +444,7 @@ generated/minloc0_8_r16.c \
 generated/minloc0_16_r16.c \
 generated/minloc0_4_r17.c \
 generated/minloc0_8_r17.c \
-generated/minloc0_16_r17.c
-
-i_minloc0s_c = \
-generated/minloc0_4_s1.c \
-generated/minloc0_4_s4.c \
-generated/minloc0_8_s1.c \
-generated/minloc0_8_s4.c \
-generated/minloc0_16_s1.c \
-generated/minloc0_16_s4.c
-
-i_minloc1_c= \
+generated/minloc0_16_r17.c \
 generated/minloc1_4_i1.c \
 generated/minloc1_8_i1.c \
 generated/minloc1_16_i1.c \
@@ -578,25 +489,7 @@ generated/minloc1_8_r16.c \
 generated/minloc1_16_r16.c \
 generated/minloc1_4_r17.c \
 generated/minloc1_8_r17.c \
-generated/minloc1_16_r17.c
-
-i_minloc1s_c= \
-generated/minloc1_4_s1.c \
-generated/minloc1_4_s4.c \
-generated/minloc1_8_s1.c \
-generated/minloc1_8_s4.c \
-generated/minloc1_16_s1.c \
-generated/minloc1_16_s4.c
-
-i_minloc2s_c= \
-generated/minloc2_4_s1.c \
-generated/minloc2_4_s4.c \
-generated/minloc2_8_s1.c \
-generated/minloc2_8_s4.c \
-generated/minloc2_16_s1.c \
-generated/minloc2_16_s4.c
-
-i_minval_c= \
+generated/minloc1_16_r17.c \
 generated/minval_i1.c \
 generated/minval_i2.c \
 generated/minval_i4.c \
@@ -611,48 +504,7 @@ generated/minval_r4.c \
 generated/minval_r8.c \
 generated/minval_r10.c \
 generated/minval_r16.c \
-generated/minval_r17.c
-
-i_minval0s_c=\
-generated/minval0_s1.c \
-generated/minval0_s4.c
-
-i_minval1s_c=\
-generated/minval1_s1.c \
-generated/minval1_s4.c
-
-i_norm2_c= \
-generated/norm2_r4.c \
-generated/norm2_r8.c \
-generated/norm2_r10.c \
-generated/norm2_r16.c \
-generated/norm2_r17.c
-
-i_parity_c = \
-generated/parity_l1.c \
-generated/parity_l2.c \
-generated/parity_l4.c \
-generated/parity_l8.c \
-generated/parity_l16.c
-
-i_sum_c= \
-generated/sum_i1.c \
-generated/sum_i2.c \
-generated/sum_i4.c \
-generated/sum_i8.c \
-generated/sum_i16.c \
-generated/sum_r4.c \
-generated/sum_r8.c \
-generated/sum_r10.c \
-generated/sum_r16.c \
-generated/sum_r17.c \
-generated/sum_c4.c \
-generated/sum_c8.c \
-generated/sum_c10.c \
-generated/sum_c16.c \
-generated/sum_c17.c
-
-i_product_c= \
+generated/minval_r17.c \
 generated/product_i1.c \
 generated/product_i2.c \
 generated/product_i4.c \
@@ -667,55 +519,66 @@ generated/product_c4.c \
 generated/product_c8.c \
 generated/product_c10.c \
 generated/product_c16.c \
-generated/product_c17.c
-
-i_matmul_c= \
-generated/matmul_i1.c \
-generated/matmul_i2.c \
-generated/matmul_i4.c \
-generated/matmul_i8.c \
-generated/matmul_i16.c \
-generated/matmul_r4.c \
-generated/matmul_r8.c \
-generated/matmul_r10.c \
-generated/matmul_r16.c \
-generated/matmul_r17.c \
-generated/matmul_c4.c \
-generated/matmul_c8.c \
-generated/matmul_c10.c \
-generated/matmul_c16.c \
-generated/matmul_c17.c
-
-i_matmulavx128_c= \
-generated/matmulavx128_i1.c \
-generated/matmulavx128_i2.c \
-generated/matmulavx128_i4.c \
-generated/matmulavx128_i8.c \
-generated/matmulavx128_i16.c \
-generated/matmulavx128_r4.c \
-generated/matmulavx128_r8.c \
-generated/matmulavx128_r10.c \
-generated/matmulavx128_r16.c \
-generated/matmulavx128_r17.c \
-generated/matmulavx128_c4.c \
-generated/matmulavx128_c8.c \
-generated/matmulavx128_c10.c \
-generated/matmulavx128_c16.c \
-generated/matmulavx128_c17.c
-
-i_matmull_c= \
-generated/matmul_l4.c \
-generated/matmul_l8.c \
-generated/matmul_l16.c
-
-i_shape_c= \
+generated/product_c17.c \
+generated/sum_i1.c \
+generated/sum_i2.c \
+generated/sum_i4.c \
+generated/sum_i8.c \
+generated/sum_i16.c \
+generated/sum_r4.c \
+generated/sum_r8.c \
+generated/sum_r10.c \
+generated/sum_r16.c \
+generated/sum_r17.c \
+generated/sum_c4.c \
+generated/sum_c8.c \
+generated/sum_c10.c \
+generated/sum_c16.c \
+generated/sum_c17.c \
+generated/bessel_r4.c \
+generated/bessel_r8.c \
+generated/bessel_r10.c \
+generated/bessel_r16.c \
+generated/bessel_r17.c \
+generated/iall_i1.c \
+generated/iall_i2.c \
+generated/iall_i4.c \
+generated/iall_i8.c \
+generated/iall_i16.c \
+generated/iany_i1.c \
+generated/iany_i2.c \
+generated/iany_i4.c \
+generated/iany_i8.c \
+generated/iany_i16.c \
+generated/iparity_i1.c \
+generated/iparity_i2.c \
+generated/iparity_i4.c \
+generated/iparity_i8.c \
+generated/iparity_i16.c \
+generated/norm2_r4.c \
+generated/norm2_r8.c \
+generated/norm2_r10.c \
+generated/norm2_r16.c \
+generated/norm2_r17.c \
+generated/parity_l1.c \
+generated/parity_l2.c \
+generated/parity_l4.c \
+generated/parity_l8.c \
+generated/parity_l16.c \
 generated/shape_i1.c \
 generated/shape_i2.c \
 generated/shape_i4.c \
 generated/shape_i8.c \
-generated/shape_i16.c
-
-i_reshape_c= \
+generated/shape_i16.c \
+generated/eoshift1_4.c \
+generated/eoshift1_8.c \
+generated/eoshift1_16.c \
+generated/eoshift3_4.c \
+generated/eoshift3_8.c \
+generated/eoshift3_16.c \
+generated/cshift1_4.c \
+generated/cshift1_8.c \
+generated/cshift1_16.c \
 generated/reshape_i4.c \
 generated/reshape_i8.c \
 generated/reshape_i16.c \
@@ -728,88 +591,7 @@ generated/reshape_c4.c \
 generated/reshape_c8.c \
 generated/reshape_c10.c \
 generated/reshape_c16.c \
-generated/reshape_c17.c
-
-i_eoshift1_c= \
-generated/eoshift1_4.c \
-generated/eoshift1_8.c \
-generated/eoshift1_16.c
-
-i_eoshift3_c= \
-generated/eoshift3_4.c \
-generated/eoshift3_8.c \
-generated/eoshift3_16.c
-
-i_cshift0_c= \
-generated/cshift0_i1.c \
-generated/cshift0_i2.c \
-generated/cshift0_i4.c \
-generated/cshift0_i8.c \
-generated/cshift0_i16.c \
-generated/cshift0_r4.c \
-generated/cshift0_r8.c \
-generated/cshift0_r10.c \
-generated/cshift0_r16.c \
-generated/cshift0_r17.c \
-generated/cshift0_c4.c \
-generated/cshift0_c8.c \
-generated/cshift0_c10.c \
-generated/cshift0_c16.c \
-generated/cshift0_c17.c
-
-i_cshift1_c= \
-generated/cshift1_4.c \
-generated/cshift1_8.c \
-generated/cshift1_16.c
-
-i_cshift1a_c = \
-generated/cshift1_4_i1.c \
-generated/cshift1_4_i2.c \
-generated/cshift1_4_i4.c \
-generated/cshift1_4_i8.c \
-generated/cshift1_4_i16.c \
-generated/cshift1_4_r4.c \
-generated/cshift1_4_r8.c \
-generated/cshift1_4_r10.c \
-generated/cshift1_4_r16.c \
-generated/cshift1_4_r17.c \
-generated/cshift1_4_c4.c \
-generated/cshift1_4_c8.c \
-generated/cshift1_4_c10.c \
-generated/cshift1_4_c16.c \
-generated/cshift1_4_c17.c \
-generated/cshift1_8_i1.c \
-generated/cshift1_8_i2.c \
-generated/cshift1_8_i4.c \
-generated/cshift1_8_i8.c \
-generated/cshift1_8_i16.c \
-generated/cshift1_8_r4.c \
-generated/cshift1_8_r8.c \
-generated/cshift1_8_r10.c \
-generated/cshift1_8_r16.c \
-generated/cshift1_8_r17.c \
-generated/cshift1_8_c4.c \
-generated/cshift1_8_c8.c \
-generated/cshift1_8_c10.c \
-generated/cshift1_8_c16.c \
-generated/cshift1_8_c17.c \
-generated/cshift1_16_i1.c \
-generated/cshift1_16_i2.c \
-generated/cshift1_16_i4.c \
-generated/cshift1_16_i8.c \
-generated/cshift1_16_i16.c \
-generated/cshift1_16_r4.c \
-generated/cshift1_16_r8.c \
-generated/cshift1_16_r10.c \
-generated/cshift1_16_r16.c \
-generated/cshift1_16_r17.c \
-generated/cshift1_16_c4.c \
-generated/cshift1_16_c8.c \
-generated/cshift1_16_c10.c \
-generated/cshift1_16_c16.c \
-generated/cshift1_16_c17.c
-
-in_pack_c = \
+generated/reshape_c17.c \
 generated/in_pack_i1.c \
 generated/in_pack_i2.c \
 generated/in_pack_i4.c \
@@ -824,9 +606,7 @@ generated/in_pack_c4.c \
 generated/in_pack_c8.c \
 generated/in_pack_c10.c \
 generated/in_pack_c16.c \
-generated/in_pack_c17.c
-
-in_unpack_c = \
+generated/in_pack_c17.c \
 generated/in_unpack_i1.c \
 generated/in_unpack_i2.c \
 generated/in_unpack_i4.c \
@@ -841,9 +621,7 @@ generated/in_unpack_c4.c \
 generated/in_unpack_c8.c \
 generated/in_unpack_c10.c \
 generated/in_unpack_c16.c \
-generated/in_unpack_c17.c
-
-i_pow_c = \
+generated/in_unpack_c17.c \
 generated/pow_i4_i4.c \
 generated/pow_i8_i4.c \
 generated/pow_i16_i4.c \
@@ -879,36 +657,7 @@ generated/pow_c4_i16.c \
 generated/pow_c8_i16.c \
 generated/pow_c10_i16.c \
 generated/pow_c16_i16.c \
-generated/pow_c17_i16.c
-
-i_powu_c = \
-generated/pow_m1_m1.c \
-generated/pow_m1_m2.c \
-generated/pow_m1_m4.c \
-generated/pow_m1_m8.c \
-generated/pow_m1_m16.c \
-generated/pow_m2_m1.c \
-generated/pow_m2_m2.c \
-generated/pow_m2_m4.c \
-generated/pow_m2_m8.c \
-generated/pow_m2_m16.c \
-generated/pow_m4_m1.c \
-generated/pow_m4_m2.c \
-generated/pow_m4_m4.c \
-generated/pow_m4_m8.c \
-generated/pow_m4_m16.c \
-generated/pow_m8_m1.c \
-generated/pow_m8_m2.c \
-generated/pow_m8_m4.c \
-generated/pow_m8_m8.c \
-generated/pow_m8_m16.c \
-generated/pow_m16_m1.c \
-generated/pow_m16_m2.c \
-generated/pow_m16_m4.c \
-generated/pow_m16_m8.c \
-generated/pow_m16_m16.c
-
-i_pack_c = \
+generated/pow_c17_i16.c \
 generated/pack_i1.c \
 generated/pack_i2.c \
 generated/pack_i4.c \
@@ -923,9 +672,7 @@ generated/pack_c4.c \
 generated/pack_c8.c \
 generated/pack_c10.c \
 generated/pack_c16.c \
-generated/pack_c17.c
-
-i_unpack_c = \
+generated/pack_c17.c \
 generated/unpack_i1.c \
 generated/unpack_i2.c \
 generated/unpack_i4.c \
@@ -940,9 +687,7 @@ generated/unpack_c4.c \
 generated/unpack_c8.c \
 generated/unpack_c10.c \
 generated/unpack_c16.c \
-generated/unpack_c17.c
-
-i_spread_c = \
+generated/unpack_c17.c \
 generated/spread_i1.c \
 generated/spread_i2.c \
 generated/spread_i4.c \
@@ -957,43 +702,179 @@ generated/spread_c4.c \
 generated/spread_c8.c \
 generated/spread_c10.c \
 generated/spread_c16.c \
-generated/spread_c17.c
-
-i_isobinding_c = \
-runtime/ISO_Fortran_binding.c
-
-m4_files= m4/iparm.m4 m4/ifunction.m4 m4/iforeach.m4 m4/all.m4 \
-	m4/any.m4 m4/count.m4 m4/maxloc0.m4 m4/maxloc1.m4 m4/maxval.m4 \
-	m4/minloc0.m4 m4/minloc1.m4 m4/minval.m4 m4/product.m4 m4/sum.m4 \
-	m4/matmul.m4 m4/matmull.m4 m4/ifunction_logical.m4 \
-	m4/ctrig.m4 m4/cexp.m4 m4/chyp.m4 m4/mtype.m4 \
-	m4/specific.m4 m4/specific2.m4 m4/head.m4 m4/shape.m4 m4/reshape.m4 \
-	m4/eoshift1.m4 m4/eoshift3.m4 \
-	m4/pow.m4 \
-	m4/misc_specifics.m4 m4/pack.m4 \
-	m4/unpack.m4 m4/spread.m4 m4/bessel.m4 m4/norm2.m4 m4/parity.m4 \
-	m4/iall.m4 m4/iany.m4 m4/iparity.m4 m4/iforeach-s.m4 m4/findloc0.m4 \
-	m4/findloc0s.m4 m4/ifindloc0.m4 m4/findloc1.m4 m4/ifindloc1.m4 \
-	m4/findloc2s.m4 m4/ifindloc2.m4
-
-gfor_built_src= $(i_all_c) $(i_any_c) $(i_count_c) $(i_maxloc0_c) \
-	$(i_maxloc1_c) $(i_maxval_c) $(i_minloc0_c) $(i_minloc1_c) $(i_minval_c) \
-	$(i_product_c) $(i_sum_c) $(i_bessel_c) $(i_iall_c) $(i_iany_c) \
-	$(i_iparity_c) $(i_norm2_c) $(i_parity_c) \
-	$(i_matmul_c) $(i_matmull_c) $(i_shape_c) $(i_eoshift1_c) \
-	$(i_eoshift3_c) $(i_cshift1_c) $(i_reshape_c) $(in_pack_c) $(in_unpack_c) \
-	$(i_pow_c) $(i_pack_c) $(i_unpack_c) $(i_matmulavx128_c) \
-	$(i_spread_c) selected_int_kind.inc selected_real_kind.inc kinds.h \
-	$(i_cshift0_c) kinds.inc c99_protos.inc fpu-target.h fpu-target.inc \
-	include/ISO_Fortran_binding.h \
-	$(i_cshift1a_c) $(i_maxloc0s_c) $(i_minloc0s_c) $(i_maxloc1s_c) \
-	$(i_minloc1s_c) $(i_maxloc2s_c) $(i_minloc2s_c) $(i_maxvals_c) \
-	$(i_maxval0s_c) $(i_minval0s_c) $(i_maxval1s_c) $(i_minval1s_c) \
-	$(i_findloc0_c) $(i_findloc0s_c) $(i_findloc1_c) $(i_findloc1s_c) \
-	$(i_findloc2s_c) $(i_isobinding_c) $(i_powu_c)
-
-# Machine generated specifics
-gfor_built_specific_src= \
+generated/spread_c17.c \
+generated/cshift0_i1.c \
+generated/cshift0_i2.c \
+generated/cshift0_i4.c \
+generated/cshift0_i8.c \
+generated/cshift0_i16.c \
+generated/cshift0_r4.c \
+generated/cshift0_r8.c \
+generated/cshift0_r10.c \
+generated/cshift0_r16.c \
+generated/cshift0_r17.c \
+generated/cshift0_c4.c \
+generated/cshift0_c8.c \
+generated/cshift0_c10.c \
+generated/cshift0_c16.c \
+generated/cshift0_c17.c \
+generated/cshift1_4_i1.c \
+generated/cshift1_4_i2.c \
+generated/cshift1_4_i4.c \
+generated/cshift1_4_i8.c \
+generated/cshift1_4_i16.c \
+generated/cshift1_4_r4.c \
+generated/cshift1_4_r8.c \
+generated/cshift1_4_r10.c \
+generated/cshift1_4_r16.c \
+generated/cshift1_4_r17.c \
+generated/cshift1_4_c4.c \
+generated/cshift1_4_c8.c \
+generated/cshift1_4_c10.c \
+generated/cshift1_4_c16.c \
+generated/cshift1_4_c17.c \
+generated/cshift1_8_i1.c \
+generated/cshift1_8_i2.c \
+generated/cshift1_8_i4.c \
+generated/cshift1_8_i8.c \
+generated/cshift1_8_i16.c \
+generated/cshift1_8_r4.c \
+generated/cshift1_8_r8.c \
+generated/cshift1_8_r10.c \
+generated/cshift1_8_r16.c \
+generated/cshift1_8_r17.c \
+generated/cshift1_8_c4.c \
+generated/cshift1_8_c8.c \
+generated/cshift1_8_c10.c \
+generated/cshift1_8_c16.c \
+generated/cshift1_8_c17.c \
+generated/cshift1_16_i1.c \
+generated/cshift1_16_i2.c \
+generated/cshift1_16_i4.c \
+generated/cshift1_16_i8.c \
+generated/cshift1_16_i16.c \
+generated/cshift1_16_r4.c \
+generated/cshift1_16_r8.c \
+generated/cshift1_16_r10.c \
+generated/cshift1_16_r16.c \
+generated/cshift1_16_r17.c \
+generated/cshift1_16_c4.c \
+generated/cshift1_16_c8.c \
+generated/cshift1_16_c10.c \
+generated/cshift1_16_c16.c \
+generated/cshift1_16_c17.c \
+generated/findloc0_i1.c \
+generated/findloc0_i2.c \
+generated/findloc0_i4.c \
+generated/findloc0_i8.c \
+generated/findloc0_i16.c \
+generated/findloc0_r4.c \
+generated/findloc0_r8.c \
+generated/findloc0_r10.c \
+generated/findloc0_r16.c \
+generated/findloc0_r17.c \
+generated/findloc0_c4.c \
+generated/findloc0_c8.c \
+generated/findloc0_c10.c \
+generated/findloc0_c16.c \
+generated/findloc0_c17.c \
+generated/findloc0_s1.c \
+generated/findloc0_s4.c \
+generated/findloc1_i1.c \
+generated/findloc1_i2.c \
+generated/findloc1_i4.c \
+generated/findloc1_i8.c \
+generated/findloc1_i16.c \
+generated/findloc1_r4.c \
+generated/findloc1_r8.c \
+generated/findloc1_r10.c \
+generated/findloc1_r16.c \
+generated/findloc1_r17.c \
+generated/findloc1_c4.c \
+generated/findloc1_c8.c \
+generated/findloc1_c10.c \
+generated/findloc1_c16.c \
+generated/findloc1_c17.c \
+generated/findloc1_s1.c \
+generated/findloc1_s4.c \
+generated/findloc2_s1.c \
+generated/findloc2_s4.c \
+generated/maxloc0_4_s1.c \
+generated/maxloc0_4_s4.c \
+generated/maxloc0_8_s1.c \
+generated/maxloc0_8_s4.c \
+generated/maxloc0_16_s1.c \
+generated/maxloc0_16_s4.c \
+generated/maxloc1_4_s1.c \
+generated/maxloc1_4_s4.c \
+generated/maxloc1_8_s1.c \
+generated/maxloc1_8_s4.c \
+generated/maxloc1_16_s1.c \
+generated/maxloc1_16_s4.c \
+generated/maxloc2_4_s1.c \
+generated/maxloc2_4_s4.c \
+generated/maxloc2_8_s1.c \
+generated/maxloc2_8_s4.c \
+generated/maxloc2_16_s1.c \
+generated/maxloc2_16_s4.c \
+generated/maxval0_s1.c \
+generated/maxval0_s4.c \
+generated/maxval1_s1.c \
+generated/maxval1_s4.c \
+generated/minloc0_4_s1.c \
+generated/minloc0_4_s4.c \
+generated/minloc0_8_s1.c \
+generated/minloc0_8_s4.c \
+generated/minloc0_16_s1.c \
+generated/minloc0_16_s4.c \
+generated/minloc1_4_s1.c \
+generated/minloc1_4_s4.c \
+generated/minloc1_8_s1.c \
+generated/minloc1_8_s4.c \
+generated/minloc1_16_s1.c \
+generated/minloc1_16_s4.c \
+generated/minloc2_4_s1.c \
+generated/minloc2_4_s4.c \
+generated/minloc2_8_s1.c \
+generated/minloc2_8_s4.c \
+generated/minloc2_16_s1.c \
+generated/minloc2_16_s4.c \
+generated/minval0_s1.c \
+generated/minval0_s4.c \
+generated/minval1_s1.c \
+generated/minval1_s4.c \
+generated/pow_m1_m1.c \
+generated/pow_m1_m2.c \
+generated/pow_m1_m4.c \
+generated/pow_m1_m8.c \
+generated/pow_m1_m16.c \
+generated/pow_m2_m1.c \
+generated/pow_m2_m2.c \
+generated/pow_m2_m4.c \
+generated/pow_m2_m8.c \
+generated/pow_m2_m16.c \
+generated/pow_m4_m1.c \
+generated/pow_m4_m2.c \
+generated/pow_m4_m4.c \
+generated/pow_m4_m8.c \
+generated/pow_m4_m16.c \
+generated/pow_m8_m1.c \
+generated/pow_m8_m2.c \
+generated/pow_m8_m4.c \
+generated/pow_m8_m8.c \
+generated/pow_m8_m16.c \
+generated/pow_m16_m1.c \
+generated/pow_m16_m2.c \
+generated/pow_m16_m4.c \
+generated/pow_m16_m8.c \
+generated/pow_m16_m16.c \
+$(i_matmul_c) $(i_matmull_c) $(i_matmulavx128_c) \
+selected_int_kind.inc selected_real_kind.inc kinds.h \
+kinds.inc c99_protos.inc fpu-target.h fpu-target.inc \
+include/ISO_Fortran_binding.h runtime/ISO_Fortran_binding.c
+
+# Specifics
+gfor_specific_src= \
 generated/_abs_c4.F90 \
 generated/_abs_c8.F90 \
 generated/_abs_c10.F90 \
@@ -1131,9 +1012,7 @@ generated/_anint_r4.F90 \
 generated/_anint_r8.F90 \
 generated/_anint_r10.F90 \
 generated/_anint_r16.F90 \
-generated/_anint_r17.F90
-
-gfor_built_specific2_src= \
+generated/_anint_r17.F90 \
 generated/_sign_i4.F90 \
 generated/_sign_i8.F90 \
 generated/_sign_i16.F90 \
@@ -1162,14 +1041,8 @@ generated/_mod_r4.F90 \
 generated/_mod_r8.F90 \
 generated/_mod_r10.F90 \
 generated/_mod_r16.F90 \
-generated/_mod_r17.F90
-
-gfor_misc_specifics = generated/misc_specifics.F90
-
-gfor_specific_src= \
-$(gfor_built_specific_src) \
-$(gfor_built_specific2_src) \
-$(gfor_misc_specifics) \
+generated/_mod_r17.F90 \
+generated/misc_specifics.F90 \
 intrinsics/dprod_r8.f90 \
 intrinsics/f2c_specifics.F90 \
 intrinsics/random_init.f90
@@ -1221,8 +1094,7 @@ ieee_exceptions.mod: ieee/ieee_exceptions.lo
 ieee_arithmetic.mod: ieee/ieee_arithmetic.lo
 	:
 
-BUILT_SOURCES=$(gfor_built_src) $(gfor_built_specific_src) \
-	$(gfor_built_specific2_src) $(gfor_misc_specifics)
+BUILT_SOURCES=$(gfor_built_src)
 
 libgfortran_la_SOURCES = $(gfor_src) $(gfor_built_src) $(gfor_io_src) \
 	$(gfor_helper_src) $(gfor_ieee_src) $(gfor_io_headers) $(gfor_specific_src)
@@ -1262,7 +1134,7 @@ include/ISO_Fortran_binding.h: $(srcdir)/ISO_Fortran_binding.h
 clean-local:
 	-rm -rf include $(version_dep)
 
-EXTRA_DIST = $(m4_files)
+EXTRA_DIST = m4
 
 # target overrides
 -include $(tmake_file)
diff --git a/libgfortran/Makefile.in b/libgfortran/Makefile.in
index f49ca02bc61..dd88f8893b7 100644
--- a/libgfortran/Makefile.in
+++ b/libgfortran/Makefile.in
@@ -231,37 +231,54 @@ libgfortran_la_LIBADD =
 am__objects_3 = runtime/bounds.lo runtime/compile_options.lo \
 	runtime/memory.lo runtime/string.lo runtime/select.lo \
 	$(am__objects_1) $(am__objects_2)
-am__objects_4 = generated/all_l1.lo generated/all_l2.lo \
-	generated/all_l4.lo generated/all_l8.lo generated/all_l16.lo
-am__objects_5 = generated/any_l1.lo generated/any_l2.lo \
-	generated/any_l4.lo generated/any_l8.lo generated/any_l16.lo
-am__objects_6 = generated/count_1_l.lo generated/count_2_l.lo \
+am__objects_4 = generated/matmul_i1.lo generated/matmul_i2.lo \
+	generated/matmul_i4.lo generated/matmul_i8.lo \
+	generated/matmul_i16.lo generated/matmul_r4.lo \
+	generated/matmul_r8.lo generated/matmul_r10.lo \
+	generated/matmul_r16.lo generated/matmul_r17.lo \
+	generated/matmul_c4.lo generated/matmul_c8.lo \
+	generated/matmul_c10.lo generated/matmul_c16.lo \
+	generated/matmul_c17.lo
+am__objects_5 = generated/matmul_l4.lo generated/matmul_l8.lo \
+	generated/matmul_l16.lo
+am__objects_6 = generated/matmulavx128_i1.lo \
+	generated/matmulavx128_i2.lo generated/matmulavx128_i4.lo \
+	generated/matmulavx128_i8.lo generated/matmulavx128_i16.lo \
+	generated/matmulavx128_r4.lo generated/matmulavx128_r8.lo \
+	generated/matmulavx128_r10.lo generated/matmulavx128_r16.lo \
+	generated/matmulavx128_r17.lo generated/matmulavx128_c4.lo \
+	generated/matmulavx128_c8.lo generated/matmulavx128_c10.lo \
+	generated/matmulavx128_c16.lo generated/matmulavx128_c17.lo
+am__objects_7 = generated/all_l1.lo generated/all_l2.lo \
+	generated/all_l4.lo generated/all_l8.lo generated/all_l16.lo \
+	generated/any_l1.lo generated/any_l2.lo generated/any_l4.lo \
+	generated/any_l8.lo generated/any_l16.lo \
+	generated/count_1_l.lo generated/count_2_l.lo \
 	generated/count_4_l.lo generated/count_8_l.lo \
-	generated/count_16_l.lo
-am__objects_7 = generated/maxloc0_4_i1.lo generated/maxloc0_8_i1.lo \
-	generated/maxloc0_16_i1.lo generated/maxloc0_4_i2.lo \
-	generated/maxloc0_8_i2.lo generated/maxloc0_16_i2.lo \
-	generated/maxloc0_4_i4.lo generated/maxloc0_8_i4.lo \
-	generated/maxloc0_16_i4.lo generated/maxloc0_4_i8.lo \
-	generated/maxloc0_8_i8.lo generated/maxloc0_16_i8.lo \
-	generated/maxloc0_4_i16.lo generated/maxloc0_8_i16.lo \
-	generated/maxloc0_16_i16.lo generated/maxloc0_4_m1.lo \
-	generated/maxloc0_8_m1.lo generated/maxloc0_16_m1.lo \
-	generated/maxloc0_4_m2.lo generated/maxloc0_8_m2.lo \
-	generated/maxloc0_16_m2.lo generated/maxloc0_4_m4.lo \
-	generated/maxloc0_8_m4.lo generated/maxloc0_16_m4.lo \
-	generated/maxloc0_4_m8.lo generated/maxloc0_8_m8.lo \
-	generated/maxloc0_16_m8.lo generated/maxloc0_4_m16.lo \
-	generated/maxloc0_8_m16.lo generated/maxloc0_16_m16.lo \
-	generated/maxloc0_4_r4.lo generated/maxloc0_8_r4.lo \
-	generated/maxloc0_16_r4.lo generated/maxloc0_4_r8.lo \
-	generated/maxloc0_8_r8.lo generated/maxloc0_16_r8.lo \
-	generated/maxloc0_4_r10.lo generated/maxloc0_8_r10.lo \
-	generated/maxloc0_16_r10.lo generated/maxloc0_4_r16.lo \
-	generated/maxloc0_8_r16.lo generated/maxloc0_16_r16.lo \
-	generated/maxloc0_4_r17.lo generated/maxloc0_8_r17.lo \
-	generated/maxloc0_16_r17.lo
-am__objects_8 = generated/maxloc1_4_i1.lo generated/maxloc1_8_i1.lo \
+	generated/count_16_l.lo generated/maxloc0_4_i1.lo \
+	generated/maxloc0_8_i1.lo generated/maxloc0_16_i1.lo \
+	generated/maxloc0_4_i2.lo generated/maxloc0_8_i2.lo \
+	generated/maxloc0_16_i2.lo generated/maxloc0_4_i4.lo \
+	generated/maxloc0_8_i4.lo generated/maxloc0_16_i4.lo \
+	generated/maxloc0_4_i8.lo generated/maxloc0_8_i8.lo \
+	generated/maxloc0_16_i8.lo generated/maxloc0_4_i16.lo \
+	generated/maxloc0_8_i16.lo generated/maxloc0_16_i16.lo \
+	generated/maxloc0_4_m1.lo generated/maxloc0_8_m1.lo \
+	generated/maxloc0_16_m1.lo generated/maxloc0_4_m2.lo \
+	generated/maxloc0_8_m2.lo generated/maxloc0_16_m2.lo \
+	generated/maxloc0_4_m4.lo generated/maxloc0_8_m4.lo \
+	generated/maxloc0_16_m4.lo generated/maxloc0_4_m8.lo \
+	generated/maxloc0_8_m8.lo generated/maxloc0_16_m8.lo \
+	generated/maxloc0_4_m16.lo generated/maxloc0_8_m16.lo \
+	generated/maxloc0_16_m16.lo generated/maxloc0_4_r4.lo \
+	generated/maxloc0_8_r4.lo generated/maxloc0_16_r4.lo \
+	generated/maxloc0_4_r8.lo generated/maxloc0_8_r8.lo \
+	generated/maxloc0_16_r8.lo generated/maxloc0_4_r10.lo \
+	generated/maxloc0_8_r10.lo generated/maxloc0_16_r10.lo \
+	generated/maxloc0_4_r16.lo generated/maxloc0_8_r16.lo \
+	generated/maxloc0_16_r16.lo generated/maxloc0_4_r17.lo \
+	generated/maxloc0_8_r17.lo generated/maxloc0_16_r17.lo \
+	generated/maxloc1_4_i1.lo generated/maxloc1_8_i1.lo \
 	generated/maxloc1_16_i1.lo generated/maxloc1_4_i2.lo \
 	generated/maxloc1_8_i2.lo generated/maxloc1_16_i2.lo \
 	generated/maxloc1_4_i4.lo generated/maxloc1_8_i4.lo \
@@ -283,16 +300,15 @@ am__objects_8 = generated/maxloc1_4_i1.lo generated/maxloc1_8_i1.lo \
 	generated/maxloc1_16_r10.lo generated/maxloc1_4_r16.lo \
 	generated/maxloc1_8_r16.lo generated/maxloc1_16_r16.lo \
 	generated/maxloc1_4_r17.lo generated/maxloc1_8_r17.lo \
-	generated/maxloc1_16_r17.lo
-am__objects_9 = generated/maxval_i1.lo generated/maxval_i2.lo \
-	generated/maxval_i4.lo generated/maxval_i8.lo \
-	generated/maxval_i16.lo generated/maxval_m1.lo \
-	generated/maxval_m2.lo generated/maxval_m4.lo \
-	generated/maxval_m8.lo generated/maxval_m16.lo \
-	generated/maxval_r4.lo generated/maxval_r8.lo \
-	generated/maxval_r10.lo generated/maxval_r16.lo \
-	generated/maxval_r17.lo
-am__objects_10 = generated/minloc0_4_i1.lo generated/minloc0_8_i1.lo \
+	generated/maxloc1_16_r17.lo generated/maxval_i1.lo \
+	generated/maxval_i2.lo generated/maxval_i4.lo \
+	generated/maxval_i8.lo generated/maxval_i16.lo \
+	generated/maxval_m1.lo generated/maxval_m2.lo \
+	generated/maxval_m4.lo generated/maxval_m8.lo \
+	generated/maxval_m16.lo generated/maxval_r4.lo \
+	generated/maxval_r8.lo generated/maxval_r10.lo \
+	generated/maxval_r16.lo generated/maxval_r17.lo \
+	generated/minloc0_4_i1.lo generated/minloc0_8_i1.lo \
 	generated/minloc0_16_i1.lo generated/minloc0_4_i2.lo \
 	generated/minloc0_8_i2.lo generated/minloc0_16_i2.lo \
 	generated/minloc0_4_i4.lo generated/minloc0_8_i4.lo \
@@ -314,171 +330,140 @@ am__objects_10 = generated/minloc0_4_i1.lo generated/minloc0_8_i1.lo \
 	generated/minloc0_16_r10.lo generated/minloc0_4_r16.lo \
 	generated/minloc0_8_r16.lo generated/minloc0_16_r16.lo \
 	generated/minloc0_4_r17.lo generated/minloc0_8_r17.lo \
-	generated/minloc0_16_r17.lo
-am__objects_11 = generated/minloc1_4_i1.lo generated/minloc1_8_i1.lo \
-	generated/minloc1_16_i1.lo generated/minloc1_4_i2.lo \
-	generated/minloc1_8_i2.lo generated/minloc1_16_i2.lo \
-	generated/minloc1_4_i4.lo generated/minloc1_8_i4.lo \
-	generated/minloc1_16_i4.lo generated/minloc1_4_i8.lo \
-	generated/minloc1_8_i8.lo generated/minloc1_16_i8.lo \
-	generated/minloc1_4_i16.lo generated/minloc1_8_i16.lo \
-	generated/minloc1_16_i16.lo generated/minloc1_4_m1.lo \
-	generated/minloc1_8_m1.lo generated/minloc1_16_m1.lo \
-	generated/minloc1_4_m2.lo generated/minloc1_8_m2.lo \
-	generated/minloc1_16_m2.lo generated/minloc1_4_m4.lo \
-	generated/minloc1_8_m4.lo generated/minloc1_16_m4.lo \
-	generated/minloc1_4_m8.lo generated/minloc1_8_m8.lo \
-	generated/minloc1_16_m8.lo generated/minloc1_4_m16.lo \
-	generated/minloc1_8_m16.lo generated/minloc1_16_m16.lo \
-	generated/minloc1_4_r4.lo generated/minloc1_8_r4.lo \
-	generated/minloc1_16_r4.lo generated/minloc1_4_r8.lo \
-	generated/minloc1_8_r8.lo generated/minloc1_16_r8.lo \
-	generated/minloc1_4_r10.lo generated/minloc1_8_r10.lo \
-	generated/minloc1_16_r10.lo generated/minloc1_4_r16.lo \
-	generated/minloc1_8_r16.lo generated/minloc1_16_r16.lo \
-	generated/minloc1_4_r17.lo generated/minloc1_8_r17.lo \
-	generated/minloc1_16_r17.lo
-am__objects_12 = generated/minval_i1.lo generated/minval_i2.lo \
+	generated/minloc0_16_r17.lo generated/minloc1_4_i1.lo \
+	generated/minloc1_8_i1.lo generated/minloc1_16_i1.lo \
+	generated/minloc1_4_i2.lo generated/minloc1_8_i2.lo \
+	generated/minloc1_16_i2.lo generated/minloc1_4_i4.lo \
+	generated/minloc1_8_i4.lo generated/minloc1_16_i4.lo \
+	generated/minloc1_4_i8.lo generated/minloc1_8_i8.lo \
+	generated/minloc1_16_i8.lo generated/minloc1_4_i16.lo \
+	generated/minloc1_8_i16.lo generated/minloc1_16_i16.lo \
+	generated/minloc1_4_m1.lo generated/minloc1_8_m1.lo \
+	generated/minloc1_16_m1.lo generated/minloc1_4_m2.lo \
+	generated/minloc1_8_m2.lo generated/minloc1_16_m2.lo \
+	generated/minloc1_4_m4.lo generated/minloc1_8_m4.lo \
+	generated/minloc1_16_m4.lo generated/minloc1_4_m8.lo \
+	generated/minloc1_8_m8.lo generated/minloc1_16_m8.lo \
+	generated/minloc1_4_m16.lo generated/minloc1_8_m16.lo \
+	generated/minloc1_16_m16.lo generated/minloc1_4_r4.lo \
+	generated/minloc1_8_r4.lo generated/minloc1_16_r4.lo \
+	generated/minloc1_4_r8.lo generated/minloc1_8_r8.lo \
+	generated/minloc1_16_r8.lo generated/minloc1_4_r10.lo \
+	generated/minloc1_8_r10.lo generated/minloc1_16_r10.lo \
+	generated/minloc1_4_r16.lo generated/minloc1_8_r16.lo \
+	generated/minloc1_16_r16.lo generated/minloc1_4_r17.lo \
+	generated/minloc1_8_r17.lo generated/minloc1_16_r17.lo \
+	generated/minval_i1.lo generated/minval_i2.lo \
 	generated/minval_i4.lo generated/minval_i8.lo \
 	generated/minval_i16.lo generated/minval_m1.lo \
 	generated/minval_m2.lo generated/minval_m4.lo \
 	generated/minval_m8.lo generated/minval_m16.lo \
 	generated/minval_r4.lo generated/minval_r8.lo \
 	generated/minval_r10.lo generated/minval_r16.lo \
-	generated/minval_r17.lo
-am__objects_13 = generated/product_i1.lo generated/product_i2.lo \
-	generated/product_i4.lo generated/product_i8.lo \
-	generated/product_i16.lo generated/product_r4.lo \
-	generated/product_r8.lo generated/product_r10.lo \
-	generated/product_r16.lo generated/product_r17.lo \
-	generated/product_c4.lo generated/product_c8.lo \
-	generated/product_c10.lo generated/product_c16.lo \
-	generated/product_c17.lo
-am__objects_14 = generated/sum_i1.lo generated/sum_i2.lo \
-	generated/sum_i4.lo generated/sum_i8.lo generated/sum_i16.lo \
-	generated/sum_r4.lo generated/sum_r8.lo generated/sum_r10.lo \
-	generated/sum_r16.lo generated/sum_r17.lo generated/sum_c4.lo \
-	generated/sum_c8.lo generated/sum_c10.lo generated/sum_c16.lo \
-	generated/sum_c17.lo
-am__objects_15 = generated/bessel_r4.lo generated/bessel_r8.lo \
+	generated/minval_r17.lo generated/product_i1.lo \
+	generated/product_i2.lo generated/product_i4.lo \
+	generated/product_i8.lo generated/product_i16.lo \
+	generated/product_r4.lo generated/product_r8.lo \
+	generated/product_r10.lo generated/product_r16.lo \
+	generated/product_r17.lo generated/product_c4.lo \
+	generated/product_c8.lo generated/product_c10.lo \
+	generated/product_c16.lo generated/product_c17.lo \
+	generated/sum_i1.lo generated/sum_i2.lo generated/sum_i4.lo \
+	generated/sum_i8.lo generated/sum_i16.lo generated/sum_r4.lo \
+	generated/sum_r8.lo generated/sum_r10.lo generated/sum_r16.lo \
+	generated/sum_r17.lo generated/sum_c4.lo generated/sum_c8.lo \
+	generated/sum_c10.lo generated/sum_c16.lo generated/sum_c17.lo \
+	generated/bessel_r4.lo generated/bessel_r8.lo \
 	generated/bessel_r10.lo generated/bessel_r16.lo \
-	generated/bessel_r17.lo
-am__objects_16 = generated/iall_i1.lo generated/iall_i2.lo \
-	generated/iall_i4.lo generated/iall_i8.lo \
-	generated/iall_i16.lo
-am__objects_17 = generated/iany_i1.lo generated/iany_i2.lo \
-	generated/iany_i4.lo generated/iany_i8.lo \
-	generated/iany_i16.lo
-am__objects_18 = generated/iparity_i1.lo generated/iparity_i2.lo \
-	generated/iparity_i4.lo generated/iparity_i8.lo \
-	generated/iparity_i16.lo
-am__objects_19 = generated/norm2_r4.lo generated/norm2_r8.lo \
+	generated/bessel_r17.lo generated/iall_i1.lo \
+	generated/iall_i2.lo generated/iall_i4.lo generated/iall_i8.lo \
+	generated/iall_i16.lo generated/iany_i1.lo \
+	generated/iany_i2.lo generated/iany_i4.lo generated/iany_i8.lo \
+	generated/iany_i16.lo generated/iparity_i1.lo \
+	generated/iparity_i2.lo generated/iparity_i4.lo \
+	generated/iparity_i8.lo generated/iparity_i16.lo \
+	generated/norm2_r4.lo generated/norm2_r8.lo \
 	generated/norm2_r10.lo generated/norm2_r16.lo \
-	generated/norm2_r17.lo
-am__objects_20 = generated/parity_l1.lo generated/parity_l2.lo \
-	generated/parity_l4.lo generated/parity_l8.lo \
-	generated/parity_l16.lo
-am__objects_21 = generated/matmul_i1.lo generated/matmul_i2.lo \
-	generated/matmul_i4.lo generated/matmul_i8.lo \
-	generated/matmul_i16.lo generated/matmul_r4.lo \
-	generated/matmul_r8.lo generated/matmul_r10.lo \
-	generated/matmul_r16.lo generated/matmul_r17.lo \
-	generated/matmul_c4.lo generated/matmul_c8.lo \
-	generated/matmul_c10.lo generated/matmul_c16.lo \
-	generated/matmul_c17.lo
-am__objects_22 = generated/matmul_l4.lo generated/matmul_l8.lo \
-	generated/matmul_l16.lo
-am__objects_23 = generated/shape_i1.lo generated/shape_i2.lo \
+	generated/norm2_r17.lo generated/parity_l1.lo \
+	generated/parity_l2.lo generated/parity_l4.lo \
+	generated/parity_l8.lo generated/parity_l16.lo \
+	generated/shape_i1.lo generated/shape_i2.lo \
 	generated/shape_i4.lo generated/shape_i8.lo \
-	generated/shape_i16.lo
-am__objects_24 = generated/eoshift1_4.lo generated/eoshift1_8.lo \
-	generated/eoshift1_16.lo
-am__objects_25 = generated/eoshift3_4.lo generated/eoshift3_8.lo \
-	generated/eoshift3_16.lo
-am__objects_26 = generated/cshift1_4.lo generated/cshift1_8.lo \
-	generated/cshift1_16.lo
-am__objects_27 = generated/reshape_i4.lo generated/reshape_i8.lo \
+	generated/shape_i16.lo generated/eoshift1_4.lo \
+	generated/eoshift1_8.lo generated/eoshift1_16.lo \
+	generated/eoshift3_4.lo generated/eoshift3_8.lo \
+	generated/eoshift3_16.lo generated/cshift1_4.lo \
+	generated/cshift1_8.lo generated/cshift1_16.lo \
+	generated/reshape_i4.lo generated/reshape_i8.lo \
 	generated/reshape_i16.lo generated/reshape_r4.lo \
 	generated/reshape_r8.lo generated/reshape_r10.lo \
 	generated/reshape_r16.lo generated/reshape_r17.lo \
 	generated/reshape_c4.lo generated/reshape_c8.lo \
 	generated/reshape_c10.lo generated/reshape_c16.lo \
-	generated/reshape_c17.lo
-am__objects_28 = generated/in_pack_i1.lo generated/in_pack_i2.lo \
-	generated/in_pack_i4.lo generated/in_pack_i8.lo \
-	generated/in_pack_i16.lo generated/in_pack_r4.lo \
-	generated/in_pack_r8.lo generated/in_pack_r10.lo \
-	generated/in_pack_r16.lo generated/in_pack_r17.lo \
-	generated/in_pack_c4.lo generated/in_pack_c8.lo \
-	generated/in_pack_c10.lo generated/in_pack_c16.lo \
-	generated/in_pack_c17.lo
-am__objects_29 = generated/in_unpack_i1.lo generated/in_unpack_i2.lo \
+	generated/reshape_c17.lo generated/in_pack_i1.lo \
+	generated/in_pack_i2.lo generated/in_pack_i4.lo \
+	generated/in_pack_i8.lo generated/in_pack_i16.lo \
+	generated/in_pack_r4.lo generated/in_pack_r8.lo \
+	generated/in_pack_r10.lo generated/in_pack_r16.lo \
+	generated/in_pack_r17.lo generated/in_pack_c4.lo \
+	generated/in_pack_c8.lo generated/in_pack_c10.lo \
+	generated/in_pack_c16.lo generated/in_pack_c17.lo \
+	generated/in_unpack_i1.lo generated/in_unpack_i2.lo \
 	generated/in_unpack_i4.lo generated/in_unpack_i8.lo \
 	generated/in_unpack_i16.lo generated/in_unpack_r4.lo \
 	generated/in_unpack_r8.lo generated/in_unpack_r10.lo \
 	generated/in_unpack_r16.lo generated/in_unpack_r17.lo \
 	generated/in_unpack_c4.lo generated/in_unpack_c8.lo \
 	generated/in_unpack_c10.lo generated/in_unpack_c16.lo \
-	generated/in_unpack_c17.lo
-am__objects_30 = generated/pow_i4_i4.lo generated/pow_i8_i4.lo \
-	generated/pow_i16_i4.lo generated/pow_r16_i4.lo \
-	generated/pow_r17_i4.lo generated/pow_c4_i4.lo \
-	generated/pow_c8_i4.lo generated/pow_c10_i4.lo \
-	generated/pow_c16_i4.lo generated/pow_c17_i4.lo \
-	generated/pow_i4_i8.lo generated/pow_i8_i8.lo \
-	generated/pow_i16_i8.lo generated/pow_r4_i8.lo \
-	generated/pow_r8_i8.lo generated/pow_r10_i8.lo \
-	generated/pow_r16_i8.lo generated/pow_r17_i8.lo \
-	generated/pow_c4_i8.lo generated/pow_c8_i8.lo \
-	generated/pow_c10_i8.lo generated/pow_c16_i8.lo \
-	generated/pow_c17_i8.lo generated/pow_i4_i16.lo \
-	generated/pow_i8_i16.lo generated/pow_i16_i16.lo \
-	generated/pow_r4_i16.lo generated/pow_r8_i16.lo \
-	generated/pow_r10_i16.lo generated/pow_r16_i16.lo \
-	generated/pow_r17_i16.lo generated/pow_c4_i16.lo \
-	generated/pow_c8_i16.lo generated/pow_c10_i16.lo \
-	generated/pow_c16_i16.lo generated/pow_c17_i16.lo
-am__objects_31 = generated/pack_i1.lo generated/pack_i2.lo \
-	generated/pack_i4.lo generated/pack_i8.lo \
+	generated/in_unpack_c17.lo generated/pow_i4_i4.lo \
+	generated/pow_i8_i4.lo generated/pow_i16_i4.lo \
+	generated/pow_r16_i4.lo generated/pow_r17_i4.lo \
+	generated/pow_c4_i4.lo generated/pow_c8_i4.lo \
+	generated/pow_c10_i4.lo generated/pow_c16_i4.lo \
+	generated/pow_c17_i4.lo generated/pow_i4_i8.lo \
+	generated/pow_i8_i8.lo generated/pow_i16_i8.lo \
+	generated/pow_r4_i8.lo generated/pow_r8_i8.lo \
+	generated/pow_r10_i8.lo generated/pow_r16_i8.lo \
+	generated/pow_r17_i8.lo generated/pow_c4_i8.lo \
+	generated/pow_c8_i8.lo generated/pow_c10_i8.lo \
+	generated/pow_c16_i8.lo generated/pow_c17_i8.lo \
+	generated/pow_i4_i16.lo generated/pow_i8_i16.lo \
+	generated/pow_i16_i16.lo generated/pow_r4_i16.lo \
+	generated/pow_r8_i16.lo generated/pow_r10_i16.lo \
+	generated/pow_r16_i16.lo generated/pow_r17_i16.lo \
+	generated/pow_c4_i16.lo generated/pow_c8_i16.lo \
+	generated/pow_c10_i16.lo generated/pow_c16_i16.lo \
+	generated/pow_c17_i16.lo generated/pack_i1.lo \
+	generated/pack_i2.lo generated/pack_i4.lo generated/pack_i8.lo \
 	generated/pack_i16.lo generated/pack_r4.lo \
 	generated/pack_r8.lo generated/pack_r10.lo \
 	generated/pack_r16.lo generated/pack_r17.lo \
 	generated/pack_c4.lo generated/pack_c8.lo \
 	generated/pack_c10.lo generated/pack_c16.lo \
-	generated/pack_c17.lo
-am__objects_32 = generated/unpack_i1.lo generated/unpack_i2.lo \
-	generated/unpack_i4.lo generated/unpack_i8.lo \
-	generated/unpack_i16.lo generated/unpack_r4.lo \
-	generated/unpack_r8.lo generated/unpack_r10.lo \
-	generated/unpack_r16.lo generated/unpack_r17.lo \
-	generated/unpack_c4.lo generated/unpack_c8.lo \
-	generated/unpack_c10.lo generated/unpack_c16.lo \
-	generated/unpack_c17.lo
-am__objects_33 = generated/matmulavx128_i1.lo \
-	generated/matmulavx128_i2.lo generated/matmulavx128_i4.lo \
-	generated/matmulavx128_i8.lo generated/matmulavx128_i16.lo \
-	generated/matmulavx128_r4.lo generated/matmulavx128_r8.lo \
-	generated/matmulavx128_r10.lo generated/matmulavx128_r16.lo \
-	generated/matmulavx128_r17.lo generated/matmulavx128_c4.lo \
-	generated/matmulavx128_c8.lo generated/matmulavx128_c10.lo \
-	generated/matmulavx128_c16.lo generated/matmulavx128_c17.lo
-am__objects_34 = generated/spread_i1.lo generated/spread_i2.lo \
+	generated/pack_c17.lo generated/unpack_i1.lo \
+	generated/unpack_i2.lo generated/unpack_i4.lo \
+	generated/unpack_i8.lo generated/unpack_i16.lo \
+	generated/unpack_r4.lo generated/unpack_r8.lo \
+	generated/unpack_r10.lo generated/unpack_r16.lo \
+	generated/unpack_r17.lo generated/unpack_c4.lo \
+	generated/unpack_c8.lo generated/unpack_c10.lo \
+	generated/unpack_c16.lo generated/unpack_c17.lo \
+	generated/spread_i1.lo generated/spread_i2.lo \
 	generated/spread_i4.lo generated/spread_i8.lo \
 	generated/spread_i16.lo generated/spread_r4.lo \
 	generated/spread_r8.lo generated/spread_r10.lo \
 	generated/spread_r16.lo generated/spread_r17.lo \
 	generated/spread_c4.lo generated/spread_c8.lo \
 	generated/spread_c10.lo generated/spread_c16.lo \
-	generated/spread_c17.lo
-am__objects_35 = generated/cshift0_i1.lo generated/cshift0_i2.lo \
-	generated/cshift0_i4.lo generated/cshift0_i8.lo \
-	generated/cshift0_i16.lo generated/cshift0_r4.lo \
-	generated/cshift0_r8.lo generated/cshift0_r10.lo \
-	generated/cshift0_r16.lo generated/cshift0_r17.lo \
-	generated/cshift0_c4.lo generated/cshift0_c8.lo \
-	generated/cshift0_c10.lo generated/cshift0_c16.lo \
-	generated/cshift0_c17.lo
-am__objects_36 = generated/cshift1_4_i1.lo generated/cshift1_4_i2.lo \
+	generated/spread_c17.lo generated/cshift0_i1.lo \
+	generated/cshift0_i2.lo generated/cshift0_i4.lo \
+	generated/cshift0_i8.lo generated/cshift0_i16.lo \
+	generated/cshift0_r4.lo generated/cshift0_r8.lo \
+	generated/cshift0_r10.lo generated/cshift0_r16.lo \
+	generated/cshift0_r17.lo generated/cshift0_c4.lo \
+	generated/cshift0_c8.lo generated/cshift0_c10.lo \
+	generated/cshift0_c16.lo generated/cshift0_c17.lo \
+	generated/cshift1_4_i1.lo generated/cshift1_4_i2.lo \
 	generated/cshift1_4_i4.lo generated/cshift1_4_i8.lo \
 	generated/cshift1_4_i16.lo generated/cshift1_4_r4.lo \
 	generated/cshift1_4_r8.lo generated/cshift1_4_r10.lo \
@@ -500,88 +485,70 @@ am__objects_36 = generated/cshift1_4_i1.lo generated/cshift1_4_i2.lo \
 	generated/cshift1_16_r16.lo generated/cshift1_16_r17.lo \
 	generated/cshift1_16_c4.lo generated/cshift1_16_c8.lo \
 	generated/cshift1_16_c10.lo generated/cshift1_16_c16.lo \
-	generated/cshift1_16_c17.lo
-am__objects_37 = generated/maxloc0_4_s1.lo generated/maxloc0_4_s4.lo \
-	generated/maxloc0_8_s1.lo generated/maxloc0_8_s4.lo \
-	generated/maxloc0_16_s1.lo generated/maxloc0_16_s4.lo
-am__objects_38 = generated/minloc0_4_s1.lo generated/minloc0_4_s4.lo \
-	generated/minloc0_8_s1.lo generated/minloc0_8_s4.lo \
-	generated/minloc0_16_s1.lo generated/minloc0_16_s4.lo
-am__objects_39 = generated/maxloc1_4_s1.lo generated/maxloc1_4_s4.lo \
-	generated/maxloc1_8_s1.lo generated/maxloc1_8_s4.lo \
-	generated/maxloc1_16_s1.lo generated/maxloc1_16_s4.lo
-am__objects_40 = generated/minloc1_4_s1.lo generated/minloc1_4_s4.lo \
-	generated/minloc1_8_s1.lo generated/minloc1_8_s4.lo \
-	generated/minloc1_16_s1.lo generated/minloc1_16_s4.lo
-am__objects_41 = generated/maxloc2_4_s1.lo generated/maxloc2_4_s4.lo \
-	generated/maxloc2_8_s1.lo generated/maxloc2_8_s4.lo \
-	generated/maxloc2_16_s1.lo generated/maxloc2_16_s4.lo
-am__objects_42 = generated/minloc2_4_s1.lo generated/minloc2_4_s4.lo \
-	generated/minloc2_8_s1.lo generated/minloc2_8_s4.lo \
-	generated/minloc2_16_s1.lo generated/minloc2_16_s4.lo
-am__objects_43 = generated/maxval0_s1.lo generated/maxval0_s4.lo
-am__objects_44 = generated/minval0_s1.lo generated/minval0_s4.lo
-am__objects_45 = generated/maxval1_s1.lo generated/maxval1_s4.lo
-am__objects_46 = generated/minval1_s1.lo generated/minval1_s4.lo
-am__objects_47 = generated/findloc0_i1.lo generated/findloc0_i2.lo \
-	generated/findloc0_i4.lo generated/findloc0_i8.lo \
-	generated/findloc0_i16.lo generated/findloc0_r4.lo \
-	generated/findloc0_r8.lo generated/findloc0_r10.lo \
-	generated/findloc0_r16.lo generated/findloc0_r17.lo \
-	generated/findloc0_c4.lo generated/findloc0_c8.lo \
-	generated/findloc0_c10.lo generated/findloc0_c16.lo \
-	generated/findloc0_c17.lo
-am__objects_48 = generated/findloc0_s1.lo generated/findloc0_s4.lo
-am__objects_49 = generated/findloc1_i1.lo generated/findloc1_i2.lo \
+	generated/cshift1_16_c17.lo generated/findloc0_i1.lo \
+	generated/findloc0_i2.lo generated/findloc0_i4.lo \
+	generated/findloc0_i8.lo generated/findloc0_i16.lo \
+	generated/findloc0_r4.lo generated/findloc0_r8.lo \
+	generated/findloc0_r10.lo generated/findloc0_r16.lo \
+	generated/findloc0_r17.lo generated/findloc0_c4.lo \
+	generated/findloc0_c8.lo generated/findloc0_c10.lo \
+	generated/findloc0_c16.lo generated/findloc0_c17.lo \
+	generated/findloc0_s1.lo generated/findloc0_s4.lo \
+	generated/findloc1_i1.lo generated/findloc1_i2.lo \
 	generated/findloc1_i4.lo generated/findloc1_i8.lo \
 	generated/findloc1_i16.lo generated/findloc1_r4.lo \
 	generated/findloc1_r8.lo generated/findloc1_r10.lo \
 	generated/findloc1_r16.lo generated/findloc1_r17.lo \
 	generated/findloc1_c4.lo generated/findloc1_c8.lo \
 	generated/findloc1_c10.lo generated/findloc1_c16.lo \
-	generated/findloc1_c17.lo
-am__objects_50 = generated/findloc1_s1.lo generated/findloc1_s4.lo
-am__objects_51 = generated/findloc2_s1.lo generated/findloc2_s4.lo
-am__objects_52 = runtime/ISO_Fortran_binding.lo
-am__objects_53 = generated/pow_m1_m1.lo generated/pow_m1_m2.lo \
-	generated/pow_m1_m4.lo generated/pow_m1_m8.lo \
-	generated/pow_m1_m16.lo generated/pow_m2_m1.lo \
-	generated/pow_m2_m2.lo generated/pow_m2_m4.lo \
-	generated/pow_m2_m8.lo generated/pow_m2_m16.lo \
-	generated/pow_m4_m1.lo generated/pow_m4_m2.lo \
-	generated/pow_m4_m4.lo generated/pow_m4_m8.lo \
-	generated/pow_m4_m16.lo generated/pow_m8_m1.lo \
-	generated/pow_m8_m2.lo generated/pow_m8_m4.lo \
-	generated/pow_m8_m8.lo generated/pow_m8_m16.lo \
-	generated/pow_m16_m1.lo generated/pow_m16_m2.lo \
-	generated/pow_m16_m4.lo generated/pow_m16_m8.lo \
-	generated/pow_m16_m16.lo
-am__objects_54 = $(am__objects_4) $(am__objects_5) $(am__objects_6) \
-	$(am__objects_7) $(am__objects_8) $(am__objects_9) \
-	$(am__objects_10) $(am__objects_11) $(am__objects_12) \
-	$(am__objects_13) $(am__objects_14) $(am__objects_15) \
-	$(am__objects_16) $(am__objects_17) $(am__objects_18) \
-	$(am__objects_19) $(am__objects_20) $(am__objects_21) \
-	$(am__objects_22) $(am__objects_23) $(am__objects_24) \
-	$(am__objects_25) $(am__objects_26) $(am__objects_27) \
-	$(am__objects_28) $(am__objects_29) $(am__objects_30) \
-	$(am__objects_31) $(am__objects_32) $(am__objects_33) \
-	$(am__objects_34) $(am__objects_35) $(am__objects_36) \
-	$(am__objects_37) $(am__objects_38) $(am__objects_39) \
-	$(am__objects_40) $(am__objects_41) $(am__objects_42) \
-	$(am__objects_43) $(am__objects_44) $(am__objects_45) \
-	$(am__objects_46) $(am__objects_47) $(am__objects_48) \
-	$(am__objects_49) $(am__objects_50) $(am__objects_51) \
-	$(am__objects_52) $(am__objects_53)
-@LIBGFOR_MINIMAL_FALSE@am__objects_55 = io/close.lo io/file_pos.lo \
+	generated/findloc1_c17.lo generated/findloc1_s1.lo \
+	generated/findloc1_s4.lo generated/findloc2_s1.lo \
+	generated/findloc2_s4.lo generated/maxloc0_4_s1.lo \
+	generated/maxloc0_4_s4.lo generated/maxloc0_8_s1.lo \
+	generated/maxloc0_8_s4.lo generated/maxloc0_16_s1.lo \
+	generated/maxloc0_16_s4.lo generated/maxloc1_4_s1.lo \
+	generated/maxloc1_4_s4.lo generated/maxloc1_8_s1.lo \
+	generated/maxloc1_8_s4.lo generated/maxloc1_16_s1.lo \
+	generated/maxloc1_16_s4.lo generated/maxloc2_4_s1.lo \
+	generated/maxloc2_4_s4.lo generated/maxloc2_8_s1.lo \
+	generated/maxloc2_8_s4.lo generated/maxloc2_16_s1.lo \
+	generated/maxloc2_16_s4.lo generated/maxval0_s1.lo \
+	generated/maxval0_s4.lo generated/maxval1_s1.lo \
+	generated/maxval1_s4.lo generated/minloc0_4_s1.lo \
+	generated/minloc0_4_s4.lo generated/minloc0_8_s1.lo \
+	generated/minloc0_8_s4.lo generated/minloc0_16_s1.lo \
+	generated/minloc0_16_s4.lo generated/minloc1_4_s1.lo \
+	generated/minloc1_4_s4.lo generated/minloc1_8_s1.lo \
+	generated/minloc1_8_s4.lo generated/minloc1_16_s1.lo \
+	generated/minloc1_16_s4.lo generated/minloc2_4_s1.lo \
+	generated/minloc2_4_s4.lo generated/minloc2_8_s1.lo \
+	generated/minloc2_8_s4.lo generated/minloc2_16_s1.lo \
+	generated/minloc2_16_s4.lo generated/minval0_s1.lo \
+	generated/minval0_s4.lo generated/minval1_s1.lo \
+	generated/minval1_s4.lo generated/pow_m1_m1.lo \
+	generated/pow_m1_m2.lo generated/pow_m1_m4.lo \
+	generated/pow_m1_m8.lo generated/pow_m1_m16.lo \
+	generated/pow_m2_m1.lo generated/pow_m2_m2.lo \
+	generated/pow_m2_m4.lo generated/pow_m2_m8.lo \
+	generated/pow_m2_m16.lo generated/pow_m4_m1.lo \
+	generated/pow_m4_m2.lo generated/pow_m4_m4.lo \
+	generated/pow_m4_m8.lo generated/pow_m4_m16.lo \
+	generated/pow_m8_m1.lo generated/pow_m8_m2.lo \
+	generated/pow_m8_m4.lo generated/pow_m8_m8.lo \
+	generated/pow_m8_m16.lo generated/pow_m16_m1.lo \
+	generated/pow_m16_m2.lo generated/pow_m16_m4.lo \
+	generated/pow_m16_m8.lo generated/pow_m16_m16.lo \
+	$(am__objects_4) $(am__objects_5) $(am__objects_6) \
+	runtime/ISO_Fortran_binding.lo
+@LIBGFOR_MINIMAL_FALSE@am__objects_8 = io/close.lo io/file_pos.lo \
 @LIBGFOR_MINIMAL_FALSE@	io/format.lo io/inquire.lo \
 @LIBGFOR_MINIMAL_FALSE@	io/intrinsics.lo io/list_read.lo \
 @LIBGFOR_MINIMAL_FALSE@	io/lock.lo io/open.lo io/read.lo \
 @LIBGFOR_MINIMAL_FALSE@	io/transfer.lo io/transfer128.lo \
 @LIBGFOR_MINIMAL_FALSE@	io/unit.lo io/unix.lo io/write.lo \
 @LIBGFOR_MINIMAL_FALSE@	io/fbuf.lo io/async.lo
-am__objects_56 = io/size_from_kind.lo $(am__objects_55)
-@LIBGFOR_MINIMAL_FALSE@am__objects_57 = intrinsics/access.lo \
+am__objects_9 = io/size_from_kind.lo $(am__objects_8)
+@LIBGFOR_MINIMAL_FALSE@am__objects_10 = intrinsics/access.lo \
 @LIBGFOR_MINIMAL_FALSE@	intrinsics/c99_functions.lo \
 @LIBGFOR_MINIMAL_FALSE@	intrinsics/chdir.lo intrinsics/chmod.lo \
 @LIBGFOR_MINIMAL_FALSE@	intrinsics/clock.lo \
@@ -605,8 +572,8 @@ am__objects_56 = io/size_from_kind.lo $(am__objects_55)
 @LIBGFOR_MINIMAL_FALSE@	intrinsics/system_clock.lo \
 @LIBGFOR_MINIMAL_FALSE@	intrinsics/time.lo intrinsics/umask.lo \
 @LIBGFOR_MINIMAL_FALSE@	intrinsics/unlink.lo
-@IEEE_SUPPORT_TRUE@am__objects_58 = ieee/ieee_helper.lo
-am__objects_59 = intrinsics/associated.lo intrinsics/abort.lo \
+@IEEE_SUPPORT_TRUE@am__objects_11 = ieee/ieee_helper.lo
+am__objects_12 = intrinsics/associated.lo intrinsics/abort.lo \
 	intrinsics/args.lo intrinsics/cshift0.lo \
 	intrinsics/eoshift0.lo intrinsics/eoshift2.lo \
 	intrinsics/erfc_scaled.lo intrinsics/extends_type_of.lo \
@@ -621,12 +588,12 @@ am__objects_59 = intrinsics/associated.lo intrinsics/abort.lo \
 	intrinsics/selected_real_kind.lo intrinsics/trigd.lo \
 	intrinsics/unpack_generic.lo runtime/in_pack_generic.lo \
 	runtime/in_unpack_generic.lo runtime/in_pack_class.lo \
-	runtime/in_unpack_class.lo $(am__objects_57) $(am__objects_58)
-@IEEE_SUPPORT_TRUE@am__objects_60 = ieee/ieee_arithmetic.lo \
+	runtime/in_unpack_class.lo $(am__objects_10) $(am__objects_11)
+@IEEE_SUPPORT_TRUE@am__objects_13 = ieee/ieee_arithmetic.lo \
 @IEEE_SUPPORT_TRUE@	ieee/ieee_exceptions.lo \
 @IEEE_SUPPORT_TRUE@	ieee/ieee_features.lo
-am__objects_61 =
-am__objects_62 = generated/_abs_c4.lo generated/_abs_c8.lo \
+am__objects_14 =
+am__objects_15 = generated/_abs_c4.lo generated/_abs_c8.lo \
 	generated/_abs_c10.lo generated/_abs_c16.lo \
 	generated/_abs_c17.lo generated/_abs_i4.lo \
 	generated/_abs_i8.lo generated/_abs_i16.lo \
@@ -694,8 +661,8 @@ am__objects_62 = generated/_abs_c4.lo generated/_abs_c8.lo \
 	generated/_aint_r10.lo generated/_aint_r16.lo \
 	generated/_aint_r17.lo generated/_anint_r4.lo \
 	generated/_anint_r8.lo generated/_anint_r10.lo \
-	generated/_anint_r16.lo generated/_anint_r17.lo
-am__objects_63 = generated/_sign_i4.lo generated/_sign_i8.lo \
+	generated/_anint_r16.lo generated/_anint_r17.lo \
+	generated/_sign_i4.lo generated/_sign_i8.lo \
 	generated/_sign_i16.lo generated/_sign_r4.lo \
 	generated/_sign_r8.lo generated/_sign_r10.lo \
 	generated/_sign_r16.lo generated/_sign_r17.lo \
@@ -709,14 +676,12 @@ am__objects_63 = generated/_sign_i4.lo generated/_sign_i8.lo \
 	generated/_mod_i8.lo generated/_mod_i16.lo \
 	generated/_mod_r4.lo generated/_mod_r8.lo \
 	generated/_mod_r10.lo generated/_mod_r16.lo \
-	generated/_mod_r17.lo
-am__objects_64 = generated/misc_specifics.lo
-am__objects_65 = $(am__objects_62) $(am__objects_63) $(am__objects_64) \
+	generated/_mod_r17.lo generated/misc_specifics.lo \
 	intrinsics/dprod_r8.lo intrinsics/f2c_specifics.lo \
 	intrinsics/random_init.lo
-am_libgfortran_la_OBJECTS = $(am__objects_3) $(am__objects_54) \
-	$(am__objects_56) $(am__objects_59) $(am__objects_60) \
-	$(am__objects_61) $(am__objects_65)
+am_libgfortran_la_OBJECTS = $(am__objects_3) $(am__objects_7) \
+	$(am__objects_9) $(am__objects_12) $(am__objects_13) \
+	$(am__objects_14) $(am__objects_15)
 libgfortran_la_OBJECTS = $(am_libgfortran_la_OBJECTS)
 AM_V_P = $(am__v_P_@AM_V@)
 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
@@ -1048,102 +1013,61 @@ gfor_helper_src = intrinsics/associated.c intrinsics/abort.c \
 gfor_src = runtime/bounds.c runtime/compile_options.c runtime/memory.c \
 	runtime/string.c runtime/select.c $(am__append_6) \
 	$(am__append_7)
-i_all_c = \
+i_matmul_c = \
+generated/matmul_i1.c \
+generated/matmul_i2.c \
+generated/matmul_i4.c \
+generated/matmul_i8.c \
+generated/matmul_i16.c \
+generated/matmul_r4.c \
+generated/matmul_r8.c \
+generated/matmul_r10.c \
+generated/matmul_r16.c \
+generated/matmul_r17.c \
+generated/matmul_c4.c \
+generated/matmul_c8.c \
+generated/matmul_c10.c \
+generated/matmul_c16.c \
+generated/matmul_c17.c
+
+i_matmulavx128_c = \
+generated/matmulavx128_i1.c \
+generated/matmulavx128_i2.c \
+generated/matmulavx128_i4.c \
+generated/matmulavx128_i8.c \
+generated/matmulavx128_i16.c \
+generated/matmulavx128_r4.c \
+generated/matmulavx128_r8.c \
+generated/matmulavx128_r10.c \
+generated/matmulavx128_r16.c \
+generated/matmulavx128_r17.c \
+generated/matmulavx128_c4.c \
+generated/matmulavx128_c8.c \
+generated/matmulavx128_c10.c \
+generated/matmulavx128_c16.c \
+generated/matmulavx128_c17.c
+
+i_matmull_c = \
+generated/matmul_l4.c \
+generated/matmul_l8.c \
+generated/matmul_l16.c
+
+gfor_built_src = \
 generated/all_l1.c \
 generated/all_l2.c \
 generated/all_l4.c \
 generated/all_l8.c \
-generated/all_l16.c
-
-i_any_c = \
+generated/all_l16.c \
 generated/any_l1.c \
 generated/any_l2.c \
 generated/any_l4.c \
 generated/any_l8.c \
-generated/any_l16.c
-
-i_bessel_c = \
-generated/bessel_r4.c \
-generated/bessel_r8.c \
-generated/bessel_r10.c \
-generated/bessel_r16.c \
-generated/bessel_r17.c
-
-i_count_c = \
+generated/any_l16.c \
 generated/count_1_l.c \
 generated/count_2_l.c \
 generated/count_4_l.c \
 generated/count_8_l.c \
-generated/count_16_l.c
-
-i_iall_c = \
-generated/iall_i1.c \
-generated/iall_i2.c \
-generated/iall_i4.c \
-generated/iall_i8.c \
-generated/iall_i16.c
-
-i_iany_c = \
-generated/iany_i1.c \
-generated/iany_i2.c \
-generated/iany_i4.c \
-generated/iany_i8.c \
-generated/iany_i16.c
-
-i_iparity_c = \
-generated/iparity_i1.c \
-generated/iparity_i2.c \
-generated/iparity_i4.c \
-generated/iparity_i8.c \
-generated/iparity_i16.c
-
-i_findloc0_c = \
-generated/findloc0_i1.c \
-generated/findloc0_i2.c \
-generated/findloc0_i4.c \
-generated/findloc0_i8.c \
-generated/findloc0_i16.c \
-generated/findloc0_r4.c \
-generated/findloc0_r8.c \
-generated/findloc0_r10.c \
-generated/findloc0_r16.c \
-generated/findloc0_r17.c \
-generated/findloc0_c4.c \
-generated/findloc0_c8.c \
-generated/findloc0_c10.c \
-generated/findloc0_c16.c \
-generated/findloc0_c17.c
-
-i_findloc0s_c = \
-generated/findloc0_s1.c \
-generated/findloc0_s4.c
-
-i_findloc1_c = \
-generated/findloc1_i1.c \
-generated/findloc1_i2.c \
-generated/findloc1_i4.c \
-generated/findloc1_i8.c \
-generated/findloc1_i16.c \
-generated/findloc1_r4.c \
-generated/findloc1_r8.c \
-generated/findloc1_r10.c \
-generated/findloc1_r16.c \
-generated/findloc1_r17.c \
-generated/findloc1_c4.c \
-generated/findloc1_c8.c \
-generated/findloc1_c10.c \
-generated/findloc1_c16.c \
-generated/findloc1_c17.c
-
-i_findloc1s_c = \
-generated/findloc1_s1.c \
-generated/findloc1_s4.c
-
-i_findloc2s_c = \
-generated/findloc2_s1.c \
-generated/findloc2_s4.c
-
-i_maxloc0_c = \
+generated/count_16_l.c \
 generated/maxloc0_4_i1.c \
 generated/maxloc0_8_i1.c \
 generated/maxloc0_16_i1.c \
@@ -1188,17 +1112,7 @@ generated/maxloc0_8_r16.c \
 generated/maxloc0_16_r16.c \
 generated/maxloc0_4_r17.c \
 generated/maxloc0_8_r17.c \
-generated/maxloc0_16_r17.c
-
-i_maxloc0s_c = \
-generated/maxloc0_4_s1.c \
-generated/maxloc0_4_s4.c \
-generated/maxloc0_8_s1.c \
-generated/maxloc0_8_s4.c \
-generated/maxloc0_16_s1.c \
-generated/maxloc0_16_s4.c
-
-i_maxloc1_c = \
+generated/maxloc0_16_r17.c \
 generated/maxloc1_4_i1.c \
 generated/maxloc1_8_i1.c \
 generated/maxloc1_16_i1.c \
@@ -1243,25 +1157,7 @@ generated/maxloc1_8_r16.c \
 generated/maxloc1_16_r16.c \
 generated/maxloc1_4_r17.c \
 generated/maxloc1_8_r17.c \
-generated/maxloc1_16_r17.c
-
-i_maxloc1s_c = \
-generated/maxloc1_4_s1.c \
-generated/maxloc1_4_s4.c \
-generated/maxloc1_8_s1.c \
-generated/maxloc1_8_s4.c \
-generated/maxloc1_16_s1.c \
-generated/maxloc1_16_s4.c
-
-i_maxloc2s_c = \
-generated/maxloc2_4_s1.c \
-generated/maxloc2_4_s4.c \
-generated/maxloc2_8_s1.c \
-generated/maxloc2_8_s4.c \
-generated/maxloc2_16_s1.c \
-generated/maxloc2_16_s4.c
-
-i_maxval_c = \
+generated/maxloc1_16_r17.c \
 generated/maxval_i1.c \
 generated/maxval_i2.c \
 generated/maxval_i4.c \
@@ -1276,17 +1172,7 @@ generated/maxval_r4.c \
 generated/maxval_r8.c \
 generated/maxval_r10.c \
 generated/maxval_r16.c \
-generated/maxval_r17.c
-
-i_maxval0s_c = \
-generated/maxval0_s1.c \
-generated/maxval0_s4.c
-
-i_maxval1s_c = \
-generated/maxval1_s1.c \
-generated/maxval1_s4.c
-
-i_minloc0_c = \
+generated/maxval_r17.c \
 generated/minloc0_4_i1.c \
 generated/minloc0_8_i1.c \
 generated/minloc0_16_i1.c \
@@ -1331,17 +1217,7 @@ generated/minloc0_8_r16.c \
 generated/minloc0_16_r16.c \
 generated/minloc0_4_r17.c \
 generated/minloc0_8_r17.c \
-generated/minloc0_16_r17.c
-
-i_minloc0s_c = \
-generated/minloc0_4_s1.c \
-generated/minloc0_4_s4.c \
-generated/minloc0_8_s1.c \
-generated/minloc0_8_s4.c \
-generated/minloc0_16_s1.c \
-generated/minloc0_16_s4.c
-
-i_minloc1_c = \
+generated/minloc0_16_r17.c \
 generated/minloc1_4_i1.c \
 generated/minloc1_8_i1.c \
 generated/minloc1_16_i1.c \
@@ -1386,25 +1262,7 @@ generated/minloc1_8_r16.c \
 generated/minloc1_16_r16.c \
 generated/minloc1_4_r17.c \
 generated/minloc1_8_r17.c \
-generated/minloc1_16_r17.c
-
-i_minloc1s_c = \
-generated/minloc1_4_s1.c \
-generated/minloc1_4_s4.c \
-generated/minloc1_8_s1.c \
-generated/minloc1_8_s4.c \
-generated/minloc1_16_s1.c \
-generated/minloc1_16_s4.c
-
-i_minloc2s_c = \
-generated/minloc2_4_s1.c \
-generated/minloc2_4_s4.c \
-generated/minloc2_8_s1.c \
-generated/minloc2_8_s4.c \
-generated/minloc2_16_s1.c \
-generated/minloc2_16_s4.c
-
-i_minval_c = \
+generated/minloc1_16_r17.c \
 generated/minval_i1.c \
 generated/minval_i2.c \
 generated/minval_i4.c \
@@ -1419,48 +1277,7 @@ generated/minval_r4.c \
 generated/minval_r8.c \
 generated/minval_r10.c \
 generated/minval_r16.c \
-generated/minval_r17.c
-
-i_minval0s_c = \
-generated/minval0_s1.c \
-generated/minval0_s4.c
-
-i_minval1s_c = \
-generated/minval1_s1.c \
-generated/minval1_s4.c
-
-i_norm2_c = \
-generated/norm2_r4.c \
-generated/norm2_r8.c \
-generated/norm2_r10.c \
-generated/norm2_r16.c \
-generated/norm2_r17.c
-
-i_parity_c = \
-generated/parity_l1.c \
-generated/parity_l2.c \
-generated/parity_l4.c \
-generated/parity_l8.c \
-generated/parity_l16.c
-
-i_sum_c = \
-generated/sum_i1.c \
-generated/sum_i2.c \
-generated/sum_i4.c \
-generated/sum_i8.c \
-generated/sum_i16.c \
-generated/sum_r4.c \
-generated/sum_r8.c \
-generated/sum_r10.c \
-generated/sum_r16.c \
-generated/sum_r17.c \
-generated/sum_c4.c \
-generated/sum_c8.c \
-generated/sum_c10.c \
-generated/sum_c16.c \
-generated/sum_c17.c
-
-i_product_c = \
+generated/minval_r17.c \
 generated/product_i1.c \
 generated/product_i2.c \
 generated/product_i4.c \
@@ -1475,149 +1292,79 @@ generated/product_c4.c \
 generated/product_c8.c \
 generated/product_c10.c \
 generated/product_c16.c \
-generated/product_c17.c
-
-i_matmul_c = \
-generated/matmul_i1.c \
-generated/matmul_i2.c \
-generated/matmul_i4.c \
-generated/matmul_i8.c \
-generated/matmul_i16.c \
-generated/matmul_r4.c \
-generated/matmul_r8.c \
-generated/matmul_r10.c \
-generated/matmul_r16.c \
-generated/matmul_r17.c \
-generated/matmul_c4.c \
-generated/matmul_c8.c \
-generated/matmul_c10.c \
-generated/matmul_c16.c \
-generated/matmul_c17.c
-
-i_matmulavx128_c = \
-generated/matmulavx128_i1.c \
-generated/matmulavx128_i2.c \
-generated/matmulavx128_i4.c \
-generated/matmulavx128_i8.c \
-generated/matmulavx128_i16.c \
-generated/matmulavx128_r4.c \
-generated/matmulavx128_r8.c \
-generated/matmulavx128_r10.c \
-generated/matmulavx128_r16.c \
-generated/matmulavx128_r17.c \
-generated/matmulavx128_c4.c \
-generated/matmulavx128_c8.c \
-generated/matmulavx128_c10.c \
-generated/matmulavx128_c16.c \
-generated/matmulavx128_c17.c
-
-i_matmull_c = \
-generated/matmul_l4.c \
-generated/matmul_l8.c \
-generated/matmul_l16.c
-
-i_shape_c = \
-generated/shape_i1.c \
-generated/shape_i2.c \
-generated/shape_i4.c \
-generated/shape_i8.c \
-generated/shape_i16.c
-
-i_reshape_c = \
-generated/reshape_i4.c \
-generated/reshape_i8.c \
-generated/reshape_i16.c \
-generated/reshape_r4.c \
-generated/reshape_r8.c \
-generated/reshape_r10.c \
-generated/reshape_r16.c \
-generated/reshape_r17.c \
-generated/reshape_c4.c \
-generated/reshape_c8.c \
-generated/reshape_c10.c \
-generated/reshape_c16.c \
-generated/reshape_c17.c
-
-i_eoshift1_c = \
+generated/product_c17.c \
+generated/sum_i1.c \
+generated/sum_i2.c \
+generated/sum_i4.c \
+generated/sum_i8.c \
+generated/sum_i16.c \
+generated/sum_r4.c \
+generated/sum_r8.c \
+generated/sum_r10.c \
+generated/sum_r16.c \
+generated/sum_r17.c \
+generated/sum_c4.c \
+generated/sum_c8.c \
+generated/sum_c10.c \
+generated/sum_c16.c \
+generated/sum_c17.c \
+generated/bessel_r4.c \
+generated/bessel_r8.c \
+generated/bessel_r10.c \
+generated/bessel_r16.c \
+generated/bessel_r17.c \
+generated/iall_i1.c \
+generated/iall_i2.c \
+generated/iall_i4.c \
+generated/iall_i8.c \
+generated/iall_i16.c \
+generated/iany_i1.c \
+generated/iany_i2.c \
+generated/iany_i4.c \
+generated/iany_i8.c \
+generated/iany_i16.c \
+generated/iparity_i1.c \
+generated/iparity_i2.c \
+generated/iparity_i4.c \
+generated/iparity_i8.c \
+generated/iparity_i16.c \
+generated/norm2_r4.c \
+generated/norm2_r8.c \
+generated/norm2_r10.c \
+generated/norm2_r16.c \
+generated/norm2_r17.c \
+generated/parity_l1.c \
+generated/parity_l2.c \
+generated/parity_l4.c \
+generated/parity_l8.c \
+generated/parity_l16.c \
+generated/shape_i1.c \
+generated/shape_i2.c \
+generated/shape_i4.c \
+generated/shape_i8.c \
+generated/shape_i16.c \
 generated/eoshift1_4.c \
 generated/eoshift1_8.c \
-generated/eoshift1_16.c
-
-i_eoshift3_c = \
+generated/eoshift1_16.c \
 generated/eoshift3_4.c \
 generated/eoshift3_8.c \
-generated/eoshift3_16.c
-
-i_cshift0_c = \
-generated/cshift0_i1.c \
-generated/cshift0_i2.c \
-generated/cshift0_i4.c \
-generated/cshift0_i8.c \
-generated/cshift0_i16.c \
-generated/cshift0_r4.c \
-generated/cshift0_r8.c \
-generated/cshift0_r10.c \
-generated/cshift0_r16.c \
-generated/cshift0_r17.c \
-generated/cshift0_c4.c \
-generated/cshift0_c8.c \
-generated/cshift0_c10.c \
-generated/cshift0_c16.c \
-generated/cshift0_c17.c
-
-i_cshift1_c = \
+generated/eoshift3_16.c \
 generated/cshift1_4.c \
 generated/cshift1_8.c \
-generated/cshift1_16.c
-
-i_cshift1a_c = \
-generated/cshift1_4_i1.c \
-generated/cshift1_4_i2.c \
-generated/cshift1_4_i4.c \
-generated/cshift1_4_i8.c \
-generated/cshift1_4_i16.c \
-generated/cshift1_4_r4.c \
-generated/cshift1_4_r8.c \
-generated/cshift1_4_r10.c \
-generated/cshift1_4_r16.c \
-generated/cshift1_4_r17.c \
-generated/cshift1_4_c4.c \
-generated/cshift1_4_c8.c \
-generated/cshift1_4_c10.c \
-generated/cshift1_4_c16.c \
-generated/cshift1_4_c17.c \
-generated/cshift1_8_i1.c \
-generated/cshift1_8_i2.c \
-generated/cshift1_8_i4.c \
-generated/cshift1_8_i8.c \
-generated/cshift1_8_i16.c \
-generated/cshift1_8_r4.c \
-generated/cshift1_8_r8.c \
-generated/cshift1_8_r10.c \
-generated/cshift1_8_r16.c \
-generated/cshift1_8_r17.c \
-generated/cshift1_8_c4.c \
-generated/cshift1_8_c8.c \
-generated/cshift1_8_c10.c \
-generated/cshift1_8_c16.c \
-generated/cshift1_8_c17.c \
-generated/cshift1_16_i1.c \
-generated/cshift1_16_i2.c \
-generated/cshift1_16_i4.c \
-generated/cshift1_16_i8.c \
-generated/cshift1_16_i16.c \
-generated/cshift1_16_r4.c \
-generated/cshift1_16_r8.c \
-generated/cshift1_16_r10.c \
-generated/cshift1_16_r16.c \
-generated/cshift1_16_r17.c \
-generated/cshift1_16_c4.c \
-generated/cshift1_16_c8.c \
-generated/cshift1_16_c10.c \
-generated/cshift1_16_c16.c \
-generated/cshift1_16_c17.c
-
-in_pack_c = \
+generated/cshift1_16.c \
+generated/reshape_i4.c \
+generated/reshape_i8.c \
+generated/reshape_i16.c \
+generated/reshape_r4.c \
+generated/reshape_r8.c \
+generated/reshape_r10.c \
+generated/reshape_r16.c \
+generated/reshape_r17.c \
+generated/reshape_c4.c \
+generated/reshape_c8.c \
+generated/reshape_c10.c \
+generated/reshape_c16.c \
+generated/reshape_c17.c \
 generated/in_pack_i1.c \
 generated/in_pack_i2.c \
 generated/in_pack_i4.c \
@@ -1632,9 +1379,7 @@ generated/in_pack_c4.c \
 generated/in_pack_c8.c \
 generated/in_pack_c10.c \
 generated/in_pack_c16.c \
-generated/in_pack_c17.c
-
-in_unpack_c = \
+generated/in_pack_c17.c \
 generated/in_unpack_i1.c \
 generated/in_unpack_i2.c \
 generated/in_unpack_i4.c \
@@ -1649,9 +1394,7 @@ generated/in_unpack_c4.c \
 generated/in_unpack_c8.c \
 generated/in_unpack_c10.c \
 generated/in_unpack_c16.c \
-generated/in_unpack_c17.c
-
-i_pow_c = \
+generated/in_unpack_c17.c \
 generated/pow_i4_i4.c \
 generated/pow_i8_i4.c \
 generated/pow_i16_i4.c \
@@ -1687,36 +1430,7 @@ generated/pow_c4_i16.c \
 generated/pow_c8_i16.c \
 generated/pow_c10_i16.c \
 generated/pow_c16_i16.c \
-generated/pow_c17_i16.c
-
-i_powu_c = \
-generated/pow_m1_m1.c \
-generated/pow_m1_m2.c \
-generated/pow_m1_m4.c \
-generated/pow_m1_m8.c \
-generated/pow_m1_m16.c \
-generated/pow_m2_m1.c \
-generated/pow_m2_m2.c \
-generated/pow_m2_m4.c \
-generated/pow_m2_m8.c \
-generated/pow_m2_m16.c \
-generated/pow_m4_m1.c \
-generated/pow_m4_m2.c \
-generated/pow_m4_m4.c \
-generated/pow_m4_m8.c \
-generated/pow_m4_m16.c \
-generated/pow_m8_m1.c \
-generated/pow_m8_m2.c \
-generated/pow_m8_m4.c \
-generated/pow_m8_m8.c \
-generated/pow_m8_m16.c \
-generated/pow_m16_m1.c \
-generated/pow_m16_m2.c \
-generated/pow_m16_m4.c \
-generated/pow_m16_m8.c \
-generated/pow_m16_m16.c
-
-i_pack_c = \
+generated/pow_c17_i16.c \
 generated/pack_i1.c \
 generated/pack_i2.c \
 generated/pack_i4.c \
@@ -1731,9 +1445,7 @@ generated/pack_c4.c \
 generated/pack_c8.c \
 generated/pack_c10.c \
 generated/pack_c16.c \
-generated/pack_c17.c
-
-i_unpack_c = \
+generated/pack_c17.c \
 generated/unpack_i1.c \
 generated/unpack_i2.c \
 generated/unpack_i4.c \
@@ -1748,9 +1460,7 @@ generated/unpack_c4.c \
 generated/unpack_c8.c \
 generated/unpack_c10.c \
 generated/unpack_c16.c \
-generated/unpack_c17.c
-
-i_spread_c = \
+generated/unpack_c17.c \
 generated/spread_i1.c \
 generated/spread_i2.c \
 generated/spread_i4.c \
@@ -1765,44 +1475,180 @@ generated/spread_c4.c \
 generated/spread_c8.c \
 generated/spread_c10.c \
 generated/spread_c16.c \
-generated/spread_c17.c
-
-i_isobinding_c = \
-runtime/ISO_Fortran_binding.c
-
-m4_files = m4/iparm.m4 m4/ifunction.m4 m4/iforeach.m4 m4/all.m4 \
-	m4/any.m4 m4/count.m4 m4/maxloc0.m4 m4/maxloc1.m4 m4/maxval.m4 \
-	m4/minloc0.m4 m4/minloc1.m4 m4/minval.m4 m4/product.m4 m4/sum.m4 \
-	m4/matmul.m4 m4/matmull.m4 m4/ifunction_logical.m4 \
-	m4/ctrig.m4 m4/cexp.m4 m4/chyp.m4 m4/mtype.m4 \
-	m4/specific.m4 m4/specific2.m4 m4/head.m4 m4/shape.m4 m4/reshape.m4 \
-	m4/eoshift1.m4 m4/eoshift3.m4 \
-	m4/pow.m4 \
-	m4/misc_specifics.m4 m4/pack.m4 \
-	m4/unpack.m4 m4/spread.m4 m4/bessel.m4 m4/norm2.m4 m4/parity.m4 \
-	m4/iall.m4 m4/iany.m4 m4/iparity.m4 m4/iforeach-s.m4 m4/findloc0.m4 \
-	m4/findloc0s.m4 m4/ifindloc0.m4 m4/findloc1.m4 m4/ifindloc1.m4 \
-	m4/findloc2s.m4 m4/ifindloc2.m4
-
-gfor_built_src = $(i_all_c) $(i_any_c) $(i_count_c) $(i_maxloc0_c) \
-	$(i_maxloc1_c) $(i_maxval_c) $(i_minloc0_c) $(i_minloc1_c) $(i_minval_c) \
-	$(i_product_c) $(i_sum_c) $(i_bessel_c) $(i_iall_c) $(i_iany_c) \
-	$(i_iparity_c) $(i_norm2_c) $(i_parity_c) \
-	$(i_matmul_c) $(i_matmull_c) $(i_shape_c) $(i_eoshift1_c) \
-	$(i_eoshift3_c) $(i_cshift1_c) $(i_reshape_c) $(in_pack_c) $(in_unpack_c) \
-	$(i_pow_c) $(i_pack_c) $(i_unpack_c) $(i_matmulavx128_c) \
-	$(i_spread_c) selected_int_kind.inc selected_real_kind.inc kinds.h \
-	$(i_cshift0_c) kinds.inc c99_protos.inc fpu-target.h fpu-target.inc \
-	include/ISO_Fortran_binding.h \
-	$(i_cshift1a_c) $(i_maxloc0s_c) $(i_minloc0s_c) $(i_maxloc1s_c) \
-	$(i_minloc1s_c) $(i_maxloc2s_c) $(i_minloc2s_c) $(i_maxvals_c) \
-	$(i_maxval0s_c) $(i_minval0s_c) $(i_maxval1s_c) $(i_minval1s_c) \
-	$(i_findloc0_c) $(i_findloc0s_c) $(i_findloc1_c) $(i_findloc1s_c) \
-	$(i_findloc2s_c) $(i_isobinding_c) $(i_powu_c)
-
-
-# Machine generated specifics
-gfor_built_specific_src = \
+generated/spread_c17.c \
+generated/cshift0_i1.c \
+generated/cshift0_i2.c \
+generated/cshift0_i4.c \
+generated/cshift0_i8.c \
+generated/cshift0_i16.c \
+generated/cshift0_r4.c \
+generated/cshift0_r8.c \
+generated/cshift0_r10.c \
+generated/cshift0_r16.c \
+generated/cshift0_r17.c \
+generated/cshift0_c4.c \
+generated/cshift0_c8.c \
+generated/cshift0_c10.c \
+generated/cshift0_c16.c \
+generated/cshift0_c17.c \
+generated/cshift1_4_i1.c \
+generated/cshift1_4_i2.c \
+generated/cshift1_4_i4.c \
+generated/cshift1_4_i8.c \
+generated/cshift1_4_i16.c \
+generated/cshift1_4_r4.c \
+generated/cshift1_4_r8.c \
+generated/cshift1_4_r10.c \
+generated/cshift1_4_r16.c \
+generated/cshift1_4_r17.c \
+generated/cshift1_4_c4.c \
+generated/cshift1_4_c8.c \
+generated/cshift1_4_c10.c \
+generated/cshift1_4_c16.c \
+generated/cshift1_4_c17.c \
+generated/cshift1_8_i1.c \
+generated/cshift1_8_i2.c \
+generated/cshift1_8_i4.c \
+generated/cshift1_8_i8.c \
+generated/cshift1_8_i16.c \
+generated/cshift1_8_r4.c \
+generated/cshift1_8_r8.c \
+generated/cshift1_8_r10.c \
+generated/cshift1_8_r16.c \
+generated/cshift1_8_r17.c \
+generated/cshift1_8_c4.c \
+generated/cshift1_8_c8.c \
+generated/cshift1_8_c10.c \
+generated/cshift1_8_c16.c \
+generated/cshift1_8_c17.c \
+generated/cshift1_16_i1.c \
+generated/cshift1_16_i2.c \
+generated/cshift1_16_i4.c \
+generated/cshift1_16_i8.c \
+generated/cshift1_16_i16.c \
+generated/cshift1_16_r4.c \
+generated/cshift1_16_r8.c \
+generated/cshift1_16_r10.c \
+generated/cshift1_16_r16.c \
+generated/cshift1_16_r17.c \
+generated/cshift1_16_c4.c \
+generated/cshift1_16_c8.c \
+generated/cshift1_16_c10.c \
+generated/cshift1_16_c16.c \
+generated/cshift1_16_c17.c \
+generated/findloc0_i1.c \
+generated/findloc0_i2.c \
+generated/findloc0_i4.c \
+generated/findloc0_i8.c \
+generated/findloc0_i16.c \
+generated/findloc0_r4.c \
+generated/findloc0_r8.c \
+generated/findloc0_r10.c \
+generated/findloc0_r16.c \
+generated/findloc0_r17.c \
+generated/findloc0_c4.c \
+generated/findloc0_c8.c \
+generated/findloc0_c10.c \
+generated/findloc0_c16.c \
+generated/findloc0_c17.c \
+generated/findloc0_s1.c \
+generated/findloc0_s4.c \
+generated/findloc1_i1.c \
+generated/findloc1_i2.c \
+generated/findloc1_i4.c \
+generated/findloc1_i8.c \
+generated/findloc1_i16.c \
+generated/findloc1_r4.c \
+generated/findloc1_r8.c \
+generated/findloc1_r10.c \
+generated/findloc1_r16.c \
+generated/findloc1_r17.c \
+generated/findloc1_c4.c \
+generated/findloc1_c8.c \
+generated/findloc1_c10.c \
+generated/findloc1_c16.c \
+generated/findloc1_c17.c \
+generated/findloc1_s1.c \
+generated/findloc1_s4.c \
+generated/findloc2_s1.c \
+generated/findloc2_s4.c \
+generated/maxloc0_4_s1.c \
+generated/maxloc0_4_s4.c \
+generated/maxloc0_8_s1.c \
+generated/maxloc0_8_s4.c \
+generated/maxloc0_16_s1.c \
+generated/maxloc0_16_s4.c \
+generated/maxloc1_4_s1.c \
+generated/maxloc1_4_s4.c \
+generated/maxloc1_8_s1.c \
+generated/maxloc1_8_s4.c \
+generated/maxloc1_16_s1.c \
+generated/maxloc1_16_s4.c \
+generated/maxloc2_4_s1.c \
+generated/maxloc2_4_s4.c \
+generated/maxloc2_8_s1.c \
+generated/maxloc2_8_s4.c \
+generated/maxloc2_16_s1.c \
+generated/maxloc2_16_s4.c \
+generated/maxval0_s1.c \
+generated/maxval0_s4.c \
+generated/maxval1_s1.c \
+generated/maxval1_s4.c \
+generated/minloc0_4_s1.c \
+generated/minloc0_4_s4.c \
+generated/minloc0_8_s1.c \
+generated/minloc0_8_s4.c \
+generated/minloc0_16_s1.c \
+generated/minloc0_16_s4.c \
+generated/minloc1_4_s1.c \
+generated/minloc1_4_s4.c \
+generated/minloc1_8_s1.c \
+generated/minloc1_8_s4.c \
+generated/minloc1_16_s1.c \
+generated/minloc1_16_s4.c \
+generated/minloc2_4_s1.c \
+generated/minloc2_4_s4.c \
+generated/minloc2_8_s1.c \
+generated/minloc2_8_s4.c \
+generated/minloc2_16_s1.c \
+generated/minloc2_16_s4.c \
+generated/minval0_s1.c \
+generated/minval0_s4.c \
+generated/minval1_s1.c \
+generated/minval1_s4.c \
+generated/pow_m1_m1.c \
+generated/pow_m1_m2.c \
+generated/pow_m1_m4.c \
+generated/pow_m1_m8.c \
+generated/pow_m1_m16.c \
+generated/pow_m2_m1.c \
+generated/pow_m2_m2.c \
+generated/pow_m2_m4.c \
+generated/pow_m2_m8.c \
+generated/pow_m2_m16.c \
+generated/pow_m4_m1.c \
+generated/pow_m4_m2.c \
+generated/pow_m4_m4.c \
+generated/pow_m4_m8.c \
+generated/pow_m4_m16.c \
+generated/pow_m8_m1.c \
+generated/pow_m8_m2.c \
+generated/pow_m8_m4.c \
+generated/pow_m8_m8.c \
+generated/pow_m8_m16.c \
+generated/pow_m16_m1.c \
+generated/pow_m16_m2.c \
+generated/pow_m16_m4.c \
+generated/pow_m16_m8.c \
+generated/pow_m16_m16.c \
+$(i_matmul_c) $(i_matmull_c) $(i_matmulavx128_c) \
+selected_int_kind.inc selected_real_kind.inc kinds.h \
+kinds.inc c99_protos.inc fpu-target.h fpu-target.inc \
+include/ISO_Fortran_binding.h runtime/ISO_Fortran_binding.c
+
+
+# Specifics
+gfor_specific_src = \
 generated/_abs_c4.F90 \
 generated/_abs_c8.F90 \
 generated/_abs_c10.F90 \
@@ -1940,9 +1786,7 @@ generated/_anint_r4.F90 \
 generated/_anint_r8.F90 \
 generated/_anint_r10.F90 \
 generated/_anint_r16.F90 \
-generated/_anint_r17.F90
-
-gfor_built_specific2_src = \
+generated/_anint_r17.F90 \
 generated/_sign_i4.F90 \
 generated/_sign_i8.F90 \
 generated/_sign_i16.F90 \
@@ -1971,24 +1815,17 @@ generated/_mod_r4.F90 \
 generated/_mod_r8.F90 \
 generated/_mod_r10.F90 \
 generated/_mod_r16.F90 \
-generated/_mod_r17.F90
-
-gfor_misc_specifics = generated/misc_specifics.F90
-gfor_specific_src = \
-$(gfor_built_specific_src) \
-$(gfor_built_specific2_src) \
-$(gfor_misc_specifics) \
+generated/_mod_r17.F90 \
+generated/misc_specifics.F90 \
 intrinsics/dprod_r8.f90 \
 intrinsics/f2c_specifics.F90 \
 intrinsics/random_init.f90
 
-BUILT_SOURCES = $(gfor_built_src) $(gfor_built_specific_src) \
-	$(gfor_built_specific2_src) $(gfor_misc_specifics)
-
+BUILT_SOURCES = $(gfor_built_src)
 libgfortran_la_SOURCES = $(gfor_src) $(gfor_built_src) $(gfor_io_src) \
 	$(gfor_helper_src) $(gfor_ieee_src) $(gfor_io_headers) $(gfor_specific_src)
 
-EXTRA_DIST = $(m4_files)
+EXTRA_DIST = m4
 MULTISRCTOP = 
 MULTIBUILDTOP = 
 MULTIDIRS = 
@@ -2741,42 +2578,6 @@ generated/parity_l8.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
 generated/parity_l16.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/matmul_i1.lo: generated/$(am__dirstamp) \
-	generated/$(DEPDIR)/$(am__dirstamp)
-generated/matmul_i2.lo: generated/$(am__dirstamp) \
-	generated/$(DEPDIR)/$(am__dirstamp)
-generated/matmul_i4.lo: generated/$(am__dirstamp) \
-	generated/$(DEPDIR)/$(am__dirstamp)
-generated/matmul_i8.lo: generated/$(am__dirstamp) \
-	generated/$(DEPDIR)/$(am__dirstamp)
-generated/matmul_i16.lo: generated/$(am__dirstamp) \
-	generated/$(DEPDIR)/$(am__dirstamp)
-generated/matmul_r4.lo: generated/$(am__dirstamp) \
-	generated/$(DEPDIR)/$(am__dirstamp)
-generated/matmul_r8.lo: generated/$(am__dirstamp) \
-	generated/$(DEPDIR)/$(am__dirstamp)
-generated/matmul_r10.lo: generated/$(am__dirstamp) \
-	generated/$(DEPDIR)/$(am__dirstamp)
-generated/matmul_r16.lo: generated/$(am__dirstamp) \
-	generated/$(DEPDIR)/$(am__dirstamp)
-generated/matmul_r17.lo: generated/$(am__dirstamp) \
-	generated/$(DEPDIR)/$(am__dirstamp)
-generated/matmul_c4.lo: generated/$(am__dirstamp) \
-	generated/$(DEPDIR)/$(am__dirstamp)
-generated/matmul_c8.lo: generated/$(am__dirstamp) \
-	generated/$(DEPDIR)/$(am__dirstamp)
-generated/matmul_c10.lo: generated/$(am__dirstamp) \
-	generated/$(DEPDIR)/$(am__dirstamp)
-generated/matmul_c16.lo: generated/$(am__dirstamp) \
-	generated/$(DEPDIR)/$(am__dirstamp)
-generated/matmul_c17.lo: generated/$(am__dirstamp) \
-	generated/$(DEPDIR)/$(am__dirstamp)
-generated/matmul_l4.lo: generated/$(am__dirstamp) \
-	generated/$(DEPDIR)/$(am__dirstamp)
-generated/matmul_l8.lo: generated/$(am__dirstamp) \
-	generated/$(DEPDIR)/$(am__dirstamp)
-generated/matmul_l16.lo: generated/$(am__dirstamp) \
-	generated/$(DEPDIR)/$(am__dirstamp)
 generated/shape_i1.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
 generated/shape_i2.lo: generated/$(am__dirstamp) \
@@ -2997,61 +2798,31 @@ generated/unpack_i1.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
 generated/unpack_i2.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/unpack_i4.lo: generated/$(am__dirstamp) \
-	generated/$(DEPDIR)/$(am__dirstamp)
-generated/unpack_i8.lo: generated/$(am__dirstamp) \
-	generated/$(DEPDIR)/$(am__dirstamp)
-generated/unpack_i16.lo: generated/$(am__dirstamp) \
-	generated/$(DEPDIR)/$(am__dirstamp)
-generated/unpack_r4.lo: generated/$(am__dirstamp) \
-	generated/$(DEPDIR)/$(am__dirstamp)
-generated/unpack_r8.lo: generated/$(am__dirstamp) \
-	generated/$(DEPDIR)/$(am__dirstamp)
-generated/unpack_r10.lo: generated/$(am__dirstamp) \
-	generated/$(DEPDIR)/$(am__dirstamp)
-generated/unpack_r16.lo: generated/$(am__dirstamp) \
-	generated/$(DEPDIR)/$(am__dirstamp)
-generated/unpack_r17.lo: generated/$(am__dirstamp) \
-	generated/$(DEPDIR)/$(am__dirstamp)
-generated/unpack_c4.lo: generated/$(am__dirstamp) \
-	generated/$(DEPDIR)/$(am__dirstamp)
-generated/unpack_c8.lo: generated/$(am__dirstamp) \
-	generated/$(DEPDIR)/$(am__dirstamp)
-generated/unpack_c10.lo: generated/$(am__dirstamp) \
-	generated/$(DEPDIR)/$(am__dirstamp)
-generated/unpack_c16.lo: generated/$(am__dirstamp) \
-	generated/$(DEPDIR)/$(am__dirstamp)
-generated/unpack_c17.lo: generated/$(am__dirstamp) \
-	generated/$(DEPDIR)/$(am__dirstamp)
-generated/matmulavx128_i1.lo: generated/$(am__dirstamp) \
-	generated/$(DEPDIR)/$(am__dirstamp)
-generated/matmulavx128_i2.lo: generated/$(am__dirstamp) \
-	generated/$(DEPDIR)/$(am__dirstamp)
-generated/matmulavx128_i4.lo: generated/$(am__dirstamp) \
+generated/unpack_i4.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/matmulavx128_i8.lo: generated/$(am__dirstamp) \
+generated/unpack_i8.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/matmulavx128_i16.lo: generated/$(am__dirstamp) \
+generated/unpack_i16.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/matmulavx128_r4.lo: generated/$(am__dirstamp) \
+generated/unpack_r4.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/matmulavx128_r8.lo: generated/$(am__dirstamp) \
+generated/unpack_r8.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/matmulavx128_r10.lo: generated/$(am__dirstamp) \
+generated/unpack_r10.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/matmulavx128_r16.lo: generated/$(am__dirstamp) \
+generated/unpack_r16.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/matmulavx128_r17.lo: generated/$(am__dirstamp) \
+generated/unpack_r17.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/matmulavx128_c4.lo: generated/$(am__dirstamp) \
+generated/unpack_c4.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/matmulavx128_c8.lo: generated/$(am__dirstamp) \
+generated/unpack_c8.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/matmulavx128_c10.lo: generated/$(am__dirstamp) \
+generated/unpack_c10.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/matmulavx128_c16.lo: generated/$(am__dirstamp) \
+generated/unpack_c16.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/matmulavx128_c17.lo: generated/$(am__dirstamp) \
+generated/unpack_c17.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
 generated/spread_i1.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
@@ -3203,168 +2974,166 @@ generated/cshift1_16_c16.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
 generated/cshift1_16_c17.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/maxloc0_4_s1.lo: generated/$(am__dirstamp) \
+generated/findloc0_i1.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/maxloc0_4_s4.lo: generated/$(am__dirstamp) \
+generated/findloc0_i2.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/maxloc0_8_s1.lo: generated/$(am__dirstamp) \
+generated/findloc0_i4.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/maxloc0_8_s4.lo: generated/$(am__dirstamp) \
+generated/findloc0_i8.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/maxloc0_16_s1.lo: generated/$(am__dirstamp) \
+generated/findloc0_i16.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/maxloc0_16_s4.lo: generated/$(am__dirstamp) \
+generated/findloc0_r4.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/minloc0_4_s1.lo: generated/$(am__dirstamp) \
+generated/findloc0_r8.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/minloc0_4_s4.lo: generated/$(am__dirstamp) \
+generated/findloc0_r10.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/minloc0_8_s1.lo: generated/$(am__dirstamp) \
+generated/findloc0_r16.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/minloc0_8_s4.lo: generated/$(am__dirstamp) \
+generated/findloc0_r17.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/minloc0_16_s1.lo: generated/$(am__dirstamp) \
+generated/findloc0_c4.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/minloc0_16_s4.lo: generated/$(am__dirstamp) \
+generated/findloc0_c8.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/maxloc1_4_s1.lo: generated/$(am__dirstamp) \
+generated/findloc0_c10.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/maxloc1_4_s4.lo: generated/$(am__dirstamp) \
+generated/findloc0_c16.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/maxloc1_8_s1.lo: generated/$(am__dirstamp) \
+generated/findloc0_c17.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/maxloc1_8_s4.lo: generated/$(am__dirstamp) \
+generated/findloc0_s1.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/maxloc1_16_s1.lo: generated/$(am__dirstamp) \
+generated/findloc0_s4.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/maxloc1_16_s4.lo: generated/$(am__dirstamp) \
+generated/findloc1_i1.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/minloc1_4_s1.lo: generated/$(am__dirstamp) \
+generated/findloc1_i2.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/minloc1_4_s4.lo: generated/$(am__dirstamp) \
+generated/findloc1_i4.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/minloc1_8_s1.lo: generated/$(am__dirstamp) \
+generated/findloc1_i8.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/minloc1_8_s4.lo: generated/$(am__dirstamp) \
+generated/findloc1_i16.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/minloc1_16_s1.lo: generated/$(am__dirstamp) \
+generated/findloc1_r4.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/minloc1_16_s4.lo: generated/$(am__dirstamp) \
+generated/findloc1_r8.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/maxloc2_4_s1.lo: generated/$(am__dirstamp) \
+generated/findloc1_r10.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/maxloc2_4_s4.lo: generated/$(am__dirstamp) \
+generated/findloc1_r16.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/maxloc2_8_s1.lo: generated/$(am__dirstamp) \
+generated/findloc1_r17.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/maxloc2_8_s4.lo: generated/$(am__dirstamp) \
+generated/findloc1_c4.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/maxloc2_16_s1.lo: generated/$(am__dirstamp) \
+generated/findloc1_c8.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/maxloc2_16_s4.lo: generated/$(am__dirstamp) \
+generated/findloc1_c10.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/minloc2_4_s1.lo: generated/$(am__dirstamp) \
+generated/findloc1_c16.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/minloc2_4_s4.lo: generated/$(am__dirstamp) \
+generated/findloc1_c17.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/minloc2_8_s1.lo: generated/$(am__dirstamp) \
+generated/findloc1_s1.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/minloc2_8_s4.lo: generated/$(am__dirstamp) \
+generated/findloc1_s4.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/minloc2_16_s1.lo: generated/$(am__dirstamp) \
+generated/findloc2_s1.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/minloc2_16_s4.lo: generated/$(am__dirstamp) \
+generated/findloc2_s4.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/maxval0_s1.lo: generated/$(am__dirstamp) \
+generated/maxloc0_4_s1.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/maxval0_s4.lo: generated/$(am__dirstamp) \
+generated/maxloc0_4_s4.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/minval0_s1.lo: generated/$(am__dirstamp) \
+generated/maxloc0_8_s1.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/minval0_s4.lo: generated/$(am__dirstamp) \
+generated/maxloc0_8_s4.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/maxval1_s1.lo: generated/$(am__dirstamp) \
+generated/maxloc0_16_s1.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/maxval1_s4.lo: generated/$(am__dirstamp) \
+generated/maxloc0_16_s4.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/minval1_s1.lo: generated/$(am__dirstamp) \
+generated/maxloc1_4_s1.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/minval1_s4.lo: generated/$(am__dirstamp) \
+generated/maxloc1_4_s4.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/findloc0_i1.lo: generated/$(am__dirstamp) \
+generated/maxloc1_8_s1.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/findloc0_i2.lo: generated/$(am__dirstamp) \
+generated/maxloc1_8_s4.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/findloc0_i4.lo: generated/$(am__dirstamp) \
+generated/maxloc1_16_s1.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/findloc0_i8.lo: generated/$(am__dirstamp) \
+generated/maxloc1_16_s4.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/findloc0_i16.lo: generated/$(am__dirstamp) \
+generated/maxloc2_4_s1.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/findloc0_r4.lo: generated/$(am__dirstamp) \
+generated/maxloc2_4_s4.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/findloc0_r8.lo: generated/$(am__dirstamp) \
+generated/maxloc2_8_s1.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/findloc0_r10.lo: generated/$(am__dirstamp) \
+generated/maxloc2_8_s4.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/findloc0_r16.lo: generated/$(am__dirstamp) \
+generated/maxloc2_16_s1.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/findloc0_r17.lo: generated/$(am__dirstamp) \
+generated/maxloc2_16_s4.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/findloc0_c4.lo: generated/$(am__dirstamp) \
+generated/maxval0_s1.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/findloc0_c8.lo: generated/$(am__dirstamp) \
+generated/maxval0_s4.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/findloc0_c10.lo: generated/$(am__dirstamp) \
+generated/maxval1_s1.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/findloc0_c16.lo: generated/$(am__dirstamp) \
+generated/maxval1_s4.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/findloc0_c17.lo: generated/$(am__dirstamp) \
+generated/minloc0_4_s1.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/findloc0_s1.lo: generated/$(am__dirstamp) \
+generated/minloc0_4_s4.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/findloc0_s4.lo: generated/$(am__dirstamp) \
+generated/minloc0_8_s1.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/findloc1_i1.lo: generated/$(am__dirstamp) \
+generated/minloc0_8_s4.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/findloc1_i2.lo: generated/$(am__dirstamp) \
+generated/minloc0_16_s1.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/findloc1_i4.lo: generated/$(am__dirstamp) \
+generated/minloc0_16_s4.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/findloc1_i8.lo: generated/$(am__dirstamp) \
+generated/minloc1_4_s1.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/findloc1_i16.lo: generated/$(am__dirstamp) \
+generated/minloc1_4_s4.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/findloc1_r4.lo: generated/$(am__dirstamp) \
+generated/minloc1_8_s1.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/findloc1_r8.lo: generated/$(am__dirstamp) \
+generated/minloc1_8_s4.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/findloc1_r10.lo: generated/$(am__dirstamp) \
+generated/minloc1_16_s1.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/findloc1_r16.lo: generated/$(am__dirstamp) \
+generated/minloc1_16_s4.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/findloc1_r17.lo: generated/$(am__dirstamp) \
+generated/minloc2_4_s1.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/findloc1_c4.lo: generated/$(am__dirstamp) \
+generated/minloc2_4_s4.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/findloc1_c8.lo: generated/$(am__dirstamp) \
+generated/minloc2_8_s1.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/findloc1_c10.lo: generated/$(am__dirstamp) \
+generated/minloc2_8_s4.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/findloc1_c16.lo: generated/$(am__dirstamp) \
+generated/minloc2_16_s1.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/findloc1_c17.lo: generated/$(am__dirstamp) \
+generated/minloc2_16_s4.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/findloc1_s1.lo: generated/$(am__dirstamp) \
+generated/minval0_s1.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/findloc1_s4.lo: generated/$(am__dirstamp) \
+generated/minval0_s4.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/findloc2_s1.lo: generated/$(am__dirstamp) \
+generated/minval1_s1.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-generated/findloc2_s4.lo: generated/$(am__dirstamp) \
+generated/minval1_s4.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
-runtime/ISO_Fortran_binding.lo: runtime/$(am__dirstamp) \
-	runtime/$(DEPDIR)/$(am__dirstamp)
 generated/pow_m1_m1.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
 generated/pow_m1_m2.lo: generated/$(am__dirstamp) \
@@ -3415,6 +3184,74 @@ generated/pow_m16_m8.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
 generated/pow_m16_m16.lo: generated/$(am__dirstamp) \
 	generated/$(DEPDIR)/$(am__dirstamp)
+generated/matmul_i1.lo: generated/$(am__dirstamp) \
+	generated/$(DEPDIR)/$(am__dirstamp)
+generated/matmul_i2.lo: generated/$(am__dirstamp) \
+	generated/$(DEPDIR)/$(am__dirstamp)
+generated/matmul_i4.lo: generated/$(am__dirstamp) \
+	generated/$(DEPDIR)/$(am__dirstamp)
+generated/matmul_i8.lo: generated/$(am__dirstamp) \
+	generated/$(DEPDIR)/$(am__dirstamp)
+generated/matmul_i16.lo: generated/$(am__dirstamp) \
+	generated/$(DEPDIR)/$(am__dirstamp)
+generated/matmul_r4.lo: generated/$(am__dirstamp) \
+	generated/$(DEPDIR)/$(am__dirstamp)
+generated/matmul_r8.lo: generated/$(am__dirstamp) \
+	generated/$(DEPDIR)/$(am__dirstamp)
+generated/matmul_r10.lo: generated/$(am__dirstamp) \
+	generated/$(DEPDIR)/$(am__dirstamp)
+generated/matmul_r16.lo: generated/$(am__dirstamp) \
+	generated/$(DEPDIR)/$(am__dirstamp)
+generated/matmul_r17.lo: generated/$(am__dirstamp) \
+	generated/$(DEPDIR)/$(am__dirstamp)
+generated/matmul_c4.lo: generated/$(am__dirstamp) \
+	generated/$(DEPDIR)/$(am__dirstamp)
+generated/matmul_c8.lo: generated/$(am__dirstamp) \
+	generated/$(DEPDIR)/$(am__dirstamp)
+generated/matmul_c10.lo: generated/$(am__dirstamp) \
+	generated/$(DEPDIR)/$(am__dirstamp)
+generated/matmul_c16.lo: generated/$(am__dirstamp) \
+	generated/$(DEPDIR)/$(am__dirstamp)
+generated/matmul_c17.lo: generated/$(am__dirstamp) \
+	generated/$(DEPDIR)/$(am__dirstamp)
+generated/matmul_l4.lo: generated/$(am__dirstamp) \
+	generated/$(DEPDIR)/$(am__dirstamp)
+generated/matmul_l8.lo: generated/$(am__dirstamp) \
+	generated/$(DEPDIR)/$(am__dirstamp)
+generated/matmul_l16.lo: generated/$(am__dirstamp) \
+	generated/$(DEPDIR)/$(am__dirstamp)
+generated/matmulavx128_i1.lo: generated/$(am__dirstamp) \
+	generated/$(DEPDIR)/$(am__dirstamp)
+generated/matmulavx128_i2.lo: generated/$(am__dirstamp) \
+	generated/$(DEPDIR)/$(am__dirstamp)
+generated/matmulavx128_i4.lo: generated/$(am__dirstamp) \
+	generated/$(DEPDIR)/$(am__dirstamp)
+generated/matmulavx128_i8.lo: generated/$(am__dirstamp) \
+	generated/$(DEPDIR)/$(am__dirstamp)
+generated/matmulavx128_i16.lo: generated/$(am__dirstamp) \
+	generated/$(DEPDIR)/$(am__dirstamp)
+generated/matmulavx128_r4.lo: generated/$(am__dirstamp) \
+	generated/$(DEPDIR)/$(am__dirstamp)
+generated/matmulavx128_r8.lo: generated/$(am__dirstamp) \
+	generated/$(DEPDIR)/$(am__dirstamp)
+generated/matmulavx128_r10.lo: generated/$(am__dirstamp) \
+	generated/$(DEPDIR)/$(am__dirstamp)
+generated/matmulavx128_r16.lo: generated/$(am__dirstamp) \
+	generated/$(DEPDIR)/$(am__dirstamp)
+generated/matmulavx128_r17.lo: generated/$(am__dirstamp) \
+	generated/$(DEPDIR)/$(am__dirstamp)
+generated/matmulavx128_c4.lo: generated/$(am__dirstamp) \
+	generated/$(DEPDIR)/$(am__dirstamp)
+generated/matmulavx128_c8.lo: generated/$(am__dirstamp) \
+	generated/$(DEPDIR)/$(am__dirstamp)
+generated/matmulavx128_c10.lo: generated/$(am__dirstamp) \
+	generated/$(DEPDIR)/$(am__dirstamp)
+generated/matmulavx128_c16.lo: generated/$(am__dirstamp) \
+	generated/$(DEPDIR)/$(am__dirstamp)
+generated/matmulavx128_c17.lo: generated/$(am__dirstamp) \
+	generated/$(DEPDIR)/$(am__dirstamp)
+runtime/ISO_Fortran_binding.lo: runtime/$(am__dirstamp) \
+	runtime/$(DEPDIR)/$(am__dirstamp)
 io/$(am__dirstamp):
 	@$(MKDIR_P) io
 	@: > io/$(am__dirstamp)
diff --git a/libgfortran/regenerate.sh b/libgfortran/regenerate.sh
index b5d35930f67..a3eca84dceb 100755
--- a/libgfortran/regenerate.sh
+++ b/libgfortran/regenerate.sh
@@ -1235,3 +1235,20 @@ for f in ${gfor_misc_specifics} ; do
   ../move-if-change $f.tmp $f
 done
 
+# Check that all generated files are listed in Makefile.am
+
+for i in generated/*.c generated/*.F90 ; do
+  if ! grep -q "$i" Makefile.am ; then
+    echo "File $i is not present in Makefile.am"
+  fi
+done
+
+# Check that all generated files listed in Makefile.am actually exist
+
+genlist=`tr ' ' '\n' < Makefile.am | grep 'generated/'`
+for i in $genlist ; do
+  if ! test -e "$i" ; then
+    echo "File $i listed in Makefile.am does not exist"
+  fi
+done
+
-- 
2.34.1

