Intrin: Add _umul128
authorDavid Majnemer <david.majnemer@gmail.com>
Tue, 2 Dec 2014 23:30:24 +0000 (23:30 +0000)
committerDavid Majnemer <david.majnemer@gmail.com>
Tue, 2 Dec 2014 23:30:24 +0000 (23:30 +0000)
commit5f9afc59f8be2f246281a3ca380ee5f5dbc8fde3
tree3f86e8958394b86be6341b6a734286a4108ec7a7
parent22f58dffeb6eb57b18e78d73cce3b2b98af329f5
Intrin: Add _umul128

Implement _umul128; it provides the high and low halves of a 128-bit
multiply.  We can simply use our __int128 arithmetic to implement this,
we generate great code for it:
        movq    %rdx, %rax
        mulq    %rcx
        movq    %rdx, (%r8)
        retq

Differential Revision: http://reviews.llvm.org/D6486

llvm-svn: 223175
clang/lib/Headers/Intrin.h