| 327 | /*pattern_sizes_minus_one=*/make_index_sequence<16>()); |
| 328 | |
| 329 | SNAPPY_ATTRIBUTE_ALWAYS_INLINE |
| 330 | static inline V128 LoadPattern(const char* src, const size_t pattern_size) { |
| 331 | V128 generation_mask = V128_Load(reinterpret_cast<const V128*>( |
| 332 | pattern_generation_masks[pattern_size - 1].data())); |
| 333 | // Uninitialized bytes are masked out by the shuffle mask. |
| 334 | // TODO: remove annotation and macro defs once MSan is fixed. |
| 335 | SNAPPY_ANNOTATE_MEMORY_IS_INITIALIZED(src + pattern_size, 16 - pattern_size); |
| 336 | return V128_Shuffle(V128_LoadU(reinterpret_cast<const V128*>(src)), |
| 337 | generation_mask); |
| 338 | } |
| 339 | |
| 340 | SNAPPY_ATTRIBUTE_ALWAYS_INLINE |
| 341 | static inline std::pair<V128 /* pattern */, V128 /* reshuffle_mask */> |
no test coverage detected