Lines Matching defs:simd8x64

622   struct simd8x64 {
627 simd8x64(const simd8x64<T>& o) = delete; // no copy allowed
628 simd8x64<T>& operator=(const simd8<T> other) = delete; // no assignment allowed
629 simd8x64() = delete; // no default constructor allowed
631 simdutf_really_inline simd8x64(const simd8<T> chunk0, const simd8<T> chunk1, const simd8<T> chunk2, const simd8<T> chunk3) : chunks{chunk0, chunk1, chunk2, chunk3} {}
632 simdutf_really_inline simd8x64(const T* ptr) : chunks{simd8<T>::load(ptr), simd8<T>::load(ptr+sizeof(simd8<T>)/sizeof(T)), simd8<T>::load(ptr+2*sizeof(simd8<T>)/sizeof(T)), simd8<T>::load(ptr+3*sizeof(simd8<T>)/sizeof(T))} {}
642 simdutf_really_inline simd8x64<T>& operator |=(const simd8x64<T> &other) {
695 return simd8x64<bool>(
705 return simd8x64<bool>(
717 return simd8x64<bool>(
727 return simd8x64<bool>(
736 return simd8x64<bool>(
745 return simd8x64<bool>(
754 return simd8x64<bool>(
763 return simd8x64<bool>(
770 }; // struct simd8x64<T>
1931 struct simd8x64 {
1936 simd8x64(const simd8x64<T>& o) = delete; // no copy allowed
1937 simd8x64<T>& operator=(const simd8<T> other) = delete; // no assignment allowed
1938 simd8x64() = delete; // no default constructor allowed
1940 simdutf_really_inline simd8x64(const simd8<T> chunk0, const simd8<T> chunk1) : chunks{chunk0, chunk1} {}
1941 simdutf_really_inline simd8x64(const T* ptr) : chunks{simd8<T>::load(ptr), simd8<T>::load(ptr+sizeof(simd8<T>)/sizeof(T))} {}
1954 simdutf_really_inline simd8x64<T>& operator|=(const simd8x64<T> &other) {
1979 simdutf_really_inline simd8x64<T> bit_or(const T m) const {
1981 return simd8x64<T>(
1989 return simd8x64<bool>(
1995 simdutf_really_inline uint64_t eq(const simd8x64<uint8_t> &other) const {
1996 return simd8x64<bool>(
2004 return simd8x64<bool>(
2014 return simd8x64<bool>(
2022 return simd8x64<bool>(
2029 return simd8x64<bool>(
2037 return simd8x64<bool>(
2044 return simd8x64<bool>(
2051 return simd8x64<bool>(
2056 }; // struct simd8x64<T>
2869 struct simd8x64 {
2874 simd8x64(const simd8x64<T>& o) = delete; // no copy allowed
2875 simd8x64<T>& operator=(const simd8<T> other) = delete; // no assignment allowed
2876 simd8x64() = delete; // no default constructor allowed
2878 simdutf_really_inline simd8x64(const simd8<T> chunk0, const simd8<T> chunk1, const simd8<T> chunk2, const simd8<T> chunk3) : chunks{chunk0, chunk1, chunk2, chunk3} {}
2879 simdutf_really_inline simd8x64(const T* ptr) : chunks{simd8<T>::load(ptr), simd8<T>::load(ptr+sizeof(simd8<T>)/sizeof(T)), simd8<T>::load(ptr+2*sizeof(simd8<T>)/sizeof(T)), simd8<T>::load(ptr+3*sizeof(simd8<T>)/sizeof(T))} {}
2888 simdutf_really_inline simd8x64<T>& operator |=(const simd8x64<T> &other) {
2929 return simd8x64<bool>(
2937 simdutf_really_inline uint64_t eq(const simd8x64<uint8_t> &other) const {
2938 return simd8x64<bool>(
2948 return simd8x64<bool>(
2960 return simd8x64<bool>(
2970 return simd8x64<bool>(
2979 return simd8x64<bool>(
2989 return simd8x64<bool>(
2998 return simd8x64<bool>(
3007 return simd8x64<bool>(
3014 }; // struct simd8x64<T>
3812 template <typename T> struct simd8x64 {
3818 simd8x64(const simd8x64<T> &o) = delete; // no copy allowed
3819 simd8x64<T> &
3821 simd8x64() = delete; // no default constructor allowed
3823 simdutf_really_inline simd8x64(const simd8<T> chunk0, const simd8<T> chunk1,
3827 simdutf_really_inline simd8x64(const T* ptr) : chunks{simd8<T>::load(ptr), simd8<T>::load(ptr+sizeof(simd8<T>)/sizeof(T)), simd8<T>::load(ptr+2*sizeof(simd8<T>)/sizeof(T)), simd8<T>::load(ptr+3*sizeof(simd8<T>)/sizeof(T))} {}
3837 simdutf_really_inline simd8x64<T>& operator |=(const simd8x64<T> &other) {
3865 return simd8x64<bool>(this->chunks[0] == mask, this->chunks[1] == mask,
3870 simdutf_really_inline uint64_t eq(const simd8x64<uint8_t> &other) const {
3871 return simd8x64<bool>(this->chunks[0] == other.chunks[0],
3880 return simd8x64<bool>(this->chunks[0] <= mask, this->chunks[1] <= mask,
3889 return simd8x64<bool>(
3899 return simd8x64<bool>(
3908 return simd8x64<bool>(this->chunks[0] < mask, this->chunks[1] < mask,
3915 return simd8x64<bool>(
3924 return simd8x64<bool>(
3933 return simd8x64<bool>(
3940 }; // struct simd8x64<T>
12576 simdutf_really_inline bool is_ascii(const simd8x64<uint8_t>& input) {
12843 simd::simd8x64<uint8_t> in8(vreinterpretq_u8_u16(in), vreinterpretq_u8_u16(secondin), vreinterpretq_u8_u16(thirdin), vreinterpretq_u8_u16(fourthin));
12856 simd::simd8x64<uint8_t> in(block);
15150 static char *buf = reinterpret_cast<char*>(malloc(sizeof(simd8x64<uint8_t>) + 1));
15151 for (size_t i=0; i<sizeof(simd8x64<uint8_t>); i++) {
15154 buf[sizeof(simd8x64<uint8_t>)] = '\0';
15159 simdutf_unused static char * format_input_text(const simd8x64<uint8_t>& in) {
15160 static char *buf = reinterpret_cast<char*>(malloc(sizeof(simd8x64<uint8_t>) + 1));
15162 for (size_t i=0; i<sizeof(simd8x64<uint8_t>); i++) {
15165 buf[sizeof(simd8x64<uint8_t>)] = '\0';
15363 simdutf_really_inline void check_next_input(const simd8x64<uint8_t>& input) {
15368 static_assert((simd8x64<uint8_t>::NUM_CHUNKS == 2) || (simd8x64<uint8_t>::NUM_CHUNKS == 4),
15370 if(simd8x64<uint8_t>::NUM_CHUNKS == 2) {
15373 } else if(simd8x64<uint8_t>::NUM_CHUNKS == 4) {
15379 this->prev_incomplete = is_incomplete(input.chunks[simd8x64<uint8_t>::NUM_CHUNKS-1]);
15380 this->prev_input_block = input.chunks[simd8x64<uint8_t>::NUM_CHUNKS-1];
15413 simd::simd8x64<uint8_t> in(reader.full_block());
15419 simd::simd8x64<uint8_t> in(block);
15439 simd::simd8x64<uint8_t> in(reader.full_block());
15452 simd::simd8x64<uint8_t> in(block);
15474 simd::simd8x64<uint8_t> running_or(blocks);
15476 simd::simd8x64<uint8_t> in(reader.full_block());
15482 simd::simd8x64<uint8_t> in(block);
15496 simd::simd8x64<uint8_t> in(reader.full_block());
15507 simd::simd8x64<uint8_t> in(block);
15546 simd8x64<int8_t> in(reinterpret_cast<const int8_t *>(input + pos));
15745 simd8x64<int8_t> input(reinterpret_cast<const int8_t *>(in + pos));
15752 static_assert((simd8x64<uint8_t>::NUM_CHUNKS == 2) || (simd8x64<uint8_t>::NUM_CHUNKS == 4),
15755 if(simd8x64<uint8_t>::NUM_CHUNKS == 2) {
15758 } else if(simd8x64<uint8_t>::NUM_CHUNKS == 4) {
15820 simd8x64<int8_t> input(reinterpret_cast<const int8_t *>(in + pos));
15827 static_assert((simd8x64<uint8_t>::NUM_CHUNKS == 2) || (simd8x64<uint8_t>::NUM_CHUNKS == 4),
15830 if(simd8x64<uint8_t>::NUM_CHUNKS == 2) {
15833 } else if(simd8x64<uint8_t>::NUM_CHUNKS == 4) {
15923 simd8x64<int8_t> in(reinterpret_cast<const int8_t *>(input + pos));
16097 simd8x64<int8_t> input(reinterpret_cast<const int8_t *>(in + pos));
16104 static_assert((simd8x64<uint8_t>::NUM_CHUNKS == 2) || (simd8x64<uint8_t>::NUM_CHUNKS == 4),
16107 if(simd8x64<uint8_t>::NUM_CHUNKS == 2) {
16110 } else if(simd8x64<uint8_t>::NUM_CHUNKS == 4) {
16171 simd8x64<int8_t> input(reinterpret_cast<const int8_t *>(in + pos));
16178 static_assert((simd8x64<uint8_t>::NUM_CHUNKS == 2) || (simd8x64<uint8_t>::NUM_CHUNKS == 4),
16181 if(simd8x64<uint8_t>::NUM_CHUNKS == 2) {
16184 } else if(simd8x64<uint8_t>::NUM_CHUNKS == 4) {
16265 simd8x64<int8_t> input(reinterpret_cast<const int8_t *>(in + pos));
16277 simd8x64<int8_t> input(reinterpret_cast<const int8_t *>(in + pos));
16495 simd8x64<int8_t> input(reinterpret_cast<const int8_t *>(in + pos));
16502 static_assert((simd8x64<uint8_t>::NUM_CHUNKS == 2) || (simd8x64<uint8_t>::NUM_CHUNKS == 4),
16505 if(simd8x64<uint8_t>::NUM_CHUNKS == 2) {
16508 } else if(simd8x64<uint8_t>::NUM_CHUNKS == 4) {
16569 simd8x64<int8_t> input(reinterpret_cast<const int8_t *>(in + pos));
16576 static_assert((simd8x64<uint8_t>::NUM_CHUNKS == 2) || (simd8x64<uint8_t>::NUM_CHUNKS == 4),
16579 if(simd8x64<uint8_t>::NUM_CHUNKS == 2) {
16582 } else if(simd8x64<uint8_t>::NUM_CHUNKS == 4) {
16682 simd8x64<int8_t> input(reinterpret_cast<const int8_t *>(in + pos));
22018 simdutf_really_inline bool is_ascii(const simd8x64<uint8_t>& input) {
22189 simd::simd8x64<uint8_t> in8(in, nextin);
22202 simd::simd8x64<uint8_t> in(block);
24561 static char *buf = reinterpret_cast<char*>(malloc(sizeof(simd8x64<uint8_t>) + 1));
24562 for (size_t i=0; i<sizeof(simd8x64<uint8_t>); i++) {
24565 buf[sizeof(simd8x64<uint8_t>)] = '\0';
24570 simdutf_unused static char * format_input_text(const simd8x64<uint8_t>& in) {
24571 static char *buf = reinterpret_cast<char*>(malloc(sizeof(simd8x64<uint8_t>) + 1));
24573 for (size_t i=0; i<sizeof(simd8x64<uint8_t>); i++) {
24576 buf[sizeof(simd8x64<uint8_t>)] = '\0';
24774 simdutf_really_inline void check_next_input(const simd8x64<uint8_t>& input) {
24779 static_assert((simd8x64<uint8_t>::NUM_CHUNKS == 2) || (simd8x64<uint8_t>::NUM_CHUNKS == 4),
24781 if(simd8x64<uint8_t>::NUM_CHUNKS == 2) {
24784 } else if(simd8x64<uint8_t>::NUM_CHUNKS == 4) {
24790 this->prev_incomplete = is_incomplete(input.chunks[simd8x64<uint8_t>::NUM_CHUNKS-1]);
24791 this->prev_input_block = input.chunks[simd8x64<uint8_t>::NUM_CHUNKS-1];
24824 simd::simd8x64<uint8_t> in(reader.full_block());
24830 simd::simd8x64<uint8_t> in(block);
24850 simd::simd8x64<uint8_t> in(reader.full_block());
24863 simd::simd8x64<uint8_t> in(block);
24885 simd::simd8x64<uint8_t> running_or(blocks);
24887 simd::simd8x64<uint8_t> in(reader.full_block());
24893 simd::simd8x64<uint8_t> in(block);
24907 simd::simd8x64<uint8_t> in(reader.full_block());
24918 simd::simd8x64<uint8_t> in(block);
24957 simd8x64<int8_t> in(reinterpret_cast<const int8_t *>(input + pos));
25156 simd8x64<int8_t> input(reinterpret_cast<const int8_t *>(in + pos));
25163 static_assert((simd8x64<uint8_t>::NUM_CHUNKS == 2) || (simd8x64<uint8_t>::NUM_CHUNKS == 4),
25166 if(simd8x64<uint8_t>::NUM_CHUNKS == 2) {
25169 } else if(simd8x64<uint8_t>::NUM_CHUNKS == 4) {
25231 simd8x64<int8_t> input(reinterpret_cast<const int8_t *>(in + pos));
25238 static_assert((simd8x64<uint8_t>::NUM_CHUNKS == 2) || (simd8x64<uint8_t>::NUM_CHUNKS == 4),
25241 if(simd8x64<uint8_t>::NUM_CHUNKS == 2) {
25244 } else if(simd8x64<uint8_t>::NUM_CHUNKS == 4) {
25334 simd8x64<int8_t> in(reinterpret_cast<const int8_t *>(input + pos));
25508 simd8x64<int8_t> input(reinterpret_cast<const int8_t *>(in + pos));
25515 static_assert((simd8x64<uint8_t>::NUM_CHUNKS == 2) || (simd8x64<uint8_t>::NUM_CHUNKS == 4),
25518 if(simd8x64<uint8_t>::NUM_CHUNKS == 2) {
25521 } else if(simd8x64<uint8_t>::NUM_CHUNKS == 4) {
25582 simd8x64<int8_t> input(reinterpret_cast<const int8_t *>(in + pos));
25589 static_assert((simd8x64<uint8_t>::NUM_CHUNKS == 2) || (simd8x64<uint8_t>::NUM_CHUNKS == 4),
25592 if(simd8x64<uint8_t>::NUM_CHUNKS == 2) {
25595 } else if(simd8x64<uint8_t>::NUM_CHUNKS == 4) {
25676 simd8x64<int8_t> input(reinterpret_cast<const int8_t *>(in + pos));
25688 simd8x64<int8_t> input(reinterpret_cast<const int8_t *>(in + pos));
25908 simd8x64<int8_t> input(reinterpret_cast<const int8_t *>(in + pos));
25915 static_assert((simd8x64<uint8_t>::NUM_CHUNKS == 2) || (simd8x64<uint8_t>::NUM_CHUNKS == 4),
25918 if(simd8x64<uint8_t>::NUM_CHUNKS == 2) {
25921 } else if(simd8x64<uint8_t>::NUM_CHUNKS == 4) {
25982 simd8x64<int8_t> input(reinterpret_cast<const int8_t *>(in + pos));
25989 static_assert((simd8x64<uint8_t>::NUM_CHUNKS == 2) || (simd8x64<uint8_t>::NUM_CHUNKS == 4),
25992 if(simd8x64<uint8_t>::NUM_CHUNKS == 2) {
25995 } else if(simd8x64<uint8_t>::NUM_CHUNKS == 4) {
26095 simd8x64<int8_t> input(reinterpret_cast<const int8_t *>(in + pos));
26876 simdutf_really_inline bool is_ascii(const simd8x64<uint8_t>& input) {
26933 static char *buf = reinterpret_cast<char*>(malloc(sizeof(simd8x64<uint8_t>) + 1));
26934 for (size_t i=0; i<sizeof(simd8x64<uint8_t>); i++) {
26937 buf[sizeof(simd8x64<uint8_t>)] = '\0';
26942 simdutf_unused static char * format_input_text(const simd8x64<uint8_t>& in) {
26943 static char *buf = reinterpret_cast<char*>(malloc(sizeof(simd8x64<uint8_t>) + 1));
26945 for (size_t i=0; i<sizeof(simd8x64<uint8_t>); i++) {
26948 buf[sizeof(simd8x64<uint8_t>)] = '\0';
27146 simdutf_really_inline void check_next_input(const simd8x64<uint8_t>& input) {
27151 static_assert((simd8x64<uint8_t>::NUM_CHUNKS == 2) || (simd8x64<uint8_t>::NUM_CHUNKS == 4),
27153 if(simd8x64<uint8_t>::NUM_CHUNKS == 2) {
27156 } else if(simd8x64<uint8_t>::NUM_CHUNKS == 4) {
27162 this->prev_incomplete = is_incomplete(input.chunks[simd8x64<uint8_t>::NUM_CHUNKS-1]);
27163 this->prev_input_block = input.chunks[simd8x64<uint8_t>::NUM_CHUNKS-1];
27196 simd::simd8x64<uint8_t> in(reader.full_block());
27202 simd::simd8x64<uint8_t> in(block);
27222 simd::simd8x64<uint8_t> in(reader.full_block());
27235 simd::simd8x64<uint8_t> in(block);
27257 simd::simd8x64<uint8_t> running_or(blocks);
27259 simd::simd8x64<uint8_t> in(reader.full_block());
27265 simd::simd8x64<uint8_t> in(block);
27279 simd::simd8x64<uint8_t> in(reader.full_block());
27290 simd::simd8x64<uint8_t> in(block);
27329 simd8x64<int8_t> in(reinterpret_cast<const int8_t *>(input + pos));
27528 simd8x64<int8_t> input(reinterpret_cast<const int8_t *>(in + pos));
27535 static_assert((simd8x64<uint8_t>::NUM_CHUNKS == 2) || (simd8x64<uint8_t>::NUM_CHUNKS == 4),
27538 if(simd8x64<uint8_t>::NUM_CHUNKS == 2) {
27541 } else if(simd8x64<uint8_t>::NUM_CHUNKS == 4) {
27603 simd8x64<int8_t> input(reinterpret_cast<const int8_t *>(in + pos));
27610 static_assert((simd8x64<uint8_t>::NUM_CHUNKS == 2) || (simd8x64<uint8_t>::NUM_CHUNKS == 4),
27613 if(simd8x64<uint8_t>::NUM_CHUNKS == 2) {
27616 } else if(simd8x64<uint8_t>::NUM_CHUNKS == 4) {
27706 simd8x64<int8_t> in(reinterpret_cast<const int8_t *>(input + pos));
27880 simd8x64<int8_t> input(reinterpret_cast<const int8_t *>(in + pos));
27887 static_assert((simd8x64<uint8_t>::NUM_CHUNKS == 2) || (simd8x64<uint8_t>::NUM_CHUNKS == 4),
27890 if(simd8x64<uint8_t>::NUM_CHUNKS == 2) {
27893 } else if(simd8x64<uint8_t>::NUM_CHUNKS == 4) {
27954 simd8x64<int8_t> input(reinterpret_cast<const int8_t *>(in + pos));
27961 static_assert((simd8x64<uint8_t>::NUM_CHUNKS == 2) || (simd8x64<uint8_t>::NUM_CHUNKS == 4),
27964 if(simd8x64<uint8_t>::NUM_CHUNKS == 2) {
27967 } else if(simd8x64<uint8_t>::NUM_CHUNKS == 4) {
28048 simd8x64<int8_t> input(reinterpret_cast<const int8_t *>(in + pos));
28060 simd8x64<int8_t> input(reinterpret_cast<const int8_t *>(in + pos));
28397 simdutf_really_inline bool is_ascii(const simd8x64<uint8_t>& input) {
28666 simd::simd8x64<uint8_t> in8(in, secondin, thirdin, fourthin);
28679 simd::simd8x64<uint8_t> in(block);
30940 static char *buf = reinterpret_cast<char*>(malloc(sizeof(simd8x64<uint8_t>) + 1));
30941 for (size_t i=0; i<sizeof(simd8x64<uint8_t>); i++) {
30944 buf[sizeof(simd8x64<uint8_t>)] = '\0';
30949 simdutf_unused static char * format_input_text(const simd8x64<uint8_t>& in) {
30950 static char *buf = reinterpret_cast<char*>(malloc(sizeof(simd8x64<uint8_t>) + 1));
30952 for (size_t i=0; i<sizeof(simd8x64<uint8_t>); i++) {
30955 buf[sizeof(simd8x64<uint8_t>)] = '\0';
31153 simdutf_really_inline void check_next_input(const simd8x64<uint8_t>& input) {
31158 static_assert((simd8x64<uint8_t>::NUM_CHUNKS == 2) || (simd8x64<uint8_t>::NUM_CHUNKS == 4),
31160 if(simd8x64<uint8_t>::NUM_CHUNKS == 2) {
31163 } else if(simd8x64<uint8_t>::NUM_CHUNKS == 4) {
31169 this->prev_incomplete = is_incomplete(input.chunks[simd8x64<uint8_t>::NUM_CHUNKS-1]);
31170 this->prev_input_block = input.chunks[simd8x64<uint8_t>::NUM_CHUNKS-1];
31203 simd::simd8x64<uint8_t> in(reader.full_block());
31209 simd::simd8x64<uint8_t> in(block);
31229 simd::simd8x64<uint8_t> in(reader.full_block());
31242 simd::simd8x64<uint8_t> in(block);
31264 simd::simd8x64<uint8_t> running_or(blocks);
31266 simd::simd8x64<uint8_t> in(reader.full_block());
31272 simd::simd8x64<uint8_t> in(block);
31286 simd::simd8x64<uint8_t> in(reader.full_block());
31297 simd::simd8x64<uint8_t> in(block);
31336 simd8x64<int8_t> in(reinterpret_cast<const int8_t *>(input + pos));
31535 simd8x64<int8_t> input(reinterpret_cast<const int8_t *>(in + pos));
31542 static_assert((simd8x64<uint8_t>::NUM_CHUNKS == 2) || (simd8x64<uint8_t>::NUM_CHUNKS == 4),
31545 if(simd8x64<uint8_t>::NUM_CHUNKS == 2) {
31548 } else if(simd8x64<uint8_t>::NUM_CHUNKS == 4) {
31610 simd8x64<int8_t> input(reinterpret_cast<const int8_t *>(in + pos));
31617 static_assert((simd8x64<uint8_t>::NUM_CHUNKS == 2) || (simd8x64<uint8_t>::NUM_CHUNKS == 4),
31620 if(simd8x64<uint8_t>::NUM_CHUNKS == 2) {
31623 } else if(simd8x64<uint8_t>::NUM_CHUNKS == 4) {
31713 simd8x64<int8_t> in(reinterpret_cast<const int8_t *>(input + pos));
31887 simd8x64<int8_t> input(reinterpret_cast<const int8_t *>(in + pos));
31894 static_assert((simd8x64<uint8_t>::NUM_CHUNKS == 2) || (simd8x64<uint8_t>::NUM_CHUNKS == 4),
31897 if(simd8x64<uint8_t>::NUM_CHUNKS == 2) {
31900 } else if(simd8x64<uint8_t>::NUM_CHUNKS == 4) {
31961 simd8x64<int8_t> input(reinterpret_cast<const int8_t *>(in + pos));
31968 static_assert((simd8x64<uint8_t>::NUM_CHUNKS == 2) || (simd8x64<uint8_t>::NUM_CHUNKS == 4),
31971 if(simd8x64<uint8_t>::NUM_CHUNKS == 2) {
31974 } else if(simd8x64<uint8_t>::NUM_CHUNKS == 4) {
32055 simd8x64<int8_t> input(reinterpret_cast<const int8_t *>(in + pos));
32067 simd8x64<int8_t> input(reinterpret_cast<const int8_t *>(in + pos));
32285 simd8x64<int8_t> input(reinterpret_cast<const int8_t *>(in + pos));
32292 static_assert((simd8x64<uint8_t>::NUM_CHUNKS == 2) || (simd8x64<uint8_t>::NUM_CHUNKS == 4),
32295 if(simd8x64<uint8_t>::NUM_CHUNKS == 2) {
32298 } else if(simd8x64<uint8_t>::NUM_CHUNKS == 4) {
32359 simd8x64<int8_t> input(reinterpret_cast<const int8_t *>(in + pos));
32366 static_assert((simd8x64<uint8_t>::NUM_CHUNKS == 2) || (simd8x64<uint8_t>::NUM_CHUNKS == 4),
32369 if(simd8x64<uint8_t>::NUM_CHUNKS == 2) {
32372 } else if(simd8x64<uint8_t>::NUM_CHUNKS == 4) {
32472 simd8x64<int8_t> input(reinterpret_cast<const int8_t *>(in + pos));