VirtualBox

source: vbox/trunk/src/libs/openssl-3.0.7/crypto/genasm-macosx/vpaes-x86.S@ 97372

Last change on this file since 97372 was 97372, checked in by vboxsync, 2 years ago

libs: Switch to openssl-3.0.7, bugref:10317

File size: 14.2 KB
Line 
1.text
2.align 6,0x90
3L_vpaes_consts:
4.long 218628480,235210255,168496130,67568393
5.long 252381056,17041926,33884169,51187212
6.long 252645135,252645135,252645135,252645135
7.long 1512730624,3266504856,1377990664,3401244816
8.long 830229760,1275146365,2969422977,3447763452
9.long 3411033600,2979783055,338359620,2782886510
10.long 4209124096,907596821,221174255,1006095553
11.long 191964160,3799684038,3164090317,1589111125
12.long 182528256,1777043520,2877432650,3265356744
13.long 1874708224,3503451415,3305285752,363511674
14.long 1606117888,3487855781,1093350906,2384367825
15.long 197121,67569157,134941193,202313229
16.long 67569157,134941193,202313229,197121
17.long 134941193,202313229,197121,67569157
18.long 202313229,197121,67569157,134941193
19.long 33619971,100992007,168364043,235736079
20.long 235736079,33619971,100992007,168364043
21.long 168364043,235736079,33619971,100992007
22.long 100992007,168364043,235736079,33619971
23.long 50462976,117835012,185207048,252579084
24.long 252314880,51251460,117574920,184942860
25.long 184682752,252054788,50987272,118359308
26.long 118099200,185467140,251790600,50727180
27.long 2946363062,528716217,1300004225,1881839624
28.long 1532713819,1532713819,1532713819,1532713819
29.long 3602276352,4288629033,3737020424,4153884961
30.long 1354558464,32357713,2958822624,3775749553
31.long 1201988352,132424512,1572796698,503232858
32.long 2213177600,1597421020,4103937655,675398315
33.long 2749646592,4273543773,1511898873,121693092
34.long 3040248576,1103263732,2871565598,1608280554
35.long 2236667136,2588920351,482954393,64377734
36.long 3069987328,291237287,2117370568,3650299247
37.long 533321216,3573750986,2572112006,1401264716
38.long 1339849704,2721158661,548607111,3445553514
39.long 2128193280,3054596040,2183486460,1257083700
40.long 655635200,1165381986,3923443150,2344132524
41.long 190078720,256924420,290342170,357187870
42.long 1610966272,2263057382,4103205268,309794674
43.long 2592527872,2233205587,1335446729,3402964816
44.long 3973531904,3225098121,3002836325,1918774430
45.long 3870401024,2102906079,2284471353,4117666579
46.long 617007872,1021508343,366931923,691083277
47.long 2528395776,3491914898,2968704004,1613121270
48.long 3445188352,3247741094,844474987,4093578302
49.long 651481088,1190302358,1689581232,574775300
50.long 4289380608,206939853,2555985458,2489840491
51.long 2130264064,327674451,3566485037,3349835193
52.long 2470714624,316102159,3636825756,3393945945
53.byte 86,101,99,116,111,114,32,80,101,114,109,117,116,97,116,105
54.byte 111,110,32,65,69,83,32,102,111,114,32,120,56,54,47,83
55.byte 83,83,69,51,44,32,77,105,107,101,32,72,97,109,98,117
56.byte 114,103,32,40,83,116,97,110,102,111,114,100,32,85,110,105
57.byte 118,101,114,115,105,116,121,41,0
58.align 6,0x90
59.align 4
60__vpaes_preheat:
61 #ifdef __CET__
62
63.byte 243,15,30,251
64 #endif
65
66 addl (%esp),%ebp
67 movdqa -48(%ebp),%xmm7
68 movdqa -16(%ebp),%xmm6
69 ret
70.align 4
71__vpaes_encrypt_core:
72 #ifdef __CET__
73
74.byte 243,15,30,251
75 #endif
76
77 movl $16,%ecx
78 movl 240(%edx),%eax
79 movdqa %xmm6,%xmm1
80 movdqa (%ebp),%xmm2
81 pandn %xmm0,%xmm1
82 pand %xmm6,%xmm0
83 movdqu (%edx),%xmm5
84.byte 102,15,56,0,208
85 movdqa 16(%ebp),%xmm0
86 pxor %xmm5,%xmm2
87 psrld $4,%xmm1
88 addl $16,%edx
89.byte 102,15,56,0,193
90 leal 192(%ebp),%ebx
91 pxor %xmm2,%xmm0
92 jmp L000enc_entry
93.align 4,0x90
94L001enc_loop:
95 movdqa 32(%ebp),%xmm4
96 movdqa 48(%ebp),%xmm0
97.byte 102,15,56,0,226
98.byte 102,15,56,0,195
99 pxor %xmm5,%xmm4
100 movdqa 64(%ebp),%xmm5
101 pxor %xmm4,%xmm0
102 movdqa -64(%ebx,%ecx,1),%xmm1
103.byte 102,15,56,0,234
104 movdqa 80(%ebp),%xmm2
105 movdqa (%ebx,%ecx,1),%xmm4
106.byte 102,15,56,0,211
107 movdqa %xmm0,%xmm3
108 pxor %xmm5,%xmm2
109.byte 102,15,56,0,193
110 addl $16,%edx
111 pxor %xmm2,%xmm0
112.byte 102,15,56,0,220
113 addl $16,%ecx
114 pxor %xmm0,%xmm3
115.byte 102,15,56,0,193
116 andl $48,%ecx
117 subl $1,%eax
118 pxor %xmm3,%xmm0
119L000enc_entry:
120 movdqa %xmm6,%xmm1
121 movdqa -32(%ebp),%xmm5
122 pandn %xmm0,%xmm1
123 psrld $4,%xmm1
124 pand %xmm6,%xmm0
125.byte 102,15,56,0,232
126 movdqa %xmm7,%xmm3
127 pxor %xmm1,%xmm0
128.byte 102,15,56,0,217
129 movdqa %xmm7,%xmm4
130 pxor %xmm5,%xmm3
131.byte 102,15,56,0,224
132 movdqa %xmm7,%xmm2
133 pxor %xmm5,%xmm4
134.byte 102,15,56,0,211
135 movdqa %xmm7,%xmm3
136 pxor %xmm0,%xmm2
137.byte 102,15,56,0,220
138 movdqu (%edx),%xmm5
139 pxor %xmm1,%xmm3
140 jnz L001enc_loop
141 movdqa 96(%ebp),%xmm4
142 movdqa 112(%ebp),%xmm0
143.byte 102,15,56,0,226
144 pxor %xmm5,%xmm4
145.byte 102,15,56,0,195
146 movdqa 64(%ebx,%ecx,1),%xmm1
147 pxor %xmm4,%xmm0
148.byte 102,15,56,0,193
149 ret
150.align 4
151__vpaes_decrypt_core:
152 #ifdef __CET__
153
154.byte 243,15,30,251
155 #endif
156
157 leal 608(%ebp),%ebx
158 movl 240(%edx),%eax
159 movdqa %xmm6,%xmm1
160 movdqa -64(%ebx),%xmm2
161 pandn %xmm0,%xmm1
162 movl %eax,%ecx
163 psrld $4,%xmm1
164 movdqu (%edx),%xmm5
165 shll $4,%ecx
166 pand %xmm6,%xmm0
167.byte 102,15,56,0,208
168 movdqa -48(%ebx),%xmm0
169 xorl $48,%ecx
170.byte 102,15,56,0,193
171 andl $48,%ecx
172 pxor %xmm5,%xmm2
173 movdqa 176(%ebp),%xmm5
174 pxor %xmm2,%xmm0
175 addl $16,%edx
176 leal -352(%ebx,%ecx,1),%ecx
177 jmp L002dec_entry
178.align 4,0x90
179L003dec_loop:
180 movdqa -32(%ebx),%xmm4
181 movdqa -16(%ebx),%xmm1
182.byte 102,15,56,0,226
183.byte 102,15,56,0,203
184 pxor %xmm4,%xmm0
185 movdqa (%ebx),%xmm4
186 pxor %xmm1,%xmm0
187 movdqa 16(%ebx),%xmm1
188.byte 102,15,56,0,226
189.byte 102,15,56,0,197
190.byte 102,15,56,0,203
191 pxor %xmm4,%xmm0
192 movdqa 32(%ebx),%xmm4
193 pxor %xmm1,%xmm0
194 movdqa 48(%ebx),%xmm1
195.byte 102,15,56,0,226
196.byte 102,15,56,0,197
197.byte 102,15,56,0,203
198 pxor %xmm4,%xmm0
199 movdqa 64(%ebx),%xmm4
200 pxor %xmm1,%xmm0
201 movdqa 80(%ebx),%xmm1
202.byte 102,15,56,0,226
203.byte 102,15,56,0,197
204.byte 102,15,56,0,203
205 pxor %xmm4,%xmm0
206 addl $16,%edx
207.byte 102,15,58,15,237,12
208 pxor %xmm1,%xmm0
209 subl $1,%eax
210L002dec_entry:
211 movdqa %xmm6,%xmm1
212 movdqa -32(%ebp),%xmm2
213 pandn %xmm0,%xmm1
214 pand %xmm6,%xmm0
215 psrld $4,%xmm1
216.byte 102,15,56,0,208
217 movdqa %xmm7,%xmm3
218 pxor %xmm1,%xmm0
219.byte 102,15,56,0,217
220 movdqa %xmm7,%xmm4
221 pxor %xmm2,%xmm3
222.byte 102,15,56,0,224
223 pxor %xmm2,%xmm4
224 movdqa %xmm7,%xmm2
225.byte 102,15,56,0,211
226 movdqa %xmm7,%xmm3
227 pxor %xmm0,%xmm2
228.byte 102,15,56,0,220
229 movdqu (%edx),%xmm0
230 pxor %xmm1,%xmm3
231 jnz L003dec_loop
232 movdqa 96(%ebx),%xmm4
233.byte 102,15,56,0,226
234 pxor %xmm0,%xmm4
235 movdqa 112(%ebx),%xmm0
236 movdqa (%ecx),%xmm2
237.byte 102,15,56,0,195
238 pxor %xmm4,%xmm0
239.byte 102,15,56,0,194
240 ret
241.align 4
242__vpaes_schedule_core:
243 #ifdef __CET__
244
245.byte 243,15,30,251
246 #endif
247
248 addl (%esp),%ebp
249 movdqu (%esi),%xmm0
250 movdqa 320(%ebp),%xmm2
251 movdqa %xmm0,%xmm3
252 leal (%ebp),%ebx
253 movdqa %xmm2,4(%esp)
254 call __vpaes_schedule_transform
255 movdqa %xmm0,%xmm7
256 testl %edi,%edi
257 jnz L004schedule_am_decrypting
258 movdqu %xmm0,(%edx)
259 jmp L005schedule_go
260L004schedule_am_decrypting:
261 movdqa 256(%ebp,%ecx,1),%xmm1
262.byte 102,15,56,0,217
263 movdqu %xmm3,(%edx)
264 xorl $48,%ecx
265L005schedule_go:
266 cmpl $192,%eax
267 ja L006schedule_256
268 je L007schedule_192
269L008schedule_128:
270 movl $10,%eax
271L009loop_schedule_128:
272 call __vpaes_schedule_round
273 decl %eax
274 jz L010schedule_mangle_last
275 call __vpaes_schedule_mangle
276 jmp L009loop_schedule_128
277.align 4,0x90
278L007schedule_192:
279 movdqu 8(%esi),%xmm0
280 call __vpaes_schedule_transform
281 movdqa %xmm0,%xmm6
282 pxor %xmm4,%xmm4
283 movhlps %xmm4,%xmm6
284 movl $4,%eax
285L011loop_schedule_192:
286 call __vpaes_schedule_round
287.byte 102,15,58,15,198,8
288 call __vpaes_schedule_mangle
289 call __vpaes_schedule_192_smear
290 call __vpaes_schedule_mangle
291 call __vpaes_schedule_round
292 decl %eax
293 jz L010schedule_mangle_last
294 call __vpaes_schedule_mangle
295 call __vpaes_schedule_192_smear
296 jmp L011loop_schedule_192
297.align 4,0x90
298L006schedule_256:
299 movdqu 16(%esi),%xmm0
300 call __vpaes_schedule_transform
301 movl $7,%eax
302L012loop_schedule_256:
303 call __vpaes_schedule_mangle
304 movdqa %xmm0,%xmm6
305 call __vpaes_schedule_round
306 decl %eax
307 jz L010schedule_mangle_last
308 call __vpaes_schedule_mangle
309 pshufd $255,%xmm0,%xmm0
310 movdqa %xmm7,20(%esp)
311 movdqa %xmm6,%xmm7
312 call L_vpaes_schedule_low_round
313 movdqa 20(%esp),%xmm7
314 jmp L012loop_schedule_256
315.align 4,0x90
316L010schedule_mangle_last:
317 leal 384(%ebp),%ebx
318 testl %edi,%edi
319 jnz L013schedule_mangle_last_dec
320 movdqa 256(%ebp,%ecx,1),%xmm1
321.byte 102,15,56,0,193
322 leal 352(%ebp),%ebx
323 addl $32,%edx
324L013schedule_mangle_last_dec:
325 addl $-16,%edx
326 pxor 336(%ebp),%xmm0
327 call __vpaes_schedule_transform
328 movdqu %xmm0,(%edx)
329 pxor %xmm0,%xmm0
330 pxor %xmm1,%xmm1
331 pxor %xmm2,%xmm2
332 pxor %xmm3,%xmm3
333 pxor %xmm4,%xmm4
334 pxor %xmm5,%xmm5
335 pxor %xmm6,%xmm6
336 pxor %xmm7,%xmm7
337 ret
338.align 4
339__vpaes_schedule_192_smear:
340 #ifdef __CET__
341
342.byte 243,15,30,251
343 #endif
344
345 pshufd $128,%xmm6,%xmm1
346 pshufd $254,%xmm7,%xmm0
347 pxor %xmm1,%xmm6
348 pxor %xmm1,%xmm1
349 pxor %xmm0,%xmm6
350 movdqa %xmm6,%xmm0
351 movhlps %xmm1,%xmm6
352 ret
353.align 4
354__vpaes_schedule_round:
355 #ifdef __CET__
356
357.byte 243,15,30,251
358 #endif
359
360 movdqa 8(%esp),%xmm2
361 pxor %xmm1,%xmm1
362.byte 102,15,58,15,202,15
363.byte 102,15,58,15,210,15
364 pxor %xmm1,%xmm7
365 pshufd $255,%xmm0,%xmm0
366.byte 102,15,58,15,192,1
367 movdqa %xmm2,8(%esp)
368L_vpaes_schedule_low_round:
369 movdqa %xmm7,%xmm1
370 pslldq $4,%xmm7
371 pxor %xmm1,%xmm7
372 movdqa %xmm7,%xmm1
373 pslldq $8,%xmm7
374 pxor %xmm1,%xmm7
375 pxor 336(%ebp),%xmm7
376 movdqa -16(%ebp),%xmm4
377 movdqa -48(%ebp),%xmm5
378 movdqa %xmm4,%xmm1
379 pandn %xmm0,%xmm1
380 psrld $4,%xmm1
381 pand %xmm4,%xmm0
382 movdqa -32(%ebp),%xmm2
383.byte 102,15,56,0,208
384 pxor %xmm1,%xmm0
385 movdqa %xmm5,%xmm3
386.byte 102,15,56,0,217
387 pxor %xmm2,%xmm3
388 movdqa %xmm5,%xmm4
389.byte 102,15,56,0,224
390 pxor %xmm2,%xmm4
391 movdqa %xmm5,%xmm2
392.byte 102,15,56,0,211
393 pxor %xmm0,%xmm2
394 movdqa %xmm5,%xmm3
395.byte 102,15,56,0,220
396 pxor %xmm1,%xmm3
397 movdqa 32(%ebp),%xmm4
398.byte 102,15,56,0,226
399 movdqa 48(%ebp),%xmm0
400.byte 102,15,56,0,195
401 pxor %xmm4,%xmm0
402 pxor %xmm7,%xmm0
403 movdqa %xmm0,%xmm7
404 ret
405.align 4
406__vpaes_schedule_transform:
407 #ifdef __CET__
408
409.byte 243,15,30,251
410 #endif
411
412 movdqa -16(%ebp),%xmm2
413 movdqa %xmm2,%xmm1
414 pandn %xmm0,%xmm1
415 psrld $4,%xmm1
416 pand %xmm2,%xmm0
417 movdqa (%ebx),%xmm2
418.byte 102,15,56,0,208
419 movdqa 16(%ebx),%xmm0
420.byte 102,15,56,0,193
421 pxor %xmm2,%xmm0
422 ret
423.align 4
424__vpaes_schedule_mangle:
425 #ifdef __CET__
426
427.byte 243,15,30,251
428 #endif
429
430 movdqa %xmm0,%xmm4
431 movdqa 128(%ebp),%xmm5
432 testl %edi,%edi
433 jnz L014schedule_mangle_dec
434 addl $16,%edx
435 pxor 336(%ebp),%xmm4
436.byte 102,15,56,0,229
437 movdqa %xmm4,%xmm3
438.byte 102,15,56,0,229
439 pxor %xmm4,%xmm3
440.byte 102,15,56,0,229
441 pxor %xmm4,%xmm3
442 jmp L015schedule_mangle_both
443.align 4,0x90
444L014schedule_mangle_dec:
445 movdqa -16(%ebp),%xmm2
446 leal 416(%ebp),%esi
447 movdqa %xmm2,%xmm1
448 pandn %xmm4,%xmm1
449 psrld $4,%xmm1
450 pand %xmm2,%xmm4
451 movdqa (%esi),%xmm2
452.byte 102,15,56,0,212
453 movdqa 16(%esi),%xmm3
454.byte 102,15,56,0,217
455 pxor %xmm2,%xmm3
456.byte 102,15,56,0,221
457 movdqa 32(%esi),%xmm2
458.byte 102,15,56,0,212
459 pxor %xmm3,%xmm2
460 movdqa 48(%esi),%xmm3
461.byte 102,15,56,0,217
462 pxor %xmm2,%xmm3
463.byte 102,15,56,0,221
464 movdqa 64(%esi),%xmm2
465.byte 102,15,56,0,212
466 pxor %xmm3,%xmm2
467 movdqa 80(%esi),%xmm3
468.byte 102,15,56,0,217
469 pxor %xmm2,%xmm3
470.byte 102,15,56,0,221
471 movdqa 96(%esi),%xmm2
472.byte 102,15,56,0,212
473 pxor %xmm3,%xmm2
474 movdqa 112(%esi),%xmm3
475.byte 102,15,56,0,217
476 pxor %xmm2,%xmm3
477 addl $-16,%edx
478L015schedule_mangle_both:
479 movdqa 256(%ebp,%ecx,1),%xmm1
480.byte 102,15,56,0,217
481 addl $-16,%ecx
482 andl $48,%ecx
483 movdqu %xmm3,(%edx)
484 ret
485.globl _vpaes_set_encrypt_key
486.align 4
487_vpaes_set_encrypt_key:
488L_vpaes_set_encrypt_key_begin:
489 #ifdef __CET__
490
491.byte 243,15,30,251
492 #endif
493
494 pushl %ebp
495 pushl %ebx
496 pushl %esi
497 pushl %edi
498 movl 20(%esp),%esi
499 leal -56(%esp),%ebx
500 movl 24(%esp),%eax
501 andl $-16,%ebx
502 movl 28(%esp),%edx
503 xchgl %esp,%ebx
504 movl %ebx,48(%esp)
505 movl %eax,%ebx
506 shrl $5,%ebx
507 addl $5,%ebx
508 movl %ebx,240(%edx)
509 movl $48,%ecx
510 movl $0,%edi
511 leal L_vpaes_consts+0x30-L016pic_point,%ebp
512 call __vpaes_schedule_core
513L016pic_point:
514 movl 48(%esp),%esp
515 xorl %eax,%eax
516 popl %edi
517 popl %esi
518 popl %ebx
519 popl %ebp
520 ret
521.globl _vpaes_set_decrypt_key
522.align 4
523_vpaes_set_decrypt_key:
524L_vpaes_set_decrypt_key_begin:
525 #ifdef __CET__
526
527.byte 243,15,30,251
528 #endif
529
530 pushl %ebp
531 pushl %ebx
532 pushl %esi
533 pushl %edi
534 movl 20(%esp),%esi
535 leal -56(%esp),%ebx
536 movl 24(%esp),%eax
537 andl $-16,%ebx
538 movl 28(%esp),%edx
539 xchgl %esp,%ebx
540 movl %ebx,48(%esp)
541 movl %eax,%ebx
542 shrl $5,%ebx
543 addl $5,%ebx
544 movl %ebx,240(%edx)
545 shll $4,%ebx
546 leal 16(%edx,%ebx,1),%edx
547 movl $1,%edi
548 movl %eax,%ecx
549 shrl $1,%ecx
550 andl $32,%ecx
551 xorl $32,%ecx
552 leal L_vpaes_consts+0x30-L017pic_point,%ebp
553 call __vpaes_schedule_core
554L017pic_point:
555 movl 48(%esp),%esp
556 xorl %eax,%eax
557 popl %edi
558 popl %esi
559 popl %ebx
560 popl %ebp
561 ret
562.globl _vpaes_encrypt
563.align 4
564_vpaes_encrypt:
565L_vpaes_encrypt_begin:
566 #ifdef __CET__
567
568.byte 243,15,30,251
569 #endif
570
571 pushl %ebp
572 pushl %ebx
573 pushl %esi
574 pushl %edi
575 leal L_vpaes_consts+0x30-L018pic_point,%ebp
576 call __vpaes_preheat
577L018pic_point:
578 movl 20(%esp),%esi
579 leal -56(%esp),%ebx
580 movl 24(%esp),%edi
581 andl $-16,%ebx
582 movl 28(%esp),%edx
583 xchgl %esp,%ebx
584 movl %ebx,48(%esp)
585 movdqu (%esi),%xmm0
586 call __vpaes_encrypt_core
587 movdqu %xmm0,(%edi)
588 movl 48(%esp),%esp
589 popl %edi
590 popl %esi
591 popl %ebx
592 popl %ebp
593 ret
594.globl _vpaes_decrypt
595.align 4
596_vpaes_decrypt:
597L_vpaes_decrypt_begin:
598 #ifdef __CET__
599
600.byte 243,15,30,251
601 #endif
602
603 pushl %ebp
604 pushl %ebx
605 pushl %esi
606 pushl %edi
607 leal L_vpaes_consts+0x30-L019pic_point,%ebp
608 call __vpaes_preheat
609L019pic_point:
610 movl 20(%esp),%esi
611 leal -56(%esp),%ebx
612 movl 24(%esp),%edi
613 andl $-16,%ebx
614 movl 28(%esp),%edx
615 xchgl %esp,%ebx
616 movl %ebx,48(%esp)
617 movdqu (%esi),%xmm0
618 call __vpaes_decrypt_core
619 movdqu %xmm0,(%edi)
620 movl 48(%esp),%esp
621 popl %edi
622 popl %esi
623 popl %ebx
624 popl %ebp
625 ret
626.globl _vpaes_cbc_encrypt
627.align 4
628_vpaes_cbc_encrypt:
629L_vpaes_cbc_encrypt_begin:
630 #ifdef __CET__
631
632.byte 243,15,30,251
633 #endif
634
635 pushl %ebp
636 pushl %ebx
637 pushl %esi
638 pushl %edi
639 movl 20(%esp),%esi
640 movl 24(%esp),%edi
641 movl 28(%esp),%eax
642 movl 32(%esp),%edx
643 subl $16,%eax
644 jc L020cbc_abort
645 leal -56(%esp),%ebx
646 movl 36(%esp),%ebp
647 andl $-16,%ebx
648 movl 40(%esp),%ecx
649 xchgl %esp,%ebx
650 movdqu (%ebp),%xmm1
651 subl %esi,%edi
652 movl %ebx,48(%esp)
653 movl %edi,(%esp)
654 movl %edx,4(%esp)
655 movl %ebp,8(%esp)
656 movl %eax,%edi
657 leal L_vpaes_consts+0x30-L021pic_point,%ebp
658 call __vpaes_preheat
659L021pic_point:
660 cmpl $0,%ecx
661 je L022cbc_dec_loop
662 jmp L023cbc_enc_loop
663.align 4,0x90
664L023cbc_enc_loop:
665 movdqu (%esi),%xmm0
666 pxor %xmm1,%xmm0
667 call __vpaes_encrypt_core
668 movl (%esp),%ebx
669 movl 4(%esp),%edx
670 movdqa %xmm0,%xmm1
671 movdqu %xmm0,(%ebx,%esi,1)
672 leal 16(%esi),%esi
673 subl $16,%edi
674 jnc L023cbc_enc_loop
675 jmp L024cbc_done
676.align 4,0x90
677L022cbc_dec_loop:
678 movdqu (%esi),%xmm0
679 movdqa %xmm1,16(%esp)
680 movdqa %xmm0,32(%esp)
681 call __vpaes_decrypt_core
682 movl (%esp),%ebx
683 movl 4(%esp),%edx
684 pxor 16(%esp),%xmm0
685 movdqa 32(%esp),%xmm1
686 movdqu %xmm0,(%ebx,%esi,1)
687 leal 16(%esi),%esi
688 subl $16,%edi
689 jnc L022cbc_dec_loop
690L024cbc_done:
691 movl 8(%esp),%ebx
692 movl 48(%esp),%esp
693 movdqu %xmm1,(%ebx)
694L020cbc_abort:
695 popl %edi
696 popl %esi
697 popl %ebx
698 popl %ebp
699 ret
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette