SuperVector constructors as well as andnot implementation fixed

This commit is contained in:
Apostolos Tapsas
2021-11-05 13:34:48 +00:00
parent d9d39d48c5
commit ba90cdeb5a
3 changed files with 18 additions and 17 deletions

View File

@@ -43,7 +43,7 @@ const SuperVector<S> blockSingleMask(SuperVector<S> mask_lo, SuperVector<S> mask
c_lo = mask_lo.template pshufb<false>(c_lo);
c_hi = mask_hi.template pshufb<false>(c_hi);
return (c_lo & c_hi) > (SuperVector<S>::Zeroes());
return (c_lo & c_hi).eq(SuperVector<S>::Zeroes());
}
template <uint16_t S>
@@ -72,5 +72,5 @@ SuperVector<S> blockDoubleMask(SuperVector<S> mask1_lo, SuperVector<S> mask1_hi,
SuperVector<S> t = t1 | (t2.template vshr_128_imm<1>());
t.print8("t");
return !t.eq(SuperVector<S>::Ones());
return t.eq(SuperVector<S>::Ones());
}