1 /* $FreeBSD$ */
2 /* Do not modify. This file is auto-generated from x86_64-gf2m.pl. */
3 .text
4
5 .type _mul_1x1,@function
6 .align 16
7 _mul_1x1:
8 .cfi_startproc
9 subq $128+8,%rsp
10 .cfi_adjust_cfa_offset 128+8
11 movq $-1,%r9
12 leaq (%rax,%rax,1),%rsi
13 shrq $3,%r9
14 leaq (,%rax,4),%rdi
15 andq %rax,%r9
16 leaq (,%rax,8),%r12
17 sarq $63,%rax
18 leaq (%r9,%r9,1),%r10
19 sarq $63,%rsi
20 leaq (,%r9,4),%r11
21 andq %rbp,%rax
22 sarq $63,%rdi
23 movq %rax,%rdx
24 shlq $63,%rax
25 andq %rbp,%rsi
26 shrq $1,%rdx
27 movq %rsi,%rcx
28 shlq $62,%rsi
29 andq %rbp,%rdi
30 shrq $2,%rcx
31 xorq %rsi,%rax
32 movq %rdi,%rbx
33 shlq $61,%rdi
34 xorq %rcx,%rdx
35 shrq $3,%rbx
36 xorq %rdi,%rax
37 xorq %rbx,%rdx
38
39 movq %r9,%r13
40 movq $0,0(%rsp)
41 xorq %r10,%r13
42 movq %r9,8(%rsp)
43 movq %r11,%r14
44 movq %r10,16(%rsp)
45 xorq %r12,%r14
46 movq %r13,24(%rsp)
47
48 xorq %r11,%r9
49 movq %r11,32(%rsp)
50 xorq %r11,%r10
51 movq %r9,40(%rsp)
52 xorq %r11,%r13
53 movq %r10,48(%rsp)
54 xorq %r14,%r9
55 movq %r13,56(%rsp)
56 xorq %r14,%r10
57
58 movq %r12,64(%rsp)
59 xorq %r14,%r13
60 movq %r9,72(%rsp)
61 xorq %r11,%r9
62 movq %r10,80(%rsp)
63 xorq %r11,%r10
64 movq %r13,88(%rsp)
65
66 xorq %r11,%r13
67 movq %r14,96(%rsp)
68 movq %r8,%rsi
69 movq %r9,104(%rsp)
70 andq %rbp,%rsi
71 movq %r10,112(%rsp)
72 shrq $4,%rbp
73 movq %r13,120(%rsp)
74 movq %r8,%rdi
75 andq %rbp,%rdi
76 shrq $4,%rbp
77
78 movq (%rsp,%rsi,8),%xmm0
79 movq %r8,%rsi
80 andq %rbp,%rsi
81 shrq $4,%rbp
82 movq (%rsp,%rdi,8),%rcx
83 movq %r8,%rdi
84 movq %rcx,%rbx
85 shlq $4,%rcx
86 andq %rbp,%rdi
87 movq (%rsp,%rsi,8),%xmm1
88 shrq $60,%rbx
89 xorq %rcx,%rax
90 pslldq $1,%xmm1
91 movq %r8,%rsi
92 shrq $4,%rbp
93 xorq %rbx,%rdx
94 andq %rbp,%rsi
95 shrq $4,%rbp
96 pxor %xmm1,%xmm0
97 movq (%rsp,%rdi,8),%rcx
98 movq %r8,%rdi
99 movq %rcx,%rbx
100 shlq $12,%rcx
101 andq %rbp,%rdi
102 movq (%rsp,%rsi,8),%xmm1
103 shrq $52,%rbx
104 xorq %rcx,%rax
105 pslldq $2,%xmm1
106 movq %r8,%rsi
107 shrq $4,%rbp
108 xorq %rbx,%rdx
109 andq %rbp,%rsi
110 shrq $4,%rbp
111 pxor %xmm1,%xmm0
112 movq (%rsp,%rdi,8),%rcx
113 movq %r8,%rdi
114 movq %rcx,%rbx
115 shlq $20,%rcx
116 andq %rbp,%rdi
117 movq (%rsp,%rsi,8),%xmm1
118 shrq $44,%rbx
119 xorq %rcx,%rax
120 pslldq $3,%xmm1
121 movq %r8,%rsi
122 shrq $4,%rbp
123 xorq %rbx,%rdx
124 andq %rbp,%rsi
125 shrq $4,%rbp
126 pxor %xmm1,%xmm0
127 movq (%rsp,%rdi,8),%rcx
128 movq %r8,%rdi
129 movq %rcx,%rbx
130 shlq $28,%rcx
131 andq %rbp,%rdi
132 movq (%rsp,%rsi,8),%xmm1
133 shrq $36,%rbx
134 xorq %rcx,%rax
135 pslldq $4,%xmm1
136 movq %r8,%rsi
137 shrq $4,%rbp
138 xorq %rbx,%rdx
139 andq %rbp,%rsi
140 shrq $4,%rbp
141 pxor %xmm1,%xmm0
142 movq (%rsp,%rdi,8),%rcx
143 movq %r8,%rdi
144 movq %rcx,%rbx
145 shlq $36,%rcx
146 andq %rbp,%rdi
147 movq (%rsp,%rsi,8),%xmm1
148 shrq $28,%rbx
149 xorq %rcx,%rax
150 pslldq $5,%xmm1
151 movq %r8,%rsi
152 shrq $4,%rbp
153 xorq %rbx,%rdx
154 andq %rbp,%rsi
155 shrq $4,%rbp
156 pxor %xmm1,%xmm0
157 movq (%rsp,%rdi,8),%rcx
158 movq %r8,%rdi
159 movq %rcx,%rbx
160 shlq $44,%rcx
161 andq %rbp,%rdi
162 movq (%rsp,%rsi,8),%xmm1
163 shrq $20,%rbx
164 xorq %rcx,%rax
165 pslldq $6,%xmm1
166 movq %r8,%rsi
167 shrq $4,%rbp
168 xorq %rbx,%rdx
169 andq %rbp,%rsi
170 shrq $4,%rbp
171 pxor %xmm1,%xmm0
172 movq (%rsp,%rdi,8),%rcx
173 movq %r8,%rdi
174 movq %rcx,%rbx
175 shlq $52,%rcx
176 andq %rbp,%rdi
177 movq (%rsp,%rsi,8),%xmm1
178 shrq $12,%rbx
179 xorq %rcx,%rax
180 pslldq $7,%xmm1
181 movq %r8,%rsi
182 shrq $4,%rbp
183 xorq %rbx,%rdx
184 andq %rbp,%rsi
185 shrq $4,%rbp
186 pxor %xmm1,%xmm0
187 movq (%rsp,%rdi,8),%rcx
188 movq %rcx,%rbx
189 shlq $60,%rcx
190 .byte 102,72,15,126,198
191 shrq $4,%rbx
192 xorq %rcx,%rax
193 psrldq $8,%xmm0
194 xorq %rbx,%rdx
195 .byte 102,72,15,126,199
196 xorq %rsi,%rax
197 xorq %rdi,%rdx
198
199 addq $128+8,%rsp
200 .cfi_adjust_cfa_offset -128-8
201 .byte 0xf3,0xc3
202 .Lend_mul_1x1:
203 .cfi_endproc
204 .size _mul_1x1,.-_mul_1x1
205
206 .globl bn_GF2m_mul_2x2
207 .type bn_GF2m_mul_2x2,@function
208 .align 16
209 bn_GF2m_mul_2x2:
210 .cfi_startproc
211 movq %rsp,%rax
212 movq OPENSSL_ia32cap_P(%rip),%r10
213 btq $33,%r10
214 jnc .Lvanilla_mul_2x2
215
216 .byte 102,72,15,110,198
217 .byte 102,72,15,110,201
218 .byte 102,72,15,110,210
219 .byte 102,73,15,110,216
220 movdqa %xmm0,%xmm4
221 movdqa %xmm1,%xmm5
222 .byte 102,15,58,68,193,0
223 pxor %xmm2,%xmm4
224 pxor %xmm3,%xmm5
225 .byte 102,15,58,68,211,0
226 .byte 102,15,58,68,229,0
227 xorps %xmm0,%xmm4
228 xorps %xmm2,%xmm4
229 movdqa %xmm4,%xmm5
230 pslldq $8,%xmm4
231 psrldq $8,%xmm5
232 pxor %xmm4,%xmm2
233 pxor %xmm5,%xmm0
234 movdqu %xmm2,0(%rdi)
235 movdqu %xmm0,16(%rdi)
236 .byte 0xf3,0xc3
237
238 .align 16
239 .Lvanilla_mul_2x2:
240 leaq -136(%rsp),%rsp
241 .cfi_adjust_cfa_offset 8*17
242 movq %r14,80(%rsp)
243 .cfi_rel_offset %r14,8*10
244 movq %r13,88(%rsp)
245 .cfi_rel_offset %r13,8*11
246 movq %r12,96(%rsp)
247 .cfi_rel_offset %r12,8*12
248 movq %rbp,104(%rsp)
249 .cfi_rel_offset %rbp,8*13
250 movq %rbx,112(%rsp)
251 .cfi_rel_offset %rbx,8*14
252 .Lbody_mul_2x2:
253 movq %rdi,32(%rsp)
254 movq %rsi,40(%rsp)
255 movq %rdx,48(%rsp)
256 movq %rcx,56(%rsp)
257 movq %r8,64(%rsp)
258
259 movq $0xf,%r8
260 movq %rsi,%rax
261 movq %rcx,%rbp
262 call _mul_1x1
263 movq %rax,16(%rsp)
264 movq %rdx,24(%rsp)
265
266 movq 48(%rsp),%rax
267 movq 64(%rsp),%rbp
268 call _mul_1x1
269 movq %rax,0(%rsp)
270 movq %rdx,8(%rsp)
271
272 movq 40(%rsp),%rax
273 movq 56(%rsp),%rbp
274 xorq 48(%rsp),%rax
275 xorq 64(%rsp),%rbp
276 call _mul_1x1
277 movq 0(%rsp),%rbx
278 movq 8(%rsp),%rcx
279 movq 16(%rsp),%rdi
280 movq 24(%rsp),%rsi
281 movq 32(%rsp),%rbp
282
283 xorq %rdx,%rax
284 xorq %rcx,%rdx
285 xorq %rbx,%rax
286 movq %rbx,0(%rbp)
287 xorq %rdi,%rdx
288 movq %rsi,24(%rbp)
289 xorq %rsi,%rax
290 xorq %rsi,%rdx
291 xorq %rdx,%rax
292 movq %rdx,16(%rbp)
293 movq %rax,8(%rbp)
294
295 movq 80(%rsp),%r14
296 .cfi_restore %r14
297 movq 88(%rsp),%r13
298 .cfi_restore %r13
299 movq 96(%rsp),%r12
300 .cfi_restore %r12
301 movq 104(%rsp),%rbp
302 .cfi_restore %rbp
303 movq 112(%rsp),%rbx
304 .cfi_restore %rbx
305 leaq 136(%rsp),%rsp
306 .cfi_adjust_cfa_offset -8*17
307 .Lepilogue_mul_2x2:
308 .byte 0xf3,0xc3
309 .Lend_mul_2x2:
310 .cfi_endproc
311 .size bn_GF2m_mul_2x2,.-bn_GF2m_mul_2x2
312 .byte 71,70,40,50,94,109,41,32,77,117,108,116,105,112,108,105,99,97,116,105,111,110,32,102,111,114,32,120,56,54,95,54,52,44,32,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
313 .align 16
Cache object: e5698cdac54bd14252c460f5ada00132
|