Lines Matching defs:simd8
346 struct simd8<bool>: base_u8<bool> { struct
347 typedef uint16_t bitmask_t;
348 typedef uint32_t bitmask2_t;
350 …c simdutf_really_inline simd8<bool> splat(bool _value) { return vmovq_n_u8(uint8_t(-(!!_value))); } in splat()
352 simdutf_really_inline simd8(const uint8x16_t _value) : base_u8<bool>(_value) {} in simd8() argument
354 simdutf_really_inline simd8() : simd8(vdupq_n_u8(0)) {} in simd8() function
356 simdutf_really_inline simd8(bool _value) : simd8(splat(_value)) {} in simd8() function
357 simdutf_really_inline void store(uint8_t dst[16]) const { return vst1q_u8(dst, *this); } in store()
361 simdutf_really_inline uint32_t to_bitmask() const { in to_bitmask()
381 simdutf_really_inline uint64_t to_bitmask64() const { in to_bitmask64()
385 simdutf_really_inline bool any() const { return vmaxvq_u8(*this) != 0; } in any()
386 simdutf_really_inline bool none() const { return vmaxvq_u8(*this) == 0; } in none()
387 simdutf_really_inline bool all() const { return vminvq_u8(*this) == 0xFF; } in all()
394 struct simd8<uint8_t>: base_u8<uint8_t> { struct
395 static simdutf_really_inline simd8<uint8_t> splat(uint8_t _value) { return vmovq_n_u8(_value); } in splat()
396 static simdutf_really_inline simd8<uint8_t> zero() { return vdupq_n_u8(0); } in zero()
397 …tatic simdutf_really_inline simd8<uint8_t> load(const uint8_t* values) { return vld1q_u8(values); } in load()
398 simdutf_really_inline simd8(const uint8x16_t _value) : base_u8<uint8_t>(_value) {} in simd8() argument
400 simdutf_really_inline simd8() : simd8(zero()) {} in simd8() argument
402 simdutf_really_inline simd8(const uint8_t values[16]) : simd8(load(values)) {} in simd8() function
404 simdutf_really_inline simd8(uint8_t _value) : simd8(splat(_value)) {} in simd8() argument
407 simdutf_really_inline simd8( in simd8() function
415 simdutf_really_inline simd8( in simd8() argument
425 simdutf_really_inline static simd8<uint8_t> repeat_16( in repeat_16()
436 simdutf_really_inline void store(uint8_t dst[16]) const { return vst1q_u8(dst, *this); } in store()
439 …simd8<uint8_t> saturating_add(const simd8<uint8_t> other) const { return vqaddq_u8(*this, other); } in saturating_add()
440 …simd8<uint8_t> saturating_sub(const simd8<uint8_t> other) const { return vqsubq_u8(*this, other); } in saturating_sub()
443 …nline simd8<uint8_t> operator+(const simd8<uint8_t> other) const { return vaddq_u8(*this, other); } in operator +()
444 …nline simd8<uint8_t> operator-(const simd8<uint8_t> other) const { return vsubq_u8(*this, other); } in operator -()
445 …ine simd8<uint8_t>& operator+=(const simd8<uint8_t> other) { *this = *this + other; return *this; } in operator +=()
446 …ine simd8<uint8_t>& operator-=(const simd8<uint8_t> other) { *this = *this - other; return *this; } in operator -=()
449 simdutf_really_inline uint8_t max_val() const { return vmaxvq_u8(*this); } in max_val()
450 simdutf_really_inline uint8_t min_val() const { return vminvq_u8(*this); } in min_val()
451 …_inline simd8<uint8_t> max_val(const simd8<uint8_t> other) const { return vmaxq_u8(*this, other); } in max_val()
452 …_inline simd8<uint8_t> min_val(const simd8<uint8_t> other) const { return vminq_u8(*this, other); } in min_val()
453 …_inline simd8<bool> operator<=(const simd8<uint8_t> other) const { return vcleq_u8(*this, other); } in operator <=()
454 …_inline simd8<bool> operator>=(const simd8<uint8_t> other) const { return vcgeq_u8(*this, other); } in operator >=()
455 …y_inline simd8<bool> operator<(const simd8<uint8_t> other) const { return vcltq_u8(*this, other); } in operator <()
456 …y_inline simd8<bool> operator>(const simd8<uint8_t> other) const { return vcgtq_u8(*this, other); } in operator >()
458 … simd8<uint8_t> gt_bits(const simd8<uint8_t> other) const { return simd8<uint8_t>(*this > other); } in gt_bits()
460 … simd8<uint8_t> lt_bits(const simd8<uint8_t> other) const { return simd8<uint8_t>(*this < other); } in lt_bits()
463 …really_inline simd8<bool> any_bits_set(simd8<uint8_t> bits) const { return vtstq_u8(*this, bits); } in any_bits_set()
464 simdutf_really_inline bool is_ascii() const { return this->max_val() < 0b10000000u; } in is_ascii()
466 simdutf_really_inline bool any_bits_set_anywhere() const { return this->max_val() != 0; } in any_bits_set_anywhere()
467 …any_bits_set_anywhere(simd8<uint8_t> bits) const { return (*this & bits).any_bits_set_anywhere(); } in any_bits_set_anywhere()
469 simdutf_really_inline simd8<uint8_t> shr() const { return vshrq_n_u8(*this, N); } in shr()
471 simdutf_really_inline simd8<uint8_t> shl() const { return vshlq_n_u8(*this, N); } in shl()
475 simdutf_really_inline simd8<L> lookup_16(simd8<L> lookup_table) const { in lookup_16()
481 simdutf_really_inline simd8<L> lookup_16( in lookup_16()
495 simdutf_really_inline simd8<uint8_t> apply_lookup_16_to(const simd8<T> original) const { in apply_lookup_16_to()
502 struct simd8<int8_t> { struct
503 int8x16_t value;
505 static simdutf_really_inline simd8<int8_t> splat(int8_t _value) { return vmovq_n_s8(_value); } in splat()
506 static simdutf_really_inline simd8<int8_t> zero() { return vdupq_n_s8(0); } in zero()
507 …atic simdutf_really_inline simd8<int8_t> load(const int8_t values[16]) { return vld1q_s8(values); } in load()
509 simdutf_really_inline void store_ascii_as_utf16(char16_t * p) const { in store_ascii_as_utf16()
524 simdutf_really_inline void store_ascii_as_utf32(char32_t * p) const { in store_ascii_as_utf32()
531 simdutf_really_inline simd8(const int8x16_t _value) : value{_value} {} in simd8() argument
532 simdutf_really_inline operator const int8x16_t&() const { return this->value; } in operator const int8x16_t&()
533 …imdutf_really_inline operator const uint8x16_t() const { return vreinterpretq_u8_s8(this->value); } in operator const uint8x16_t()
534 simdutf_really_inline operator int8x16_t&() { return this->value; } in operator int8x16_t&()
537 simdutf_really_inline simd8() : simd8(zero()) {} in simd8() function
539 simdutf_really_inline simd8(int8_t _value) : simd8(splat(_value)) {} in simd8() function
541 simdutf_really_inline simd8(const int8_t* values) : simd8(load(values)) {} in simd8() function
544 simdutf_really_inline simd8( in simd8() argument
552 simdutf_really_inline simd8( in simd8() function
561 simdutf_really_inline static simd8<int8_t> repeat_16( in repeat_16()
572 simdutf_really_inline void store(int8_t dst[16]) const { return vst1q_s8(dst, value); } in store()
579 … simdutf_really_inline explicit simd8(const uint8x16_t other): simd8(vreinterpretq_s8_u8(other)) {} in simd8() function
581 … simdutf_really_inline operator simd8<uint8_t>() const { return vreinterpretq_u8_s8(this->value); } in operator simd8<uint8_t>()
583 …e simd8<int8_t> operator|(const simd8<int8_t> other) const { return vorrq_s8(value, other.value); } in operator |()
584 …e simd8<int8_t> operator&(const simd8<int8_t> other) const { return vandq_s8(value, other.value); } in operator &()
585 …e simd8<int8_t> operator^(const simd8<int8_t> other) const { return veorq_s8(value, other.value); } in operator ^()
586 … simd8<int8_t> bit_andnot(const simd8<int8_t> other) const { return vbicq_s8(value, other.value); } in bit_andnot()
589 …e simd8<int8_t> operator+(const simd8<int8_t> other) const { return vaddq_s8(value, other.value); } in operator +()
590 …e simd8<int8_t> operator-(const simd8<int8_t> other) const { return vsubq_s8(value, other.value); } in operator -()
591 …nline simd8<int8_t>& operator+=(const simd8<int8_t> other) { *this = *this + other; return *this; } in operator +=()
592 …nline simd8<int8_t>& operator-=(const simd8<int8_t> other) { *this = *this - other; return *this; } in operator -=()
594 simdutf_really_inline int8_t max_val() const { return vmaxvq_s8(value); } in max_val()
595 simdutf_really_inline int8_t min_val() const { return vminvq_s8(value); } in min_val()
596 simdutf_really_inline bool is_ascii() const { return this->min_val() >= 0; } in is_ascii()
599 …ine simd8<int8_t> max_val(const simd8<int8_t> other) const { return vmaxq_s8(value, other.value); } in max_val()
600 …ine simd8<int8_t> min_val(const simd8<int8_t> other) const { return vminq_s8(value, other.value); } in min_val()
601 …ine simd8<bool> operator>(const simd8<int8_t> other) const { return vcgtq_s8(value, other.value); } in operator >()
602 …ine simd8<bool> operator<(const simd8<int8_t> other) const { return vcltq_s8(value, other.value); } in operator <()
603 …ne simd8<bool> operator==(const simd8<int8_t> other) const { return vceqq_s8(value, other.value); } in operator ==()
606 simdutf_really_inline simd8<int8_t> prev(const simd8<int8_t> prev_chunk) const { in prev()
612 simdutf_really_inline simd8<L> lookup_16(simd8<L> lookup_table) const { in lookup_16()
616 simdutf_really_inline simd8<L> lookup_16( in lookup_16()
630 simdutf_really_inline simd8<int8_t> apply_lookup_16_to(const simd8<T> original) { in apply_lookup_16_to()
1726 struct simd8<bool>: base8<bool> { struct
1727 …utf_really_inline simd8<bool> splat(bool _value) { return _mm256_set1_epi8(uint8_t(-(!!_value))); } in splat()
1729 simdutf_really_inline simd8<bool>() : base8() {} in simd8() function
1730 simdutf_really_inline simd8<bool>(const __m256i _value) : base8<bool>(_value) {} in simd8() argument
1732 simdutf_really_inline simd8<bool>(bool _value) : base8<bool>(splat(_value)) {} in simd8() function
1734 …simdutf_really_inline uint32_t to_bitmask() const { return uint32_t(_mm256_movemask_epi8(*this)); } in to_bitmask()
1735 simdutf_really_inline bool any() const { return !_mm256_testz_si256(*this, *this); } in any()
1736 simdutf_really_inline bool none() const { return _mm256_testz_si256(*this, *this); } in none()
1737 …nline bool all() const { return static_cast<uint32_t>(_mm256_movemask_epi8(*this)) == 0xFFFFFFFF; } in all()
1738 simdutf_really_inline simd8<bool> operator~() const { return *this ^ true; } in operator ~()
1800 struct simd8<int8_t> : base8_numeric<int8_t> { struct
1801 simdutf_really_inline simd8() : base8_numeric<int8_t>() {} in simd8() function
1802 simdutf_really_inline simd8(const __m256i _value) : base8_numeric<int8_t>(_value) {} in simd8() argument
1805 simdutf_really_inline simd8(int8_t _value) : simd8(splat(_value)) {} in simd8() argument
1807 simdutf_really_inline simd8(const int8_t values[32]) : simd8(load(values)) {} in simd8() argument
1810 simdutf_really_inline simd8( in simd8() function
1822 simdutf_really_inline static simd8<int8_t> repeat_16( in repeat_16()
1833 simdutf_really_inline bool is_ascii() const { return _mm256_movemask_epi8(*this) == 0; } in is_ascii()
1835 …ne simd8<int8_t> max_val(const simd8<int8_t> other) const { return _mm256_max_epi8(*this, other); } in max_val()
1836 …ne simd8<int8_t> min_val(const simd8<int8_t> other) const { return _mm256_min_epi8(*this, other); } in min_val()
1837 … simd8<bool> operator>(const simd8<int8_t> other) const { return _mm256_cmpgt_epi8(*this, other); } in operator >()
1838 … simd8<bool> operator<(const simd8<int8_t> other) const { return _mm256_cmpgt_epi8(other, *this); } in operator <()
1843 struct simd8<uint8_t>: base8_numeric<uint8_t> { struct
1844 simdutf_really_inline simd8() : base8_numeric<uint8_t>() {} in simd8() function
1845 simdutf_really_inline simd8(const __m256i _value) : base8_numeric<uint8_t>(_value) {} in simd8() argument
1847 simdutf_really_inline simd8(uint8_t _value) : simd8(splat(_value)) {} in simd8() argument
1849 simdutf_really_inline simd8(const uint8_t values[32]) : simd8(load(values)) {} in simd8() argument
1851 simdutf_really_inline simd8( in simd8() argument
1863 simdutf_really_inline static simd8<uint8_t> repeat_16( in repeat_16()
1877 …int8_t> saturating_add(const simd8<uint8_t> other) const { return _mm256_adds_epu8(*this, other); } in saturating_add()
1878 …int8_t> saturating_sub(const simd8<uint8_t> other) const { return _mm256_subs_epu8(*this, other); } in saturating_sub()
1881 … simd8<uint8_t> max_val(const simd8<uint8_t> other) const { return _mm256_max_epu8(*this, other); } in max_val()
1882 … simd8<uint8_t> min_val(const simd8<uint8_t> other) const { return _mm256_min_epu8(other, *this); } in min_val()
1884 …ne simd8<uint8_t> gt_bits(const simd8<uint8_t> other) const { return this->saturating_sub(other); } in gt_bits()
1886 …ne simd8<uint8_t> lt_bits(const simd8<uint8_t> other) const { return other.saturating_sub(*this); } in lt_bits()
1887 … simd8<bool> operator<=(const simd8<uint8_t> other) const { return other.max_val(*this) == other; } in operator <=()
1888 … simd8<bool> operator>=(const simd8<uint8_t> other) const { return other.min_val(*this) == other; } in operator >=()
1889 …8<bool> operator>(const simd8<uint8_t> other) const { return this->gt_bits(other).any_bits_set(); } in operator >()
1890 …8<bool> operator<(const simd8<uint8_t> other) const { return this->lt_bits(other).any_bits_set(); } in operator <()
1893 simdutf_really_inline simd8<bool> bits_not_set() const { return *this == uint8_t(0); } in bits_not_set()
1894 …nline simd8<bool> bits_not_set(simd8<uint8_t> bits) const { return (*this & bits).bits_not_set(); } in bits_not_set()
1895 simdutf_really_inline simd8<bool> any_bits_set() const { return ~this->bits_not_set(); } in any_bits_set()
1896 …ly_inline simd8<bool> any_bits_set(simd8<uint8_t> bits) const { return ~this->bits_not_set(bits); } in any_bits_set()
1897 simdutf_really_inline bool is_ascii() const { return _mm256_movemask_epi8(*this) == 0; } in is_ascii()
1898 …mdutf_really_inline bool bits_not_set_anywhere() const { return _mm256_testz_si256(*this, *this); } in bits_not_set_anywhere()
1899 simdutf_really_inline bool any_bits_set_anywhere() const { return !bits_not_set_anywhere(); } in any_bits_set_anywhere()
1900 …e bool bits_not_set_anywhere(simd8<uint8_t> bits) const { return _mm256_testz_si256(*this, bits); } in bits_not_set_anywhere()
1901 …line bool any_bits_set_anywhere(simd8<uint8_t> bits) const { return !bits_not_set_anywhere(bits); } in any_bits_set_anywhere()
1903 …<uint8_t> shr() const { return simd8<uint8_t>(_mm256_srli_epi16(*this, N)) & uint8_t(0xFFu >> N); } in shr()
1905 …<uint8_t> shl() const { return simd8<uint8_t>(_mm256_slli_epi16(*this, N)) & uint8_t(0xFFu << N); } in shl()
1909 …f_really_inline int get_bit() const { return _mm256_movemask_epi8(_mm256_slli_epi16(*this, 7-N)); } in get_bit()
2622 struct simd8<bool>: base8<bool> { struct
2623 …imdutf_really_inline simd8<bool> splat(bool _value) { return _mm_set1_epi8(uint8_t(-(!!_value))); } in splat()
2625 simdutf_really_inline simd8<bool>() : base8() {} in simd8() argument
2626 simdutf_really_inline simd8<bool>(const __m128i _value) : base8<bool>(_value) {} in simd8() argument
2628 simdutf_really_inline simd8<bool>(bool _value) : base8<bool>(splat(_value)) {} in simd8() argument
2630 simdutf_really_inline int to_bitmask() const { return _mm_movemask_epi8(*this); } in to_bitmask()
2631 simdutf_really_inline bool any() const { return !_mm_testz_si128(*this, *this); } in any()
2632 simdutf_really_inline bool none() const { return _mm_testz_si128(*this, *this); } in none()
2633 simdutf_really_inline bool all() const { return _mm_movemask_epi8(*this) == 0xFFFF; } in all()
2634 simdutf_really_inline simd8<bool> operator~() const { return *this ^ true; } in operator ~()
2693 struct simd8<int8_t> : base8_numeric<int8_t> { struct
2694 simdutf_really_inline simd8() : base8_numeric<int8_t>() {} in simd8() function
2695 simdutf_really_inline simd8(const __m128i _value) : base8_numeric<int8_t>(_value) {} in simd8() argument
2697 simdutf_really_inline simd8(int8_t _value) : simd8(splat(_value)) {} in simd8() argument
2699 simdutf_really_inline simd8(const int8_t* values) : simd8(load(values)) {} in simd8() function
2701 simdutf_really_inline simd8( in simd8() function
2709 simdutf_really_inline static simd8<int8_t> repeat_16( in repeat_16()
2719 simdutf_really_inline bool is_ascii() const { return _mm_movemask_epi8(*this) == 0; } in is_ascii()
2722 …nline simd8<int8_t> max_val(const simd8<int8_t> other) const { return _mm_max_epi8(*this, other); } in max_val()
2723 …nline simd8<int8_t> min_val(const simd8<int8_t> other) const { return _mm_min_epi8(*this, other); } in min_val()
2724 …ine simd8<bool> operator>(const simd8<int8_t> other) const { return _mm_cmpgt_epi8(*this, other); } in operator >()
2725 …ine simd8<bool> operator<(const simd8<int8_t> other) const { return _mm_cmpgt_epi8(other, *this); } in operator <()
2730 struct simd8<uint8_t>: base8_numeric<uint8_t> { struct
2731 simdutf_really_inline simd8() : base8_numeric<uint8_t>() {} in simd8() function
2732 simdutf_really_inline simd8(const __m128i _value) : base8_numeric<uint8_t>(_value) {} in simd8() function
2735 simdutf_really_inline simd8(uint8_t _value) : simd8(splat(_value)) {} in simd8() argument
2737 simdutf_really_inline simd8(const uint8_t* values) : simd8(load(values)) {} in simd8() argument
2739 simdutf_really_inline simd8( in simd8() function
2747 simdutf_really_inline static simd8<uint8_t> repeat_16( in repeat_16()
2758 …8<uint8_t> saturating_add(const simd8<uint8_t> other) const { return _mm_adds_epu8(*this, other); } in saturating_add()
2759 …8<uint8_t> saturating_sub(const simd8<uint8_t> other) const { return _mm_subs_epu8(*this, other); } in saturating_sub()
2762 …ine simd8<uint8_t> max_val(const simd8<uint8_t> other) const { return _mm_max_epu8(*this, other); } in max_val()
2763 …ine simd8<uint8_t> min_val(const simd8<uint8_t> other) const { return _mm_min_epu8(*this, other); } in min_val()
2765 …ne simd8<uint8_t> gt_bits(const simd8<uint8_t> other) const { return this->saturating_sub(other); } in gt_bits()
2767 …ne simd8<uint8_t> lt_bits(const simd8<uint8_t> other) const { return other.saturating_sub(*this); } in lt_bits()
2768 … simd8<bool> operator<=(const simd8<uint8_t> other) const { return other.max_val(*this) == other; } in operator <=()
2769 … simd8<bool> operator>=(const simd8<uint8_t> other) const { return other.min_val(*this) == other; } in operator >=()
2770 …8<bool> operator>(const simd8<uint8_t> other) const { return this->gt_bits(other).any_bits_set(); } in operator >()
2771 …8<bool> operator<(const simd8<uint8_t> other) const { return this->gt_bits(other).any_bits_set(); } in operator <()
2774 simdutf_really_inline simd8<bool> bits_not_set() const { return *this == uint8_t(0); } in bits_not_set()
2775 …nline simd8<bool> bits_not_set(simd8<uint8_t> bits) const { return (*this & bits).bits_not_set(); } in bits_not_set()
2776 simdutf_really_inline simd8<bool> any_bits_set() const { return ~this->bits_not_set(); } in any_bits_set()
2777 …ly_inline simd8<bool> any_bits_set(simd8<uint8_t> bits) const { return ~this->bits_not_set(bits); } in any_bits_set()
2778 simdutf_really_inline bool is_ascii() const { return _mm_movemask_epi8(*this) == 0; } in is_ascii()
2780 … simdutf_really_inline bool bits_not_set_anywhere() const { return _mm_testz_si128(*this, *this); } in bits_not_set_anywhere()
2781 simdutf_really_inline bool any_bits_set_anywhere() const { return !bits_not_set_anywhere(); } in any_bits_set_anywhere()
2782 …line bool bits_not_set_anywhere(simd8<uint8_t> bits) const { return _mm_testz_si128(*this, bits); } in bits_not_set_anywhere()
2783 …line bool any_bits_set_anywhere(simd8<uint8_t> bits) const { return !bits_not_set_anywhere(bits); } in any_bits_set_anywhere()
2785 …md8<uint8_t> shr() const { return simd8<uint8_t>(_mm_srli_epi16(*this, N)) & uint8_t(0xFFu >> N); } in shr()
2787 …md8<uint8_t> shl() const { return simd8<uint8_t>(_mm_slli_epi16(*this, N)) & uint8_t(0xFFu << N); } in shl()
2791 …simdutf_really_inline int get_bit() const { return _mm_movemask_epi8(_mm_slli_epi16(*this, 7-N)); } in get_bit()
2797 struct simd8<uint16_t>: base<uint16_t> { struct
2798 …tic simdutf_really_inline simd8<uint16_t> splat(uint16_t _value) { return _mm_set1_epi16(_value); } in splat()
2799 static simdutf_really_inline simd8<uint16_t> load(const uint16_t values[8]) { in load()
2803 simdutf_really_inline simd8() : base<uint16_t>() {} in simd8() argument
2804 simdutf_really_inline simd8(const __m128i _value) : base<uint16_t>(_value) {} in simd8() argument
2806 simdutf_really_inline simd8(uint16_t _value) : simd8(splat(_value)) {} in simd8() function
2808 simdutf_really_inline simd8(const uint16_t* values) : simd8(load(values)) {} in simd8() function
2810 simdutf_really_inline simd8( in simd8() argument
2817 …int16_t> saturating_add(const simd8<uint16_t> other) const { return _mm_adds_epu16(*this, other); } in saturating_add()
2818 …int16_t> saturating_sub(const simd8<uint16_t> other) const { return _mm_subs_epu16(*this, other); } in saturating_sub()
2821 … simd8<uint16_t> max_val(const simd8<uint16_t> other) const { return _mm_max_epu16(*this, other); } in max_val()
2822 … simd8<uint16_t> min_val(const simd8<uint16_t> other) const { return _mm_min_epu16(*this, other); } in min_val()
2824 … simd8<uint16_t> gt_bits(const simd8<uint16_t> other) const { return this->saturating_sub(other); } in gt_bits()
2826 … simd8<uint16_t> lt_bits(const simd8<uint16_t> other) const { return other.saturating_sub(*this); } in lt_bits()
2827 …simd8<bool> operator<=(const simd8<uint16_t> other) const { return other.max_val(*this) == other; } in operator <=()
2828 …simd8<bool> operator>=(const simd8<uint16_t> other) const { return other.min_val(*this) == other; } in operator >=()
2829 …simd8<bool> operator==(const simd8<uint16_t> other) const { return _mm_cmpeq_epi16(*this, other); } in operator ==()
2830 …ne simd8<bool> operator&(const simd8<uint16_t> other) const { return _mm_and_si128(*this, other); } in operator &()
2831 …ine simd8<bool> operator|(const simd8<uint16_t> other) const { return _mm_or_si128(*this, other); } in operator |()
2834 simdutf_really_inline simd8<bool> bits_not_set() const { return *this == uint16_t(0); } in bits_not_set()
2835 simdutf_really_inline simd8<bool> any_bits_set() const { return ~this->bits_not_set(); } in any_bits_set()
2837 … simdutf_really_inline bool bits_not_set_anywhere() const { return _mm_testz_si128(*this, *this); } in bits_not_set_anywhere()
2838 simdutf_really_inline bool any_bits_set_anywhere() const { return !bits_not_set_anywhere(); } in any_bits_set_anywhere()
2839 …ine bool bits_not_set_anywhere(simd8<uint16_t> bits) const { return _mm_testz_si128(*this, bits); } in bits_not_set_anywhere()
2840 …ine bool any_bits_set_anywhere(simd8<uint16_t> bits) const { return !bits_not_set_anywhere(bits); } in any_bits_set_anywhere()
3532 template <> struct simd8<bool> : base8<bool> { struct
3533 static simdutf_really_inline simd8<bool> splat(bool _value) { in splat()
3537 simdutf_really_inline simd8<bool>() : base8() {} in simd8() function
3538 simdutf_really_inline simd8<bool>(const __m128i _value) in simd8() function
3541 simdutf_really_inline simd8<bool>(bool _value) in simd8() argument
3544 simdutf_really_inline int to_bitmask() const { in to_bitmask()
3557 simdutf_really_inline bool any() const { in any()
3560 simdutf_really_inline simd8<bool> operator~() const { in operator ~()
3632 template <> struct simd8<int8_t> : base8_numeric<int8_t> { struct
3633 simdutf_really_inline simd8() : base8_numeric<int8_t>() {} in simd8() argument
3634 simdutf_really_inline simd8(const __m128i _value) in simd8() argument
3638 simdutf_really_inline simd8(int8_t _value) : simd8(splat(_value)) {} in simd8() argument
3640 simdutf_really_inline simd8(const int8_t *values) : simd8(load(values)) {} in simd8() function
3642 simdutf_really_inline simd8(int8_t v0, int8_t v1, int8_t v2, int8_t v3, in simd8() function
3651 repeat_16(int8_t v0, int8_t v1, int8_t v2, int8_t v3, int8_t v4, int8_t v5, in repeat_16()
3660 max_val(const simd8<int8_t> other) const { in max_val()
3665 min_val(const simd8<int8_t> other) const { in min_val()
3670 operator>(const simd8<int8_t> other) const { in operator >()
3675 operator<(const simd8<int8_t> other) const { in operator <()
3682 template <> struct simd8<uint8_t> : base8_numeric<uint8_t> { struct
3683 simdutf_really_inline simd8() : base8_numeric<uint8_t>() {} in simd8() function
3684 simdutf_really_inline simd8(const __m128i _value) in simd8() function
3687 simdutf_really_inline simd8(uint8_t _value) : simd8(splat(_value)) {} in simd8() argument
3689 simdutf_really_inline simd8(const uint8_t *values) : simd8(load(values)) {} in simd8() function
3692 simd8(uint8_t v0, uint8_t v1, uint8_t v2, uint8_t v3, uint8_t v4, uint8_t v5, in simd8() argument
3699 repeat_16(uint8_t v0, uint8_t v1, uint8_t v2, uint8_t v3, uint8_t v4, in repeat_16()
3709 saturating_add(const simd8<uint8_t> other) const { in saturating_add()
3713 saturating_sub(const simd8<uint8_t> other) const { in saturating_sub()
3719 max_val(const simd8<uint8_t> other) const { in max_val()
3723 min_val(const simd8<uint8_t> other) const { in min_val()
3728 gt_bits(const simd8<uint8_t> other) const { in gt_bits()
3733 lt_bits(const simd8<uint8_t> other) const { in lt_bits()
3737 operator<=(const simd8<uint8_t> other) const { in operator <=()
3741 operator>=(const simd8<uint8_t> other) const { in operator >=()
3745 operator>(const simd8<uint8_t> other) const { in operator >()
3749 operator<(const simd8<uint8_t> other) const { in operator <()
3754 simdutf_really_inline simd8<bool> bits_not_set() const { in bits_not_set()
3757 simdutf_really_inline simd8<bool> bits_not_set(simd8<uint8_t> bits) const { in bits_not_set()
3760 simdutf_really_inline simd8<bool> any_bits_set() const { in any_bits_set()
3763 simdutf_really_inline simd8<bool> any_bits_set(simd8<uint8_t> bits) const { in any_bits_set()
3767 simdutf_really_inline bool is_ascii() const { in is_ascii()
3771 simdutf_really_inline bool bits_not_set_anywhere() const { in bits_not_set_anywhere()
3774 simdutf_really_inline bool any_bits_set_anywhere() const { in any_bits_set_anywhere()
3777 simdutf_really_inline bool bits_not_set_anywhere(simd8<uint8_t> bits) const { in bits_not_set_anywhere()
3781 simdutf_really_inline bool any_bits_set_anywhere(simd8<uint8_t> bits) const { in any_bits_set_anywhere()
3784 template <int N> simdutf_really_inline simd8<uint8_t> shr() const { in shr()
3788 template <int N> simdutf_really_inline simd8<uint8_t> shl() const { in shl()