search for: udivmodti4

Displaying 5 results from an estimated 5 matches for "udivmodti4".

2018 Apr 25
0
compiler-rt incorrect for this udivmodti4 case?
...m.org> wrote: > > Here is my test case: > > #include <stdio.h> > > int main(int argc, char **argv) { > tu_int a = (tu_int)0x1ec273014 << 64 | 0xff7377ffffffffffuLL; > tu_int b = (tu_int)0x8ac7230489e80000uLL; > tu_int r; > tu_int q = __udivmodti4(a, b, &r); > > utwords qt; > qt.all = q; > utwords rt; > rt.all = r; > fprintf(stderr, "q=0x%.16llX%.16llX\nr=0x%.16llX%.16llX\n", > qt.s.high, qt.s.low, rt.s.high, rt.s.low); > > return 0; > } > > This corresp...
2018 Apr 25
2
compiler-rt incorrect for this udivmodti4 case?
Here is my test case: #include <stdio.h> int main(int argc, char **argv) { tu_int a = (tu_int)0x1ec273014 << 64 | 0xff7377ffffffffffuLL; tu_int b = (tu_int)0x8ac7230489e80000uLL; tu_int r; tu_int q = __udivmodti4(a, b, &r); utwords qt; qt.all = q; utwords rt; rt.all = r; fprintf(stderr, "q=0x%.16llX%.16llX\nr=0x%.16llX%.16llX\n", qt.s.high, qt.s.low, rt.s.high, rt.s.low); return 0; } This corresponds to the inputs a=152313999999999991610955792383 b=100000...
2020 May 21
2
on division of __int128 bit integer
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...
2020 Aug 30
5
BUG: complete misunterstanding of the MS-ABI
...BE returned by the callee via the hidden first argument allocated by the caller, NOT in XMM0! Demo/proof: from this source --- llvm-bug.c --- #ifndef __clang__ typedef struct { unsigned __int64 low; unsigned __int64 high; } __uint128_t; #else __attribute__((ms_abi)) #endif __uint128_t __udivmodti4(__uint128_t dividend, __uint128_t divisor, __uint128_t *remainder) { if (remainder != 0) *remainder = divisor; return dividend; } --- EOF --- clang -c -O1 generates the following INCOMPATIBLE and WRONG code: __udivmodti4 proc public movaps xmm0, xmmword ptr [rcx]...
2013 Oct 31
3
[releng_10 tinderbox] failure on i386/pc98
...rt/../../contrib/compiler-rt/lib/ucmpti2.c /src/lib/libcompiler_rt/../../contrib/compiler-rt/lib/i386/udivdi3.S /src/lib/libcompiler_rt/../../contrib/compiler-rt/lib/udivmoddi4.c /src/lib/libcompiler_rt/../../contrib/compiler-rt/lib/udivmodsi4.c /src/lib/libcompiler_rt/../../contrib/compiler-rt/lib/udivmodti4.c /src/lib/libcompiler_rt/../../contrib/compiler-rt/lib/udivti3.c /src/lib/libcompiler_rt/../../contrib/compiler-rt/lib/i386/umoddi3.S /src/lib/libcompiler_rt/../../contrib/compiler-rt/lib/umodti3.c /src/lib/libcompiler_rt/../..! /contrib/compiler-rt/lib/adddf3.c /src/lib/libcompiler_rt/../../cont...