【发布时间】:2023-03-14 15:28:01
【问题描述】:
我有一个具有 16 位值的 __m128i 寄存器(向量 A),其内容:
{100,26,26,26,26,26,26,100} // A Vector
现在我减去向量
{82,82,82,82,82,82,82,82}
有说明
_mm_sub_epi16(a_vec,_mm_set1_epi16(82))
预期的结果应该是下面的向量
{18,-56,-56,-56,-56,-56,-56,18}
但我明白了
{18,65480,65480,65480,65480,65480,65480,18}
如何解决向量被视为已签名的问题?
A 向量是由这条指令创建的:
__m128i a_vec = _mm_srli_epi16(_mm_unpacklo_epi8(score_vec_8bit, score_vec_8bit), 8)
【问题讨论】:
标签: c performance sse