]> granicus.if.org Git - clang/commit
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)
commitf89684e0154fef893aa6bf1616c423177f9393ee
treee1d752431b984c4b613188dda019f659059a5296
parent9aadb4d6d81a1b01d2c3d4073da39d81a1f77f20
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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@223175 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Headers/Intrin.h