我正在将一个用 SSE 4.2 编写的程序移植到 Altivec。我在寻找内在的等价物时遇到了问题_mm_srli_si128
。
当我用谷歌搜索时,我发现vec_slo
它是等价的。
这是我将内容左移 1 个字节的示例程序:
void test(void *buf, void *buf1)
{
vector unsigned int x;
vector unsigned int a;
x = vec_ld(0, (vector unsigned int *)buf);
a = vec_ld(0, (vector unsigned int *)buf1);
vec_slo(x, a);
}
int main()
{
char buf[17]="1111111111111111";
char buf1[17]="0000000000000001";
test(buf, buf1);
}
编译时出现以下错误:
line 20.1: 1506-930 (S) The function "vec_slo" is not a type-generic macro.