我尝试对使用 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;
}
这样的乘法是否以 AVX2 中的矢量化形式存在?