On Tuesday, 10 September 2019 at 06:18:05 UTC, Newbie2019 wrote:
I want to translate this c code into d (build with ldc), so I can use -flto and inline with other code.

uint64_t _wymum(uint64_t A, uint64_t B){
        __uint128_t r = A ;
        r *= B;
        return  (r>>64)^r;
}

Do i need ASM or is there a easy way to implement it ?

Easiest way is to use GFM's[1] 128bit integers.

[1]:http://code.dlang.org/packages/gfm

Reply via email to