Category : 32-bit

In MSVC there exist instrinsics __emulu() and _umul128(). First does u32*u32->u64 multiplication and second u64*u64->u128 multiplication. Do same intrinsics exist for CLang/GCC? Closest I found are _mulx_u32() and _mulx_u64() mentioned in Intel’s Guide. But they produce mulx instruction which needs BMI2 support. While MSVC’s intrinsics produce regular mul instruction. Also _mulx_u32() is not available in ..

Read more