小编Yig*_*rag的帖子

GCC 无法矢量化 64 位乘法。64 位 x 64 位 -> 128 位加宽乘法可以在 AVX2 上矢量化吗?

我尝试对使用 64 位加宽乘法的 CBRNG 进行矢量化。

static __inline__ uint64_t mulhilo64(uint64_t a, uint64_t b, uint64_t* hip) {
    __uint128_t product = ((__uint128_t)a)*((__uint128_t)b);
    *hip = product>>64;
    return (uint64_t)product;
}
Run Code Online (Sandbox Code Playgroud)

这样的乘法在 AVX2 中是否以矢量化形式存在?

c++ computer-science simd vectorization avx2

5
推荐指数
1
解决办法
674
查看次数

在64位x 64位乘法中使用Karatsuba算法真的很有效吗?

我在AVX2上工作,需要计算64位x64位 - > 128位加宽乘法,并以最快的方式获得64位高位.由于AVX2没有这样的指令,使用Karatsuba算法提高效率和提高速度是否合理?

c++ parallel-processing performance simd avx2

5
推荐指数
1
解决办法
1316
查看次数