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)
This commit is contained in:
Gael Guennebaud 2011-04-07 18:49:45 +02:00
parent eae5a6bb09
commit 0c146bee1b

View File

@ -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)
{