I try to vectorize a CBRNG which uses 64bit widening multiplication.
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;
}
Is such a multiplication exists in a vectorized form in AVX2?