请我试着对一些 int64 算法做一些优化。我需要进行左右移位、除法、余数等操作,但我已经搜索了所有 SSE 内在函数,但一无所获。左移不适用于负值。请问你能指导我吗?
显示了部分代码(在英特尔 i7 上):
u_a2b2=(MatrixAiB1[0]>>2*z_bits);
res_ri=(MatrixAiB1[0] % (__int64(1)<<2*z_bits));
if (MatrixAiB1[0] >= 0)
{
if (abs(res_ri) > (__int64(1)<<41))
{
u_a2b2=u_a2b2+1;
}
}
else
{
if (abs(res_ri) < (__int64(1)<<41))
{
if (u_a2b2>=0)
{
u_a2b2=u_a2b2-1;
}
else
{
u_a2b2=u_a2b2+1;
}
}
}
一切都是 int64
谢谢