Update file GeneralMatrixVector.h
diff --git a/Eigen/src/Core/products/GeneralMatrixVector.h b/Eigen/src/Core/products/GeneralMatrixVector.h index bd2bc9b2..cef0ade 100644 --- a/Eigen/src/Core/products/GeneralMatrixVector.h +++ b/Eigen/src/Core/products/GeneralMatrixVector.h
@@ -362,9 +362,10 @@ HasQuarter = (int)ResPacketSizeQuarter < (int)ResPacketSizeHalf }; - const Index fullColBlockEnd = cols & (-LhsPacketSize); - const Index halfColBlockEnd = cols & (-LhsPacketSizeHalf); - const Index quarterColBlockEnd = cols & (-LhsPacketSizeQuarter); + using UnsignedIndex = typename make_unsigned<Index>::type; + const Index fullColBlockEnd = LhsPacketSize * (UnsignedIndex(cols) / LhsPacketSize); + const Index halfColBlockEnd = LhsPacketSizeHalf * (UnsignedIndex(cols) / LhsPacketSizeHalf); + const Index quarterColBlockEnd = LhsPacketSizeQuarter * (UnsignedIndex(cols) / LhsPacketSizeQuarter); Index i=0; for(; i<n8; i+=8)