Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:lib\crypto\curve25519-fiat32.c Create Date:2022-07-28 06:46:09
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:NOTE: based on fiat-crypto fe_mul, edited for in2=121666, 0, 0.

Proto:static __always_inline void fe_mul_121666_impl(u32 out[10], const u32 in1[10])

Type:void

Parameter:

TypeParameterName
u32out
const u32in1
637  x20 = in1[9]
638  x21 = in1[8]
639  x19 = in1[7]
640  x17 = in1[6]
641  x15 = in1[5]
642  x13 = in1[4]
643  x11 = in1[3]
644  x9 = in1[2]
645  x7 = in1[1]
646  x5 = in1[0]
647  x38 = 0
648  x39 = 0
649  x37 = 0
650  x35 = 0
651  x33 = 0
652  x31 = 0
653  x29 = 0
654  x27 = 0
655  x25 = 0
656  x23 = 121666
657  x40 = x23 * x5
658  x41 = x23 * x7 + x25 * x5
659  x42 = 0x2 * x25 * x7 + x23 * x9 + x27 * x5
660  x43 = x25 * x9 + x27 * x7 + x23 * x11 + x29 * x5
661  x44 = x27 * x9 + 0x2 * ( x25 * x11 + x29 * x7 ) + x23 * x13 + x31 * x5
662  x45 = x27 * x11 + x29 * x9 + x25 * x13 + x31 * x7 + x23 * x15 + x33 * x5
663  x46 = 0x2 * ( x29 * x11 + x25 * x15 + x33 * x7 ) + x27 * x13 + x31 * x9 + x23 * x17 + x35 * x5
664  x47 = x29 * x13 + x31 * x11 + x27 * x15 + x33 * x9 + x25 * x17 + x35 * x7 + x23 * x19 + x37 * x5
665  x48 = x31 * x13 + 0x2 * ( x29 * x15 + x33 * x11 + x25 * x19 + x37 * x7 ) + x27 * x17 + x35 * x9 + x23 * x21 + x39 * x5
666  x49 = x31 * x15 + x33 * x13 + x29 * x17 + x35 * x11 + x27 * x19 + x37 * x9 + x25 * x21 + x39 * x7 + x23 * x20 + x38 * x5
667  x50 = 0x2 * ( x33 * x15 + x29 * x19 + x37 * x11 + x25 * x20 + x38 * x7 ) + x31 * x17 + x35 * x13 + x27 * x21 + x39 * x9
668  x51 = x33 * x17 + x35 * x15 + x31 * x19 + x37 * x13 + x29 * x21 + x39 * x11 + x27 * x20 + x38 * x9
669  x52 = x35 * x17 + 0x2 * ( x33 * x19 + x37 * x15 + x29 * x20 + x38 * x11 ) + x31 * x21 + x39 * x13
670  x53 = x35 * x19 + x37 * x17 + x33 * x21 + x39 * x15 + x31 * x20 + x38 * x13
671  x54 = 0x2 * ( x37 * x19 + x33 * x20 + x38 * x15 ) + x35 * x21 + x39 * x17
672  x55 = x37 * x21 + x39 * x19 + x35 * x20 + x38 * x17
673  x56 = x39 * x21 + 0x2 * ( x37 * x20 + x38 * x19 )
674  x57 = x39 * x20 + x38 * x21
675  x58 = 0x2 * x38 * x20
676  x59 = x48 + (x58 << 0x4)
677  x60 = x59 + (x58 << 0x1)
678  x61 = x60 + x58
679  x62 = x47 + (x57 << 0x4)
680  x63 = x62 + (x57 << 0x1)
681  x64 = x63 + x57
682  x65 = x46 + (x56 << 0x4)
683  x66 = x65 + (x56 << 0x1)
684  x67 = x66 + x56
685  x68 = x45 + (x55 << 0x4)
686  x69 = x68 + (x55 << 0x1)
687  x70 = x69 + x55
688  x71 = x44 + (x54 << 0x4)
689  x72 = x71 + (x54 << 0x1)
690  x73 = x72 + x54
691  x74 = x43 + (x53 << 0x4)
692  x75 = x74 + (x53 << 0x1)
693  x76 = x75 + x53
694  x77 = x42 + (x52 << 0x4)
695  x78 = x77 + (x52 << 0x1)
696  x79 = x78 + x52
697  x80 = x41 + (x51 << 0x4)
698  x81 = x80 + (x51 << 0x1)
699  x82 = x81 + x51
700  x83 = x40 + (x50 << 0x4)
701  x84 = x83 + (x50 << 0x1)
702  x85 = x84 + x50
703  x86 = x85 >> 0x1a
704  x87 = x85 & 0x3ffffff
705  x88 = x86 + x82
706  x89 = x88 >> 0x19
707  x90 = x88 & 0x1ffffff
708  x91 = x89 + x79
709  x92 = x91 >> 0x1a
710  x93 = x91 & 0x3ffffff
711  x94 = x92 + x76
712  x95 = x94 >> 0x19
713  x96 = x94 & 0x1ffffff
714  x97 = x95 + x73
715  x98 = x97 >> 0x1a
716  x99 = x97 & 0x3ffffff
717  x100 = x98 + x70
718  x101 = x100 >> 0x19
719  x102 = x100 & 0x1ffffff
720  x103 = x101 + x67
721  x104 = x103 >> 0x1a
722  x105 = x103 & 0x3ffffff
723  x106 = x104 + x64
724  x107 = x106 >> 0x19
725  x108 = x106 & 0x1ffffff
726  x109 = x107 + x61
727  x110 = x109 >> 0x1a
728  x111 = x109 & 0x3ffffff
729  x112 = x110 + x49
730  x113 = x112 >> 0x19
731  x114 = x112 & 0x1ffffff
732  x115 = x87 + 0x13 * x113
733  x116 = x115 >> 0x1a
734  x117 = x115 & 0x3ffffff
735  x118 = x116 + x90
736  x119 = x118 >> 0x19
737  x120 = x118 & 0x1ffffff
738  out[0] = x117
739  out[1] = x120
740  out[2] = x119 + x93
741  out[3] = x96
742  out[4] = x99
743  out[5] = x102
744  out[6] = x105
745  out[7] = x108
746  out[8] = x111
747  out[9] = x114
Caller
NameDescribe
fe_mul121666