Comment
Comment by ridiculous_fish
It is possible to coax that codegen out of clang. The trick is that you need the high half of the product, so you must use a larger type, in this case __uint128_t:
See http://libdivide.com for how to get this codegen with runtime constants (I am the author).