mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
fix priority operator bugs in the computation
of the VectorizableBit flag, now benchmark.cpp is properly vectorized
This commit is contained in:
@@ -134,9 +134,10 @@ struct ei_traits<Product<Lhs, Rhs, EvalMode> >
|
||||
: (unsigned int)(LhsFlags | RhsFlags) & ~LargeBit )
|
||||
| EvalBeforeAssigningBit
|
||||
| (ei_product_eval_mode<Lhs, Rhs>::value == (int)CacheOptimal ? EvalBeforeNestingBit : 0))
|
||||
& (~(RowMajorBit|VectorizableBit))
|
||||
| (((!Lhs::Flags&RowMajorBit) && Lhs::Flags&VectorizableBit) ? VectorizableBit
|
||||
: ((Rhs::Flags&RowMajorBit && Rhs::Flags&VectorizableBit) ? (RowMajorBit|VectorizableBit) : EIGEN_DEFAULT_MATRIX_STORAGE_ORDER)),
|
||||
& (~(RowMajorBit | VectorizableBit))
|
||||
| (((!(Lhs::Flags & RowMajorBit)) && (Lhs::Flags & VectorizableBit)) ? VectorizableBit
|
||||
: ((Rhs::Flags & RowMajorBit && (Rhs::Flags & VectorizableBit)) ? (RowMajorBit | VectorizableBit)
|
||||
: EIGEN_DEFAULT_MATRIX_STORAGE_ORDER)),
|
||||
CoeffReadCost
|
||||
= Lhs::ColsAtCompileTime == Dynamic
|
||||
? Dynamic
|
||||
|
||||
Reference in New Issue
Block a user