Skip to content

Commit 835d5d5

Browse files
committed
MSVC is a troll compiler
1 parent 1fc62ff commit 835d5d5

1 file changed

Lines changed: 4 additions & 8 deletions

File tree

include/libhat/scanner.hpp

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -199,11 +199,6 @@ namespace hat::detail {
199199
return std::assume_aligned<alignment>(ptr);
200200
}
201201

202-
template<scan_alignment alignment>
203-
LIBHAT_FORCEINLINE const std::byte* align_up(const std::byte* ptr) {
204-
return align_up<alignment_stride<alignment>>(ptr);
205-
}
206-
207202
template<typename Vector, size_t alignment, bool veccmp>
208203
LIBHAT_FORCEINLINE auto segment_scan(
209204
const std::byte* begin,
@@ -292,17 +287,18 @@ namespace hat::detail {
292287

293288
template<>
294289
inline const_scan_result find_pattern_single<scan_alignment::X16>(const std::byte* begin, const std::byte* end, const scan_context& context) {
290+
static constexpr auto stride = alignment_stride<scan_alignment::X16>;
295291
const auto signature = context.signature;
296292
const auto cmpByte = *signature[context.cmpIndex];
297293

298-
const auto scanBegin = align_up<scan_alignment::X16>(begin) + context.cmpIndex;
299-
const auto scanEnd = align_up<scan_alignment::X16>(end - signature.size() + 1) + context.cmpIndex;
294+
const auto scanBegin = align_up<stride>(begin) + context.cmpIndex;
295+
const auto scanEnd = align_up<stride>(end - signature.size() + 1) + context.cmpIndex;
300296

301297
if (scanBegin >= scanEnd) {
302298
return nullptr;
303299
}
304300

305-
for (auto i = scanBegin; i != scanEnd; i += 16) {
301+
for (auto i = scanBegin; i != scanEnd; i += stride) {
306302
if (*i == cmpByte) {
307303
const auto start = i - context.cmpIndex;
308304
const auto match = std::equal(signature.begin(), signature.end(), start);

0 commit comments

Comments
 (0)