/external/compiler-rt/lib/builtins/ |
D | mulodi4.c | 21 COMPILER_RT_ABI di_int 22 __mulodi4(di_int a, di_int b, int* overflow) in __mulodi4() 24 const int N = (int)(sizeof(di_int) * CHAR_BIT); in __mulodi4() 25 const di_int MIN = (di_int)1 << (N-1); in __mulodi4() 26 const di_int MAX = ~MIN; in __mulodi4() 28 di_int result = a * b; in __mulodi4() 41 di_int sa = a >> (N - 1); in __mulodi4() 42 di_int abs_a = (a ^ sa) - sa; in __mulodi4() 43 di_int sb = b >> (N - 1); in __mulodi4() 44 di_int abs_b = (b ^ sb) - sb; in __mulodi4()
|
D | mulvdi3.c | 21 COMPILER_RT_ABI di_int 22 __mulvdi3(di_int a, di_int b) in __mulvdi3() 24 const int N = (int)(sizeof(di_int) * CHAR_BIT); in __mulvdi3() 25 const di_int MIN = (di_int)1 << (N-1); in __mulvdi3() 26 const di_int MAX = ~MIN; in __mulvdi3() 39 di_int sa = a >> (N - 1); in __mulvdi3() 40 di_int abs_a = (a ^ sa) - sa; in __mulvdi3() 41 di_int sb = b >> (N - 1); in __mulvdi3() 42 di_int abs_b = (b ^ sb) - sb; in __mulvdi3()
|
D | fixxfdi.c | 30 COMPILER_RT_ABI di_int 33 const di_int di_max = (di_int)((~(du_int)0) / 2); in __fixxfdi() 34 const di_int di_min = -di_max - 1; in __fixxfdi() 40 if ((unsigned)e >= sizeof(di_int) * CHAR_BIT) in __fixxfdi() 42 di_int s = -(si_int)((fb.u.high.s.low & 0x00008000) >> 15); in __fixxfdi() 43 di_int r = fb.u.low.all; in __fixxfdi()
|
D | README.txt | 28 typedef long long di_int; 33 di_int __ashldi3(di_int a, si_int b); // a << b 36 di_int __ashrdi3(di_int a, si_int b); // a >> b arithmetic (sign fill) 38 di_int __lshrdi3(di_int a, si_int b); // a >> b logical (zero fill) 42 si_int __clzdi2(di_int a); // count leading zeros 45 si_int __ctzdi2(di_int a); // count trailing zeros 48 si_int __ffsdi2(di_int a); // find least significant 1 bit 52 si_int __paritydi2(di_int a); // bit parity 56 si_int __popcountdi2(di_int a); // bit population 64 di_int __negdi2 (di_int a); // -a [all …]
|
D | divdi3.c | 19 COMPILER_RT_ABI di_int 20 __divdi3(di_int a, di_int b) in __divdi3() 22 const int bits_in_dword_m1 = (int)(sizeof(di_int) * CHAR_BIT) - 1; in __divdi3() 23 di_int s_a = a >> bits_in_dword_m1; /* s_a = a < 0 ? -1 : 0 */ in __divdi3() 24 di_int s_b = b >> bits_in_dword_m1; /* s_b = b < 0 ? -1 : 0 */ in __divdi3()
|
D | moddi3.c | 19 COMPILER_RT_ABI di_int 20 __moddi3(di_int a, di_int b) in __moddi3() 22 const int bits_in_dword_m1 = (int)(sizeof(di_int) * CHAR_BIT) - 1; in __moddi3() 23 di_int s = b >> bits_in_dword_m1; /* s = b < 0 ? -1 : 0 */ in __moddi3() 29 return ((di_int)r ^ s) - s; /* negate if s == -1 */ in __moddi3()
|
D | negvdi2.c | 21 COMPILER_RT_ABI di_int 22 __negvdi2(di_int a) in __negvdi2() 24 const di_int MIN = (di_int)1 << ((int)(sizeof(di_int) * CHAR_BIT)-1); in __negvdi2()
|
D | absvdi2.c | 21 COMPILER_RT_ABI di_int 22 __absvdi2(di_int a) in __absvdi2() 24 const int N = (int)(sizeof(di_int) * CHAR_BIT); in __absvdi2() 25 if (a == ((di_int)1 << (N-1))) in __absvdi2() 27 const di_int t = a >> (N - 1); in __absvdi2()
|
D | divmoddi4.c | 19 COMPILER_RT_ABI di_int 20 __divmoddi4(di_int a, di_int b, di_int* rem) in __divmoddi4() 22 di_int d = __divdi3(a,b); in __divmoddi4()
|
/external/compiler-rt/test/builtins/Unit/ |
D | divdi3_test.c | 19 di_int __divdi3(di_int a, di_int b); 21 int test__divdi3(di_int a, di_int b, di_int expected) in test__divdi3() 23 di_int x = __divdi3(a, b); in test__divdi3() 30 char assumption_1[sizeof(di_int) == 2*sizeof(si_int)] = {0};
|
D | moddi3_test.c | 19 di_int __moddi3(di_int a, di_int b); 21 int test__moddi3(di_int a, di_int b, di_int expected) in test__moddi3() 23 di_int x = __moddi3(a, b); in test__moddi3() 30 char assumption_1[sizeof(di_int) == 2*sizeof(si_int)] = {0};
|
D | muldi3_test.c | 17 di_int __muldi3(di_int a, di_int b); 19 int test__muldi3(di_int a, di_int b, di_int expected) in test__muldi3() 21 di_int x = __muldi3(a, b); in test__muldi3() 28 char assumption_1[sizeof(di_int) == 2*sizeof(si_int)] = {0};
|
D | addvdi3_test.c | 21 di_int __addvdi3(di_int a, di_int b); 23 int test__addvdi3(di_int a, di_int b) in test__addvdi3() 25 di_int x = __addvdi3(a, b); in test__addvdi3() 26 di_int expected = a + b; in test__addvdi3()
|
D | subvdi3_test.c | 22 di_int __subvdi3(di_int a, di_int b); 24 int test__subvdi3(di_int a, di_int b) in test__subvdi3() 26 di_int x = __subvdi3(a, b); in test__subvdi3() 27 di_int expected = a - b; in test__subvdi3()
|
D | mulvdi3_test.c | 21 di_int __mulvdi3(di_int a, di_int b); 23 int test__mulvdi3(di_int a, di_int b, di_int expected) in test__mulvdi3() 25 di_int x = __mulvdi3(a, b); in test__mulvdi3()
|
D | absvdi2_test.c | 22 di_int __absvdi2(di_int a); 24 int test__absvdi2(di_int a) in test__absvdi2() 26 di_int x = __absvdi2(a); in test__absvdi2() 27 di_int expected = a; in test__absvdi2() 61 if (test__absvdi2(((di_int)rand() << 32) | rand())) in main()
|
D | negdi2_test.c | 19 di_int __negdi2(di_int a); 21 int test__negdi2(di_int a, di_int expected) in test__negdi2() 23 di_int x = __negdi2(a); in test__negdi2() 30 char assumption_1[sizeof(di_int) == 2*sizeof(si_int)] = {0};
|
D | mulodi4_test.c | 17 extern di_int __mulodi4(di_int a, di_int b, int* overflow); 19 int test__mulodi4(di_int a, di_int b, di_int expected, int expected_overflow) in test__mulodi4() 22 di_int x = __mulodi4(a, b, &ov); in test__mulodi4()
|
D | ashldi3_test.c | 21 di_int __ashldi3(di_int a, si_int b); 23 int test__ashldi3(di_int a, si_int b, di_int expected) in test__ashldi3() 25 di_int x = __ashldi3(a, b); in test__ashldi3() 32 char assumption_1[sizeof(di_int) == 2*sizeof(si_int)] = {0};
|
D | ashrdi3_test.c | 21 di_int __ashrdi3(di_int a, si_int b); 23 int test__ashrdi3(di_int a, si_int b, di_int expected) in test__ashrdi3() 25 di_int x = __ashrdi3(a, b); in test__ashrdi3() 32 char assumption_1[sizeof(di_int) == 2*sizeof(si_int)] = {0};
|
D | lshrdi3_test.c | 21 di_int __lshrdi3(di_int a, si_int b); 23 int test__lshrdi3(di_int a, si_int b, di_int expected) in test__lshrdi3() 25 di_int x = __lshrdi3(a, b); in test__lshrdi3() 32 char assumption_1[sizeof(di_int) == 2*sizeof(si_int)] = {0};
|
D | negvdi2_test.c | 21 di_int __negvdi2(di_int a); 23 int test__negvdi2(di_int a) in test__negvdi2() 25 di_int x = __negvdi2(a); in test__negvdi2() 26 di_int expected = -a; in test__negvdi2()
|
D | paritydi2_test.c | 20 si_int __paritydi2(di_int a); 22 int naive_parity(di_int a) in naive_parity() 30 int test__paritydi2(di_int a) in test__paritydi2() 40 char assumption_1[sizeof(di_int) == 2*sizeof(si_int)] = {0}; 47 if (test__paritydi2(((di_int)rand() << 32) + rand())) in main()
|
D | cmpdi2_test.c | 21 si_int __cmpdi2(di_int a, di_int b); 23 int test__cmpdi2(di_int a, di_int b, si_int expected) in test__cmpdi2() 32 char assumption_1[sizeof(di_int) == 2*sizeof(si_int)] = {0};
|
D | popcountdi2_test.c | 20 si_int __popcountdi2(di_int a); 22 int naive_popcount(di_int a) in naive_popcount() 30 int test__popcountdi2(di_int a) in test__popcountdi2() 40 char assumption_1[sizeof(di_int) == 2*sizeof(si_int)] = {0}; 59 if (test__popcountdi2(((di_int)rand() << 32) | rand())) in main()
|