Often, matrix multiplications contain transpose() or conj(), e.g. matmul(transpose(A),B) or matmul(A,conj(transpose(B)) matmul(A,transpose(conj(B))
The *gemm subroutines of BLAS anticipate this via the TRANSA and TRANSB options: - 'N' (unchanged) - 'T' (transpose) - 'C' (hermitian conjugate / transpose+complex conjugate) Thus for -fexternal-blas these extra options should be used, if possible. -- Summary: Optimize -fexternal-blas calls for transpose()/conj() Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: enhancement Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: tobias dot burnus at physik dot fu-berlin dot de http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29550