From 0c146bee1b5981eb99a747e3176daea6c0a287ff Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Thu, 7 Apr 2011 18:49:45 +0200 Subject: enforce no inlining of the GEBP product kernel: this is a big function that makes no sense to inline, though GCC was thinking the opposite. This even slighlty improve the perf. And as a side effect this workaround a weird GCC-4.4 linking bug (see "Problem with g++-4.4 -O2 and Eigen3" in the ML) --- Eigen/src/Core/products/GeneralBlockPanelKernel.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Eigen/src/Core') diff --git a/Eigen/src/Core/products/GeneralBlockPanelKernel.h b/Eigen/src/Core/products/GeneralBlockPanelKernel.h index 2116dcc74..c530d75dc 100644 --- a/Eigen/src/Core/products/GeneralBlockPanelKernel.h +++ b/Eigen/src/Core/products/GeneralBlockPanelKernel.h @@ -536,7 +536,7 @@ struct gebp_kernel ResPacketSize = Traits::ResPacketSize }; - EIGEN_FLATTEN_ATTRIB + EIGEN_DONT_INLINE EIGEN_FLATTEN_ATTRIB void operator()(ResScalar* res, Index resStride, const LhsScalar* blockA, const RhsScalar* blockB, Index rows, Index depth, Index cols, ResScalar alpha, Index strideA=-1, Index strideB=-1, Index offsetA=0, Index offsetB=0, RhsScalar* unpackedB = 0) { -- cgit v1.2.3