打印_mm_cmpeq_epi8的输出(__ m128i类型)

时间:2015-12-09 23:48:35

标签: c++ sse simd

Herein建议比较两个字符数组的好方法(接受的答案)。

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

1 个答案:

答案 0 :(得分:1)

如果要将__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);
}