1 /* $FreeBSD$ */
2 /* Do not modify. This file is auto-generated from poly1305-ppc.pl. */
3 .machine "any"
4 .abiversion 2
5 .text
6 .globl poly1305_init_int
7 .type poly1305_init_int,@function
8 .align 4
9 poly1305_init_int:
10 .localentry poly1305_init_int,0
11
12 xor 0,0,0
13 std 0,0(3)
14 std 0,8(3)
15 std 0,16(3)
16
17 cmpld 4,0
18 beq- .Lno_key
19 li 7,4
20 lwbrx 10,0,4
21 li 11,8
22 lwbrx 7,7,4
23 li 8,12
24 lwbrx 11,11,4
25 lwbrx 8,8,4
26 insrdi 10,7,32,0
27 insrdi 11,8,32,0
28 lis 8,0xfff
29 ori 8,8,0xfffc
30 insrdi 8,8,32,0
31 ori 7,8,3
32
33 and 10,10,7
34 and 11,11,8
35
36 std 10,32(3)
37 std 11,40(3)
38
39 .Lno_key:
40 xor 3,3,3
41 blr
42 .long 0
43 .byte 0,12,0x14,0,0,0,2,0
44 .size poly1305_init_int,.-poly1305_init_int
45
46 .globl poly1305_blocks
47 .type poly1305_blocks,@function
48 .align 4
49 poly1305_blocks:
50 .localentry poly1305_blocks,0
51
52 srdi. 5,5,4
53 beq- .Labort
54
55 stdu 1,-192(1)
56 mflr 0
57 std 27,152(1)
58 std 28,160(1)
59 std 29,168(1)
60 std 30,176(1)
61 std 31,184(1)
62 std 0,208(1)
63
64 ld 27,32(3)
65 ld 28,40(3)
66
67 ld 7,0(3)
68 ld 8,8(3)
69 ld 9,16(3)
70
71 srdi 29,28,2
72 mtctr 5
73 add 29,29,28
74 li 0,3
75 b .Loop
76
77 .align 4
78 .Loop:
79 li 10,4
80 lwbrx 30,0,4
81 li 31,8
82 lwbrx 10,10,4
83 li 11,12
84 lwbrx 31,31,4
85 lwbrx 11,11,4
86 insrdi 30,10,32,0
87 insrdi 31,11,32,0
88 addi 4,4,16
89
90 addc 7,7,30
91 adde 8,8,31
92
93 mulld 10,7,27
94 mulhdu 11,7,27
95 adde 9,9,6
96
97 mulld 30,8,29
98 mulhdu 31,8,29
99 addc 10,10,30
100 adde 11,11,31
101
102 mulld 30,7,28
103 mulhdu 12,7,28
104 addc 11,11,30
105 addze 12,12
106
107 mulld 30,8,27
108 mulhdu 31,8,27
109 addc 11,11,30
110 adde 12,12,31
111
112 mulld 30,9,29
113 mulld 31,9,27
114 addc 11,11,30
115 adde 12,12,31
116
117 andc 30,12,0
118 and 9,12,0
119 srdi 31,30,2
120 add 30,30,31
121 addc 7,10,30
122 addze 8,11
123 addze 9,9
124
125 bdnz .Loop
126
127 std 7,0(3)
128 std 8,8(3)
129 std 9,16(3)
130
131 ld 27,152(1)
132 ld 28,160(1)
133 ld 29,168(1)
134 ld 30,176(1)
135 ld 31,184(1)
136 addi 1,1,192
137 .Labort:
138 blr
139 .long 0
140 .byte 0,12,4,1,0x80,5,4,0
141 .size poly1305_blocks,.-poly1305_blocks
142
143 .globl poly1305_emit
144 .type poly1305_emit,@function
145 .align 4
146 poly1305_emit:
147 .localentry poly1305_emit,0
148
149 ld 7,0(3)
150 ld 8,8(3)
151 ld 9,16(3)
152 ld 6,0(5)
153 ld 5,8(5)
154
155 addic 10,7,5
156 addze 11,8
157 addze 12,9
158
159 srdi 0,12,2
160 neg 0,0
161
162 andc 7,7,0
163 and 10,10,0
164 andc 8,8,0
165 and 11,11,0
166 or 7,7,10
167 or 8,8,11
168 rotldi 6,6,32
169 rotldi 5,5,32
170 addc 7,7,6
171 adde 8,8,5
172 rldicl 0,7,32,32
173 li 10,4
174 stwbrx 7,0,4
175 rldicl 7,8,32,32
176 li 11,8
177 stwbrx 0,10,4
178 li 12,12
179 stwbrx 8,11,4
180 stwbrx 7,12,4
181 blr
182 .long 0
183 .byte 0,12,0x14,0,0,0,3,0
184 .size poly1305_emit,.-poly1305_emit
185 .byte 80,111,108,121,49,51,48,53,32,102,111,114,32,80,80,67,44,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
186 .align 2
Cache object: d3894e977fc07c5cb8e226f476ea5142
|