打印_mm_cmpeq_epi8(__m128i类型)的输出

Printing the output of _mm_cmpeq_epi8 (__m128i type)

本文关键字:类型 输出 m128i mm cmpeq epi8 打印      更新时间:2023-10-16

这里提出了一种比较两个字符数组的好方法(公认的答案)。

vsvt的输出可以用它打印到屏幕上,但比较v的结果很奇怪(四个零和随机数)。

如果要将__m128i矢量的内容打印到屏幕上,可以使用以下内容:

template<class T> inline void Log(const T * data, size_t size, const std::string & name)
{
    std::cout << name << " = { ";
    for (int i = 0; i < size; i++)
    {
        std::cout << int(data[i]) << " ";
    }
    std::cout << "} " << std::endl;
}
inline void LogU8(const __m128i & value, const std::string & name)
{
    uint8_t buffer[16];
    _mm_storeu_si128((__m128i*)buffer, value);
    Log(buffer, 16, name);
}