digitalmars.D.learn - LDC asm for int128
- Newbie2019 (8/8) Sep 09 2019 I want to translate this c code into d (build with ldc), so I can
- a11e99z (2/10) Sep 10 2019 https://forum.dlang.org/post/ighiwexofvdqbuqeqbkp@forum.dlang.org
- Nicholas Wilson (3/11) Sep 10 2019 Easiest way is to use GFM's[1] 128bit integers.
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 ?
Sep 09 2019
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 ?https://forum.dlang.org/post/ighiwexofvdqbuqeqbkp forum.dlang.org
Sep 10 2019
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
Sep 10 2019