/kernel/linux/linux-5.10/arch/arm/lib/ |
H A D | lib1funcs.S | 40 .macro ARM_DIV_BODY dividend, divisor, result, curbit 45 clz \result, \dividend 66 @ larger than the dividend. 68 cmplo \divisor, \dividend 76 cmplo \divisor, \dividend 86 1: cmp \dividend, \divisor 87 subhs \dividend, \dividend, \divisor 89 cmp \dividend, \divisor, lsr #1 90 subhs \dividend, \dividen [all...] |
/kernel/linux/linux-6.6/arch/arm/lib/ |
H A D | lib1funcs.S | 40 .macro ARM_DIV_BODY dividend, divisor, result, curbit 45 clz \result, \dividend 66 @ larger than the dividend. 68 cmplo \divisor, \dividend 76 cmplo \divisor, \dividend 86 1: cmp \dividend, \divisor 87 subhs \dividend, \dividend, \divisor 89 cmp \dividend, \divisor, lsr #1 90 subhs \dividend, \dividen [all...] |
/kernel/linux/linux-6.6/include/linux/ |
H A D | math64.h | 17 * @dividend: unsigned 64bit dividend 21 * Return: sets ``*remainder``, then returns dividend / divisor 26 static inline u64 div_u64_rem(u64 dividend, u32 divisor, u32 *remainder) in div_u64_rem() argument 28 *remainder = dividend % divisor; in div_u64_rem() 29 return dividend / divisor; in div_u64_rem() 34 * @dividend: signed 64bit dividend 38 * Return: sets ``*remainder``, then returns dividend / divisor 40 static inline s64 div_s64_rem(s64 dividend, s3 argument 54 div64_u64_rem(u64 dividend, u64 divisor, u64 *remainder) div64_u64_rem() argument 67 div64_u64(u64 dividend, u64 divisor) div64_u64() argument 79 div64_s64(s64 dividend, s64 divisor) div64_s64() argument 90 div_u64_rem(u64 dividend, u32 divisor, u32 *remainder) div_u64_rem() argument 127 div_u64(u64 dividend, u32 divisor) div_u64() argument 142 div_s64(s64 dividend, s32 divisor) div_s64() argument [all...] |
/kernel/linux/linux-5.10/include/linux/ |
H A D | math64.h | 16 * @dividend: unsigned 64bit dividend 20 * Return: sets ``*remainder``, then returns dividend / divisor 25 static inline u64 div_u64_rem(u64 dividend, u32 divisor, u32 *remainder) in div_u64_rem() argument 27 *remainder = dividend % divisor; in div_u64_rem() 28 return dividend / divisor; in div_u64_rem() 33 * @dividend: signed 64bit dividend 37 * Return: sets ``*remainder``, then returns dividend / divisor 39 static inline s64 div_s64_rem(s64 dividend, s3 argument 53 div64_u64_rem(u64 dividend, u64 divisor, u64 *remainder) div64_u64_rem() argument 66 div64_u64(u64 dividend, u64 divisor) div64_u64() argument 78 div64_s64(s64 dividend, s64 divisor) div64_s64() argument 89 div_u64_rem(u64 dividend, u32 divisor, u32 *remainder) div_u64_rem() argument 124 div_u64(u64 dividend, u32 divisor) div_u64() argument 137 div_s64(s64 dividend, s32 divisor) div_s64() argument [all...] |
/kernel/linux/linux-5.10/lib/math/ |
H A D | div64.c | 66 * @dividend: 64bit dividend 71 s64 div_s64_rem(s64 dividend, s32 divisor, s32 *remainder) in div_s64_rem() argument 75 if (dividend < 0) { in div_s64_rem() 76 quotient = div_u64_rem(-dividend, abs(divisor), (u32 *)remainder); in div_s64_rem() 81 quotient = div_u64_rem(dividend, abs(divisor), (u32 *)remainder); in div_s64_rem() 92 * @dividend: 64bit dividend 102 u64 div64_u64_rem(u64 dividend, u64 divisor, u64 *remainder) in div64_u64_rem() argument 109 quot = div_u64_rem(dividend, diviso in div64_u64_rem() 142 div64_u64(u64 dividend, u64 divisor) div64_u64() argument 170 div64_s64(s64 dividend, s64 divisor) div64_s64() argument 188 iter_div_u64_rem(u64 dividend, u32 divisor, u64 *remainder) iter_div_u64_rem() argument [all...] |
/kernel/linux/linux-6.6/lib/math/ |
H A D | div64.c | 67 s64 div_s64_rem(s64 dividend, s32 divisor, s32 *remainder) in div_s64_rem() argument 71 if (dividend < 0) { in div_s64_rem() 72 quotient = div_u64_rem(-dividend, abs(divisor), (u32 *)remainder); in div_s64_rem() 77 quotient = div_u64_rem(dividend, abs(divisor), (u32 *)remainder); in div_s64_rem() 88 * @dividend: 64bit dividend 98 u64 div64_u64_rem(u64 dividend, u64 divisor, u64 *remainder) in div64_u64_rem() argument 105 quot = div_u64_rem(dividend, divisor, &rem32); in div64_u64_rem() 109 quot = div_u64(dividend >> n, divisor >> n); in div64_u64_rem() 114 *remainder = dividend in div64_u64_rem() 138 div64_u64(u64 dividend, u64 divisor) div64_u64() argument 161 div64_s64(s64 dividend, s64 divisor) div64_s64() argument 179 iter_div_u64_rem(u64 dividend, u32 divisor, u64 *remainder) iter_div_u64_rem() argument [all...] |
H A D | test_div64.c | 163 #define test_div64_one(dividend, divisor, i, j) ({ \ 168 quotient = dividend; \ 172 dividend, divisor, quotient, remainder); \ 188 u64 dividend; in test_div64() local 192 dividend = test_div64_dividends[i]; in test_div64() 193 if (!test_div64_one(dividend, TEST_DIV64_DIVISOR_0, i, 0)) in test_div64() 195 if (!test_div64_one(dividend, TEST_DIV64_DIVISOR_1, i, 1)) in test_div64() 197 if (!test_div64_one(dividend, TEST_DIV64_DIVISOR_2, i, 2)) in test_div64() 199 if (!test_div64_one(dividend, TEST_DIV64_DIVISOR_3, i, 3)) in test_div64() 201 if (!test_div64_one(dividend, TEST_DIV64_DIVISOR_ in test_div64() [all...] |
/kernel/uniproton/src/arch/cpu/armv7-m/cortex-m4/ |
H A D | prt_div64.c | 40 OS_SEC_TEXT void OsU64Div(U64 dividend, U64 divisor, U64 *quotient, U64 *remainder) in OsU64Div() argument 52 if (dividend < divisor) { in OsU64Div() 54 *remainder = dividend; in OsU64Div() 59 alignShift = OsleadingZeroCount(divisor) - OsleadingZeroCount(dividend); in OsU64Div() 61 tmpRemainder = dividend; in OsU64Div() 79 OS_SEC_TEXT U64 OsU64DivGetQuotient(U64 dividend, U64 divisor) in OsU64DivGetQuotient() argument 84 OsU64Div(dividend, divisor, "ient, &remainder); in OsU64DivGetQuotient() 89 OS_SEC_TEXT U64 OsU64DivGetRemainder(U64 dividend, U64 divisor) in OsU64DivGetRemainder() argument 94 OsU64Div(dividend, divisor, "ient, &remainder); in OsU64DivGetRemainder()
|
/kernel/linux/linux-5.10/include/vdso/ |
H A D | math64.h | 6 __iter_div_u64_rem(u64 dividend, u32 divisor, u64 *remainder) in __iter_div_u64_rem() argument 10 while (dividend >= divisor) { in __iter_div_u64_rem() 13 asm("" : "+rm"(dividend)); in __iter_div_u64_rem() 15 dividend -= divisor; in __iter_div_u64_rem() 19 *remainder = dividend; in __iter_div_u64_rem()
|
/kernel/linux/linux-6.6/include/vdso/ |
H A D | math64.h | 6 __iter_div_u64_rem(u64 dividend, u32 divisor, u64 *remainder) in __iter_div_u64_rem() argument 10 while (dividend >= divisor) { in __iter_div_u64_rem() 13 asm("" : "+rm"(dividend)); in __iter_div_u64_rem() 15 dividend -= divisor; in __iter_div_u64_rem() 19 *remainder = dividend; in __iter_div_u64_rem()
|
/kernel/linux/linux-5.10/arch/c6x/kernel/ |
H A D | c6x_ksyms.c | 15 extern int __c6xabi_divi(int dividend, int divisor); 18 extern unsigned __c6xabi_divu(unsigned dividend, unsigned divisor); 21 extern int __c6xabi_remi(int dividend, int divisor); 24 extern unsigned __c6xabi_remu(unsigned dividend, unsigned divisor); 27 extern int __c6xabi_divremi(int dividend, int divisor); 30 extern unsigned __c6xabi_divremu(unsigned dividend, unsigned divisor);
|
/kernel/linux/linux-6.6/drivers/net/wireless/realtek/rtw89/ |
H A D | util.h | 17 /* The result of negative dividend and positive divisor is undefined, but it 23 static inline s32 s32_div_u32_round_down(s32 dividend, u32 divisor, s32 *remainder) in s32_div_u32_round_down() argument 29 quotient = dividend / i_divisor; in s32_div_u32_round_down() 30 i_remainder = dividend % i_divisor; in s32_div_u32_round_down() 42 static inline s32 s32_div_u32_round_closest(s32 dividend, u32 divisor) in s32_div_u32_round_closest() argument 44 return s32_div_u32_round_down(dividend + divisor / 2, divisor, NULL); in s32_div_u32_round_closest()
|
/kernel/linux/linux-5.10/lib/mpi/ |
H A D | mpi-div.c | 18 void mpi_fdiv_qr(MPI quot, MPI rem, MPI dividend, MPI divisor); 20 void mpi_fdiv_r(MPI rem, MPI dividend, MPI divisor) in mpi_fdiv_r() argument 34 mpi_tdiv_r(rem, dividend, divisor); in mpi_fdiv_r() 36 if (((divisor_sign?1:0) ^ (dividend->sign?1:0)) && rem->nlimbs) in mpi_fdiv_r() 43 void mpi_fdiv_q(MPI quot, MPI dividend, MPI divisor) in mpi_fdiv_q() argument 46 mpi_fdiv_qr(quot, tmp, dividend, divisor); in mpi_fdiv_q() 50 void mpi_fdiv_qr(MPI quot, MPI rem, MPI dividend, MPI divisor) in mpi_fdiv_qr() argument 60 mpi_tdiv_qr(quot, rem, dividend, divisor); in mpi_fdiv_qr() 62 if ((divisor_sign ^ dividend->sign) && rem->nlimbs) { in mpi_fdiv_qr()
|
/kernel/linux/linux-6.6/lib/crypto/mpi/ |
H A D | mpi-div.c | 18 void mpi_fdiv_qr(MPI quot, MPI rem, MPI dividend, MPI divisor); 20 void mpi_fdiv_r(MPI rem, MPI dividend, MPI divisor) in mpi_fdiv_r() argument 34 mpi_tdiv_r(rem, dividend, divisor); in mpi_fdiv_r() 36 if (((divisor_sign?1:0) ^ (dividend->sign?1:0)) && rem->nlimbs) in mpi_fdiv_r() 43 void mpi_fdiv_q(MPI quot, MPI dividend, MPI divisor) in mpi_fdiv_q() argument 46 mpi_fdiv_qr(quot, tmp, dividend, divisor); in mpi_fdiv_q() 50 void mpi_fdiv_qr(MPI quot, MPI rem, MPI dividend, MPI divisor) in mpi_fdiv_qr() argument 60 mpi_tdiv_qr(quot, rem, dividend, divisor); in mpi_fdiv_qr() 62 if ((divisor_sign ^ dividend->sign) && rem->nlimbs) { in mpi_fdiv_qr()
|
/kernel/linux/linux-5.10/drivers/acpi/acpica/ |
H A D | utmath.c | 242 * PARAMETERS: dividend - 64-bit dividend 256 acpi_ut_short_divide(u64 dividend, in acpi_ut_short_divide() argument 272 dividend_ovl.full = dividend; in acpi_ut_short_divide() 315 union uint64_overlay dividend; in acpi_ut_divide() local 335 dividend.full = in_dividend; in acpi_ut_divide() 347 ACPI_DIV_64_BY_32(0, dividend.part.hi, divisor.part.lo, in acpi_ut_divide() 350 ACPI_DIV_64_BY_32(partial1, dividend.part.lo, divisor.part.lo, in acpi_ut_divide() 360 normalized_dividend = dividend; in acpi_ut_divide() 392 if (partial3.part.lo >= dividend in acpi_ut_divide() [all...] |
/kernel/linux/linux-6.6/drivers/acpi/acpica/ |
H A D | utmath.c | 242 * PARAMETERS: dividend - 64-bit dividend 256 acpi_ut_short_divide(u64 dividend, in acpi_ut_short_divide() argument 272 dividend_ovl.full = dividend; in acpi_ut_short_divide() 315 union uint64_overlay dividend; in acpi_ut_divide() local 335 dividend.full = in_dividend; in acpi_ut_divide() 347 ACPI_DIV_64_BY_32(0, dividend.part.hi, divisor.part.lo, in acpi_ut_divide() 350 ACPI_DIV_64_BY_32(partial1, dividend.part.lo, divisor.part.lo, in acpi_ut_divide() 360 normalized_dividend = dividend; in acpi_ut_divide() 392 if (partial3.part.lo >= dividend in acpi_ut_divide() [all...] |
/kernel/linux/linux-5.10/arch/powerpc/boot/ |
H A D | div64.S | 4 * This routine assumes that the top 32 bits of the dividend are 6 * On entry, r3 points to the dividend, which get overwritten with 16 lwz r5,0(r3) # get the dividend into r5/r6 22 divwu r7,r5,r4 # if dividend.hi >= divisor, 23 mullw r0,r7,r4 # quotient.hi = dividend.hi / divisor 24 subf. r5,r0,r5 # dividend.hi %= divisor 26 1: mr r11,r5 # here dividend.hi != 0 29 cntlzw r0,r5 # we are shifting the dividend right
|
/kernel/linux/linux-6.6/arch/powerpc/boot/ |
H A D | div64.S | 4 * This routine assumes that the top 32 bits of the dividend are 6 * On entry, r3 points to the dividend, which get overwritten with 16 lwz r5,0(r3) # get the dividend into r5/r6 22 divwu r7,r5,r4 # if dividend.hi >= divisor, 23 mullw r0,r7,r4 # quotient.hi = dividend.hi / divisor 24 subf. r5,r0,r5 # dividend.hi %= divisor 26 1: mr r11,r5 # here dividend.hi != 0 29 cntlzw r0,r5 # we are shifting the dividend right
|
/kernel/linux/linux-5.10/arch/h8300/lib/ |
H A D | udivsi3.S | 55 ;; er0 contains shifted dividend 58 ;; er3 contains dividend, later remainder 65 sub.w r2,e3 ; dividend - 65536 * er2 68 sub.l er2,er3 ; er3 = dividend - (AQ - 1) * divisor
|
/kernel/linux/linux-6.6/drivers/net/ethernet/amd/xgbe/ |
H A D | xgbe-ptp.c | 220 u64 dividend; in xgbe_ptp_register() local 244 dividend = 50000000; in xgbe_ptp_register() 245 dividend <<= 32; in xgbe_ptp_register() 246 pdata->tstamp_addend = div_u64(dividend, pdata->ptpclk_rate); in xgbe_ptp_register()
|
/kernel/linux/linux-5.10/arch/m68k/ifpsp060/src/ |
H A D | ilsp.S | 75 # 0x8(sp) = hi(dividend) # 76 # 0xc(sp) = lo(dividend) # 138 mov.l 0xc(%a6), %d5 # get dividend hi 139 mov.l 0x10(%a6), %d6 # get dividend lo 152 # save the sign of the dividend 153 # make dividend unsigned if it's negative 155 tst.l %d5 # chk sign of hi(dividend) 156 slt NDIVIDEND(%a6) # save sign of dividend 160 negx.l %d6 # complement signed dividend 164 # - is (dividend [all...] |
/kernel/linux/linux-6.6/arch/m68k/ifpsp060/src/ |
H A D | ilsp.S | 75 # 0x8(sp) = hi(dividend) # 76 # 0xc(sp) = lo(dividend) # 138 mov.l 0xc(%a6), %d5 # get dividend hi 139 mov.l 0x10(%a6), %d6 # get dividend lo 152 # save the sign of the dividend 153 # make dividend unsigned if it's negative 155 tst.l %d5 # chk sign of hi(dividend) 156 slt NDIVIDEND(%a6) # save sign of dividend 160 negx.l %d6 # complement signed dividend 164 # - is (dividend [all...] |
/kernel/linux/linux-5.10/drivers/clk/versatile/ |
H A D | icst.c | 29 u64 dividend = p->ref * 2 * (u64)(vco.v + 8); in icst_hz() local 32 do_div(dividend, divisor); in icst_hz() 33 return (unsigned long)dividend; in icst_hz()
|
/kernel/linux/linux-6.6/drivers/clk/versatile/ |
H A D | icst.c | 29 u64 dividend = p->ref * 2 * (u64)(vco.v + 8); in icst_hz() local 32 do_div(dividend, divisor); in icst_hz() 33 return (unsigned long)dividend; in icst_hz()
|
/kernel/linux/linux-5.10/drivers/net/ethernet/amd/xgbe/ |
H A D | xgbe-ptp.c | 232 u64 dividend; in xgbe_ptp_register() local 256 dividend = 50000000; in xgbe_ptp_register() 257 dividend <<= 32; in xgbe_ptp_register() 258 pdata->tstamp_addend = div_u64(dividend, pdata->ptpclk_rate); in xgbe_ptp_register()
|