[llvm-dev] on division of __int128 bit integer

Vivek Pandey via llvm-dev llvm-dev at lists.llvm.org
Thu May 21 02:30:15 PDT 2020


Hi Team,

I observer that division of __int128 bit is very heavy operation.
It internally call a routine '__udivti3', which internally call '
__udivmodti4'.

Due to it the overall performance is much much slower (almost 15 time
slower than if I do it via a combination of 64-bit or microsoft '_udiv128').

Also what to know if I can directly call below routine directly from my
code :
*unsigned long long* *__udivmodti4* *(unsigned long long *a*, unsigned long
long *b*, unsigned long long **c*)*

This is against statement  "Conceptually,in operation, like ‘/’ or ‘%’, no
function is called, so no header is provided for *__udivmodti4* etc. – and
we should not call them explicitly in our code." but wanted to know more on
it.

Thank you!
Regards,
Vivek JP Pandey,
Software Professional,
*+91-7775054441*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200521/2effa903/attachment.html>


More information about the llvm-dev mailing list