Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:lib\crypto\curve25519-hacl64.c Create Date:2022-07-28 06:46:25
Last Modify:2022-05-21 12:16:42 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:crecip_crecip

Proto:static __always_inline void crecip_crecip(u64 *out, u64 *z)

Type:void

Parameter:

TypeParameterName
u64 *out
u64 *z
300  u64 buf[20] = {0}
301  a0 = buf
302  t00 = buf + 5
303  b0 = buf + 10
311  fsquare_fsquare_times(a0, z, 1)
312  fsquare_fsquare_times(t00, a0, 2)
313  fmul_fmul(b0, t00, z)
314  fmul_fmul(a0, b0, a0)
315  fsquare_fsquare_times(t00, a0, 1)
316  fmul_fmul(b0, t00, b0)
317  fsquare_fsquare_times(t00, b0, 5)
318  t01 = buf + 5
319  b1 = buf + 10
320  c0 = buf + 15
321  fmul_fmul(b1, t01, b1)
322  fsquare_fsquare_times(t01, b1, 10)
323  fmul_fmul(c0, t01, b1)
324  fsquare_fsquare_times(t01, c0, 20)
325  fmul_fmul(t01, t01, c0)
326  fsquare_fsquare_times_inplace(t01, 10)
327  fmul_fmul(b1, t01, b1)
328  fsquare_fsquare_times(t01, b1, 50)
329  a = buf
330  t0 = buf + 5
331  b = buf + 10
332  c = buf + 15
333  fmul_fmul(c, t0, b)
334  fsquare_fsquare_times(t0, c, 100)
335  fmul_fmul(t0, t0, c)
336  fsquare_fsquare_times_inplace(t0, 50)
337  fmul_fmul(t0, t0, b)
338  fsquare_fsquare_times_inplace(t0, 5)
339  fmul_fmul(out, t0, a)
Caller
NameDescribe
crecip