diff options
author | Gael Guennebaud <g.gael@free.fr> | 2011-04-07 18:49:45 +0200 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2011-04-07 18:49:45 +0200 |
commit | 0c146bee1b5981eb99a747e3176daea6c0a287ff (patch) | |
tree | 7e6062bec3c9fdcf9dc27648685adcca9886c26d /Eigen | |
parent | eae5a6bb094243f80495955a3d1c551160c6f818 (diff) |
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)
Diffstat (limited to 'Eigen')
-rw-r--r-- | Eigen/src/Core/products/GeneralBlockPanelKernel.h | 2 |
1 files changed, 1 insertions, 1 deletions
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) { |