Update file GeneralMatrixVector.h
diff --git a/Eigen/src/Core/products/GeneralMatrixVector.h b/Eigen/src/Core/products/GeneralMatrixVector.h
index bd2bc9b..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)