diff --git a/Eigen/src/Core/products/SelfadjointProduct.h b/Eigen/src/Core/products/SelfadjointProduct.h index 9eb5de772..35d5ded21 100644 --- a/Eigen/src/Core/products/SelfadjointProduct.h +++ b/Eigen/src/Core/products/SelfadjointProduct.h @@ -75,7 +75,8 @@ struct ei_selfadjoint_product(kc, mc, nc); // !!! mc must be a multiple of nr: - mc = (mc/Blocking::nr)*Blocking::nr; + if(mc>Blocking::nr) + mc = (mc/Blocking::nr)*Blocking::nr; Scalar* blockA = ei_aligned_stack_new(Scalar, kc*mc); std::size_t sizeB = kc*Blocking::PacketSize*Blocking::nr + kc*size;