bug #992: don't select a 3p GEMM path with non-vectorizable scalar types, this hits unsupported paths in symm/triangular products code

This commit is contained in:
Benoit Jacob 2015-04-07 15:13:55 -04:00
parent 0e9753c8df
commit d7f51feb07

View File

@ -380,11 +380,12 @@ public:
nr = 4, nr = 4,
// register block size along the M direction (currently, this one cannot be modified) // register block size along the M direction (currently, this one cannot be modified)
default_mr = (EIGEN_PLAIN_ENUM_MIN(16,NumberOfRegisters)/2/nr)*LhsPacketSize,
#if defined(EIGEN_HAS_SINGLE_INSTRUCTION_MADD) && !defined(EIGEN_VECTORIZE_ALTIVEC) && !defined(EIGEN_VECTORIZE_VSX) #if defined(EIGEN_HAS_SINGLE_INSTRUCTION_MADD) && !defined(EIGEN_VECTORIZE_ALTIVEC) && !defined(EIGEN_VECTORIZE_VSX)
// we assume 16 registers // we assume 16 registers
mr = 3*LhsPacketSize, mr = Vectorizable ? 3*LhsPacketSize : default_mr,
#else #else
mr = (EIGEN_PLAIN_ENUM_MIN(16,NumberOfRegisters)/2/nr)*LhsPacketSize, mr = default_mr,
#endif #endif
LhsProgress = LhsPacketSize, LhsProgress = LhsPacketSize,