From c213014f354c3260df905e735cf2b72b0257eaec Mon Sep 17 00:00:00 2001 From: Hans Wennborg Date: Wed, 14 Oct 2015 16:24:28 +0000 Subject: [PATCH] Intrin.h: implement __emul and __emulu git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@250301 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Headers/Intrin.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lib/Headers/Intrin.h b/lib/Headers/Intrin.h index 4cd38c6bdc..6c1d0d16ea 100644 --- a/lib/Headers/Intrin.h +++ b/lib/Headers/Intrin.h @@ -431,6 +431,17 @@ __umulh(unsigned __int64 _Multiplier, unsigned __int64 _Multiplicand) { #endif /* __x86_64__ */ +/*----------------------------------------------------------------------------*\ +|* Multiplication +\*----------------------------------------------------------------------------*/ +static __inline__ __int64 __DEFAULT_FN_ATTRS +__emul(int __in1, int __in2) { + return (__int64)__in1 * (__int64)__in2; +} +static __inline__ unsigned __int64 __DEFAULT_FN_ATTRS +__emulu(unsigned int __in1, unsigned int __in2) { + return (unsigned __int64)__in1 * (unsigned __int64)__in2; +} /*----------------------------------------------------------------------------*\ |* Bit Twiddling \*----------------------------------------------------------------------------*/ -- 2.40.0