|
|
|
@@ -2104,13 +2104,9 @@ bool scan16(const InternalVersionT *vs, const uint8_t *is, int begin, int end,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Returns true if v[i] <= readVersion for all i such that begin <= i < end
|
|
|
|
|
//
|
|
|
|
|
// always_inline So that we can optimize when begin or end is a constant.
|
|
|
|
|
// gcovr exclude annotation necessary because of always_inline?
|
|
|
|
|
template <bool kAVX512>
|
|
|
|
|
inline __attribute__((always_inline)) bool
|
|
|
|
|
scan16(const InternalVersionT *vs, int begin, int end, // GCOVR_EXCL_LINE
|
|
|
|
|
InternalVersionT readVersion) { // GCOVR_EXCL_LINE
|
|
|
|
|
bool scan16(const InternalVersionT *vs, int begin, int end,
|
|
|
|
|
InternalVersionT readVersion) {
|
|
|
|
|
assert(0 <= begin && begin < 16);
|
|
|
|
|
assert(0 <= end && end <= 16);
|
|
|
|
|
assert(begin <= end);
|
|
|
|
@@ -2873,7 +2869,7 @@ bool checkRangeRead(Node *n, std::span<const uint8_t> begin,
|
|
|
|
|
template __attribute__((target("avx512f"))) bool
|
|
|
|
|
scan16<true>(const InternalVersionT *vs, const uint8_t *is, int begin, int end,
|
|
|
|
|
InternalVersionT readVersion);
|
|
|
|
|
template __attribute__((always_inline, target("avx512f"))) bool
|
|
|
|
|
template __attribute__((target("avx512f"))) bool
|
|
|
|
|
scan16<true>(const InternalVersionT *vs, int begin, int end,
|
|
|
|
|
InternalVersionT readVersion);
|
|
|
|
|
template __attribute__((target("avx512f"))) bool
|
|
|
|
|