Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:include\linux\math64.h Create Date:2022-07-28 05:34:32
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:mul_u64_u64_shr

Proto:static inline u64 mul_u64_u64_shr(u64 a, u64 b, unsigned int shift)

Type:u64

Parameter:

TypeParameterName
u64a
u64b
unsigned intshift
212  union{u64 ll;struct{u32 low, high;}l;}rl, rm, rn, rh, a0, b0
224  ll = a
225  ll = b
227  ll = mul_u32_u32(low, low)
228  ll = mul_u32_u32(low, high)
229  ll = mul_u32_u32(high, low)
230  ll = mul_u32_u32(high, high)
237  high = c = high + low + low
238  low = c = (c >> 32) + high + high + low
239  high = (c >> 32) + high
245  If shift == 0 Then Return ll
247  If shift < 64 Then Return ll >> shift | ll << 64 - shift
249  Return ll >> (shift & 63)