aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorThomas Koenig <tkoenig@gcc.gnu.org>2018-09-18 19:59:46 +0000
committerThomas Koenig <tkoenig@gcc.gnu.org>2018-09-18 19:59:46 +0000
commit5c470e0f07563c3ab540c0a9f40b8a6ac4a29f07 (patch)
treea440c9896d62a01d80696cf87942c10e3407077b /gcc
parentf435162f88d89a25dfd00ba3af9b37bb5575fd5e (diff)
downloadgcc-5c470e0f07563c3ab540c0a9f40b8a6ac4a29f07.zip
gcc-5c470e0f07563c3ab540c0a9f40b8a6ac4a29f07.tar.gz
gcc-5c470e0f07563c3ab540c0a9f40b8a6ac4a29f07.tar.bz2
re PR fortran/29550 (Optimize -fexternal-blas calls for conjg())
2018-09-18 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/29550 * gfortran.h (gfc_expr): Add external_blas flag. * frontend-passes.c (matrix_case): Add case A2TB2T. (optimize_namespace): Handle flag_external_blas by calling call_external_blas. (get_array_inq_function): Add argument okind. If it is nonzero, use it as the kind of argument to be used. (inline_limit_check): Remove m_case argument, add limit argument instead. Remove assert about m_case. Set the limit for inlining from the limit argument. (matmul_lhs_realloc): Handle case A2TB2T. (inline_matmul_assign): Handle inline limit for other cases with two rank-two matrices. Remove no-op calls to inline_limit_check. (call_external_blas): New function. * trans-intrinsic.c (gfc_conv_intrinsic_funcall): Do not add argument to external BLAS if external_blas is already set. 2018-09-18 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/29550 * gfortran.dg/inline_matmul_13.f90: Adjust count for _gfortran_matmul. * gfortran.dg/inline_matmul_16.f90: Likewise. * gfortran.dg/promotion_2.f90: Add -fblas-matmul-limit=1. Scan for dgemm instead of dgemm_. Add call to random_number to make standard conforming. * gfortran.dg/matmul_blas_1.f90: New test. * gfortran.dg/matmul_bounds_14.f: New test. * gfortran.dg/matmul_bounds_15.f: New test. * gfortran.dg/matmul_bounds_16.f: New test. * gfortran.dg/blas_gemm_routines.f: New test / additional file for preceding tests. From-SVN: r264411
Diffstat (limited to 'gcc')
-rw-r--r--gcc/fortran/ChangeLog20
-rw-r--r--gcc/testsuite/ChangeLog16
2 files changed, 36 insertions, 0 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index b89ecf8..4557bc2 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,23 @@
+2018-09-18 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/29550
+ * gfortran.h (gfc_expr): Add external_blas flag.
+ * frontend-passes.c (matrix_case): Add case A2TB2T.
+ (optimize_namespace): Handle flag_external_blas by
+ calling call_external_blas.
+ (get_array_inq_function): Add argument okind. If
+ it is nonzero, use it as the kind of argument
+ to be used.
+ (inline_limit_check): Remove m_case argument, add
+ limit argument instead. Remove assert about m_case.
+ Set the limit for inlining from the limit argument.
+ (matmul_lhs_realloc): Handle case A2TB2T.
+ (inline_matmul_assign): Handle inline limit for other cases with
+ two rank-two matrices. Remove no-op calls to inline_limit_check.
+ (call_external_blas): New function.
+ * trans-intrinsic.c (gfc_conv_intrinsic_funcall): Do not add
+ argument to external BLAS if external_blas is already set.
+
2018-09-18 Paul Thomas <pault@gcc.gnu.org>
PR fortran/87239
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 2be6461..2994607 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,19 @@
+2018-09-18 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/29550
+ * gfortran.dg/inline_matmul_13.f90: Adjust count for
+ _gfortran_matmul.
+ * gfortran.dg/inline_matmul_16.f90: Likewise.
+ * gfortran.dg/promotion_2.f90: Add -fblas-matmul-limit=1. Scan
+ for dgemm instead of dgemm_. Add call to random_number to make
+ standard conforming.
+ * gfortran.dg/matmul_blas_1.f90: New test.
+ * gfortran.dg/matmul_bounds_14.f: New test.
+ * gfortran.dg/matmul_bounds_15.f: New test.
+ * gfortran.dg/matmul_bounds_16.f: New test.
+ * gfortran.dg/blas_gemm_routines.f: New test / additional file for
+ preceding tests.
+
2018-09-18 Paul Thomas <pault@gcc.gnu.org>
PR fortran/87239