xref: /aosp_15_r20/external/cronet/third_party/boringssl/src/gen/bcm/md5-586-apple.S (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1// This file is generated from a similarly-named Perl script in the BoringSSL
2// source tree. Do not edit by hand.
3
4#include <openssl/asm_base.h>
5
6#if !defined(OPENSSL_NO_ASM) && defined(OPENSSL_X86) && defined(__APPLE__)
7.text
8.globl	_md5_block_asm_data_order
9.private_extern	_md5_block_asm_data_order
10.align	4
11_md5_block_asm_data_order:
12L_md5_block_asm_data_order_begin:
13	pushl	%esi
14	pushl	%edi
15	movl	12(%esp),%edi
16	movl	16(%esp),%esi
17	movl	20(%esp),%ecx
18	pushl	%ebp
19	shll	$6,%ecx
20	pushl	%ebx
21	addl	%esi,%ecx
22	subl	$64,%ecx
23	movl	(%edi),%eax
24	pushl	%ecx
25	movl	4(%edi),%ebx
26	movl	8(%edi),%ecx
27	movl	12(%edi),%edx
28L000start:
29
30	# R0 section
31	movl	%ecx,%edi
32	movl	(%esi),%ebp
33	# R0 0
34	xorl	%edx,%edi
35	andl	%ebx,%edi
36	leal	3614090360(%eax,%ebp,1),%eax
37	xorl	%edx,%edi
38	addl	%edi,%eax
39	movl	%ebx,%edi
40	roll	$7,%eax
41	movl	4(%esi),%ebp
42	addl	%ebx,%eax
43	# R0 1
44	xorl	%ecx,%edi
45	andl	%eax,%edi
46	leal	3905402710(%edx,%ebp,1),%edx
47	xorl	%ecx,%edi
48	addl	%edi,%edx
49	movl	%eax,%edi
50	roll	$12,%edx
51	movl	8(%esi),%ebp
52	addl	%eax,%edx
53	# R0 2
54	xorl	%ebx,%edi
55	andl	%edx,%edi
56	leal	606105819(%ecx,%ebp,1),%ecx
57	xorl	%ebx,%edi
58	addl	%edi,%ecx
59	movl	%edx,%edi
60	roll	$17,%ecx
61	movl	12(%esi),%ebp
62	addl	%edx,%ecx
63	# R0 3
64	xorl	%eax,%edi
65	andl	%ecx,%edi
66	leal	3250441966(%ebx,%ebp,1),%ebx
67	xorl	%eax,%edi
68	addl	%edi,%ebx
69	movl	%ecx,%edi
70	roll	$22,%ebx
71	movl	16(%esi),%ebp
72	addl	%ecx,%ebx
73	# R0 4
74	xorl	%edx,%edi
75	andl	%ebx,%edi
76	leal	4118548399(%eax,%ebp,1),%eax
77	xorl	%edx,%edi
78	addl	%edi,%eax
79	movl	%ebx,%edi
80	roll	$7,%eax
81	movl	20(%esi),%ebp
82	addl	%ebx,%eax
83	# R0 5
84	xorl	%ecx,%edi
85	andl	%eax,%edi
86	leal	1200080426(%edx,%ebp,1),%edx
87	xorl	%ecx,%edi
88	addl	%edi,%edx
89	movl	%eax,%edi
90	roll	$12,%edx
91	movl	24(%esi),%ebp
92	addl	%eax,%edx
93	# R0 6
94	xorl	%ebx,%edi
95	andl	%edx,%edi
96	leal	2821735955(%ecx,%ebp,1),%ecx
97	xorl	%ebx,%edi
98	addl	%edi,%ecx
99	movl	%edx,%edi
100	roll	$17,%ecx
101	movl	28(%esi),%ebp
102	addl	%edx,%ecx
103	# R0 7
104	xorl	%eax,%edi
105	andl	%ecx,%edi
106	leal	4249261313(%ebx,%ebp,1),%ebx
107	xorl	%eax,%edi
108	addl	%edi,%ebx
109	movl	%ecx,%edi
110	roll	$22,%ebx
111	movl	32(%esi),%ebp
112	addl	%ecx,%ebx
113	# R0 8
114	xorl	%edx,%edi
115	andl	%ebx,%edi
116	leal	1770035416(%eax,%ebp,1),%eax
117	xorl	%edx,%edi
118	addl	%edi,%eax
119	movl	%ebx,%edi
120	roll	$7,%eax
121	movl	36(%esi),%ebp
122	addl	%ebx,%eax
123	# R0 9
124	xorl	%ecx,%edi
125	andl	%eax,%edi
126	leal	2336552879(%edx,%ebp,1),%edx
127	xorl	%ecx,%edi
128	addl	%edi,%edx
129	movl	%eax,%edi
130	roll	$12,%edx
131	movl	40(%esi),%ebp
132	addl	%eax,%edx
133	# R0 10
134	xorl	%ebx,%edi
135	andl	%edx,%edi
136	leal	4294925233(%ecx,%ebp,1),%ecx
137	xorl	%ebx,%edi
138	addl	%edi,%ecx
139	movl	%edx,%edi
140	roll	$17,%ecx
141	movl	44(%esi),%ebp
142	addl	%edx,%ecx
143	# R0 11
144	xorl	%eax,%edi
145	andl	%ecx,%edi
146	leal	2304563134(%ebx,%ebp,1),%ebx
147	xorl	%eax,%edi
148	addl	%edi,%ebx
149	movl	%ecx,%edi
150	roll	$22,%ebx
151	movl	48(%esi),%ebp
152	addl	%ecx,%ebx
153	# R0 12
154	xorl	%edx,%edi
155	andl	%ebx,%edi
156	leal	1804603682(%eax,%ebp,1),%eax
157	xorl	%edx,%edi
158	addl	%edi,%eax
159	movl	%ebx,%edi
160	roll	$7,%eax
161	movl	52(%esi),%ebp
162	addl	%ebx,%eax
163	# R0 13
164	xorl	%ecx,%edi
165	andl	%eax,%edi
166	leal	4254626195(%edx,%ebp,1),%edx
167	xorl	%ecx,%edi
168	addl	%edi,%edx
169	movl	%eax,%edi
170	roll	$12,%edx
171	movl	56(%esi),%ebp
172	addl	%eax,%edx
173	# R0 14
174	xorl	%ebx,%edi
175	andl	%edx,%edi
176	leal	2792965006(%ecx,%ebp,1),%ecx
177	xorl	%ebx,%edi
178	addl	%edi,%ecx
179	movl	%edx,%edi
180	roll	$17,%ecx
181	movl	60(%esi),%ebp
182	addl	%edx,%ecx
183	# R0 15
184	xorl	%eax,%edi
185	andl	%ecx,%edi
186	leal	1236535329(%ebx,%ebp,1),%ebx
187	xorl	%eax,%edi
188	addl	%edi,%ebx
189	movl	%ecx,%edi
190	roll	$22,%ebx
191	movl	4(%esi),%ebp
192	addl	%ecx,%ebx
193
194	# R1 section
195	# R1 16
196	leal	4129170786(%eax,%ebp,1),%eax
197	xorl	%ebx,%edi
198	andl	%edx,%edi
199	movl	24(%esi),%ebp
200	xorl	%ecx,%edi
201	addl	%edi,%eax
202	movl	%ebx,%edi
203	roll	$5,%eax
204	addl	%ebx,%eax
205	# R1 17
206	leal	3225465664(%edx,%ebp,1),%edx
207	xorl	%eax,%edi
208	andl	%ecx,%edi
209	movl	44(%esi),%ebp
210	xorl	%ebx,%edi
211	addl	%edi,%edx
212	movl	%eax,%edi
213	roll	$9,%edx
214	addl	%eax,%edx
215	# R1 18
216	leal	643717713(%ecx,%ebp,1),%ecx
217	xorl	%edx,%edi
218	andl	%ebx,%edi
219	movl	(%esi),%ebp
220	xorl	%eax,%edi
221	addl	%edi,%ecx
222	movl	%edx,%edi
223	roll	$14,%ecx
224	addl	%edx,%ecx
225	# R1 19
226	leal	3921069994(%ebx,%ebp,1),%ebx
227	xorl	%ecx,%edi
228	andl	%eax,%edi
229	movl	20(%esi),%ebp
230	xorl	%edx,%edi
231	addl	%edi,%ebx
232	movl	%ecx,%edi
233	roll	$20,%ebx
234	addl	%ecx,%ebx
235	# R1 20
236	leal	3593408605(%eax,%ebp,1),%eax
237	xorl	%ebx,%edi
238	andl	%edx,%edi
239	movl	40(%esi),%ebp
240	xorl	%ecx,%edi
241	addl	%edi,%eax
242	movl	%ebx,%edi
243	roll	$5,%eax
244	addl	%ebx,%eax
245	# R1 21
246	leal	38016083(%edx,%ebp,1),%edx
247	xorl	%eax,%edi
248	andl	%ecx,%edi
249	movl	60(%esi),%ebp
250	xorl	%ebx,%edi
251	addl	%edi,%edx
252	movl	%eax,%edi
253	roll	$9,%edx
254	addl	%eax,%edx
255	# R1 22
256	leal	3634488961(%ecx,%ebp,1),%ecx
257	xorl	%edx,%edi
258	andl	%ebx,%edi
259	movl	16(%esi),%ebp
260	xorl	%eax,%edi
261	addl	%edi,%ecx
262	movl	%edx,%edi
263	roll	$14,%ecx
264	addl	%edx,%ecx
265	# R1 23
266	leal	3889429448(%ebx,%ebp,1),%ebx
267	xorl	%ecx,%edi
268	andl	%eax,%edi
269	movl	36(%esi),%ebp
270	xorl	%edx,%edi
271	addl	%edi,%ebx
272	movl	%ecx,%edi
273	roll	$20,%ebx
274	addl	%ecx,%ebx
275	# R1 24
276	leal	568446438(%eax,%ebp,1),%eax
277	xorl	%ebx,%edi
278	andl	%edx,%edi
279	movl	56(%esi),%ebp
280	xorl	%ecx,%edi
281	addl	%edi,%eax
282	movl	%ebx,%edi
283	roll	$5,%eax
284	addl	%ebx,%eax
285	# R1 25
286	leal	3275163606(%edx,%ebp,1),%edx
287	xorl	%eax,%edi
288	andl	%ecx,%edi
289	movl	12(%esi),%ebp
290	xorl	%ebx,%edi
291	addl	%edi,%edx
292	movl	%eax,%edi
293	roll	$9,%edx
294	addl	%eax,%edx
295	# R1 26
296	leal	4107603335(%ecx,%ebp,1),%ecx
297	xorl	%edx,%edi
298	andl	%ebx,%edi
299	movl	32(%esi),%ebp
300	xorl	%eax,%edi
301	addl	%edi,%ecx
302	movl	%edx,%edi
303	roll	$14,%ecx
304	addl	%edx,%ecx
305	# R1 27
306	leal	1163531501(%ebx,%ebp,1),%ebx
307	xorl	%ecx,%edi
308	andl	%eax,%edi
309	movl	52(%esi),%ebp
310	xorl	%edx,%edi
311	addl	%edi,%ebx
312	movl	%ecx,%edi
313	roll	$20,%ebx
314	addl	%ecx,%ebx
315	# R1 28
316	leal	2850285829(%eax,%ebp,1),%eax
317	xorl	%ebx,%edi
318	andl	%edx,%edi
319	movl	8(%esi),%ebp
320	xorl	%ecx,%edi
321	addl	%edi,%eax
322	movl	%ebx,%edi
323	roll	$5,%eax
324	addl	%ebx,%eax
325	# R1 29
326	leal	4243563512(%edx,%ebp,1),%edx
327	xorl	%eax,%edi
328	andl	%ecx,%edi
329	movl	28(%esi),%ebp
330	xorl	%ebx,%edi
331	addl	%edi,%edx
332	movl	%eax,%edi
333	roll	$9,%edx
334	addl	%eax,%edx
335	# R1 30
336	leal	1735328473(%ecx,%ebp,1),%ecx
337	xorl	%edx,%edi
338	andl	%ebx,%edi
339	movl	48(%esi),%ebp
340	xorl	%eax,%edi
341	addl	%edi,%ecx
342	movl	%edx,%edi
343	roll	$14,%ecx
344	addl	%edx,%ecx
345	# R1 31
346	leal	2368359562(%ebx,%ebp,1),%ebx
347	xorl	%ecx,%edi
348	andl	%eax,%edi
349	movl	20(%esi),%ebp
350	xorl	%edx,%edi
351	addl	%edi,%ebx
352	movl	%ecx,%edi
353	roll	$20,%ebx
354	addl	%ecx,%ebx
355
356	# R2 section
357	# R2 32
358	xorl	%edx,%edi
359	xorl	%ebx,%edi
360	leal	4294588738(%eax,%ebp,1),%eax
361	addl	%edi,%eax
362	roll	$4,%eax
363	movl	32(%esi),%ebp
364	movl	%ebx,%edi
365	# R2 33
366	leal	2272392833(%edx,%ebp,1),%edx
367	addl	%ebx,%eax
368	xorl	%ecx,%edi
369	xorl	%eax,%edi
370	movl	44(%esi),%ebp
371	addl	%edi,%edx
372	movl	%eax,%edi
373	roll	$11,%edx
374	addl	%eax,%edx
375	# R2 34
376	xorl	%ebx,%edi
377	xorl	%edx,%edi
378	leal	1839030562(%ecx,%ebp,1),%ecx
379	addl	%edi,%ecx
380	roll	$16,%ecx
381	movl	56(%esi),%ebp
382	movl	%edx,%edi
383	# R2 35
384	leal	4259657740(%ebx,%ebp,1),%ebx
385	addl	%edx,%ecx
386	xorl	%eax,%edi
387	xorl	%ecx,%edi
388	movl	4(%esi),%ebp
389	addl	%edi,%ebx
390	movl	%ecx,%edi
391	roll	$23,%ebx
392	addl	%ecx,%ebx
393	# R2 36
394	xorl	%edx,%edi
395	xorl	%ebx,%edi
396	leal	2763975236(%eax,%ebp,1),%eax
397	addl	%edi,%eax
398	roll	$4,%eax
399	movl	16(%esi),%ebp
400	movl	%ebx,%edi
401	# R2 37
402	leal	1272893353(%edx,%ebp,1),%edx
403	addl	%ebx,%eax
404	xorl	%ecx,%edi
405	xorl	%eax,%edi
406	movl	28(%esi),%ebp
407	addl	%edi,%edx
408	movl	%eax,%edi
409	roll	$11,%edx
410	addl	%eax,%edx
411	# R2 38
412	xorl	%ebx,%edi
413	xorl	%edx,%edi
414	leal	4139469664(%ecx,%ebp,1),%ecx
415	addl	%edi,%ecx
416	roll	$16,%ecx
417	movl	40(%esi),%ebp
418	movl	%edx,%edi
419	# R2 39
420	leal	3200236656(%ebx,%ebp,1),%ebx
421	addl	%edx,%ecx
422	xorl	%eax,%edi
423	xorl	%ecx,%edi
424	movl	52(%esi),%ebp
425	addl	%edi,%ebx
426	movl	%ecx,%edi
427	roll	$23,%ebx
428	addl	%ecx,%ebx
429	# R2 40
430	xorl	%edx,%edi
431	xorl	%ebx,%edi
432	leal	681279174(%eax,%ebp,1),%eax
433	addl	%edi,%eax
434	roll	$4,%eax
435	movl	(%esi),%ebp
436	movl	%ebx,%edi
437	# R2 41
438	leal	3936430074(%edx,%ebp,1),%edx
439	addl	%ebx,%eax
440	xorl	%ecx,%edi
441	xorl	%eax,%edi
442	movl	12(%esi),%ebp
443	addl	%edi,%edx
444	movl	%eax,%edi
445	roll	$11,%edx
446	addl	%eax,%edx
447	# R2 42
448	xorl	%ebx,%edi
449	xorl	%edx,%edi
450	leal	3572445317(%ecx,%ebp,1),%ecx
451	addl	%edi,%ecx
452	roll	$16,%ecx
453	movl	24(%esi),%ebp
454	movl	%edx,%edi
455	# R2 43
456	leal	76029189(%ebx,%ebp,1),%ebx
457	addl	%edx,%ecx
458	xorl	%eax,%edi
459	xorl	%ecx,%edi
460	movl	36(%esi),%ebp
461	addl	%edi,%ebx
462	movl	%ecx,%edi
463	roll	$23,%ebx
464	addl	%ecx,%ebx
465	# R2 44
466	xorl	%edx,%edi
467	xorl	%ebx,%edi
468	leal	3654602809(%eax,%ebp,1),%eax
469	addl	%edi,%eax
470	roll	$4,%eax
471	movl	48(%esi),%ebp
472	movl	%ebx,%edi
473	# R2 45
474	leal	3873151461(%edx,%ebp,1),%edx
475	addl	%ebx,%eax
476	xorl	%ecx,%edi
477	xorl	%eax,%edi
478	movl	60(%esi),%ebp
479	addl	%edi,%edx
480	movl	%eax,%edi
481	roll	$11,%edx
482	addl	%eax,%edx
483	# R2 46
484	xorl	%ebx,%edi
485	xorl	%edx,%edi
486	leal	530742520(%ecx,%ebp,1),%ecx
487	addl	%edi,%ecx
488	roll	$16,%ecx
489	movl	8(%esi),%ebp
490	movl	%edx,%edi
491	# R2 47
492	leal	3299628645(%ebx,%ebp,1),%ebx
493	addl	%edx,%ecx
494	xorl	%eax,%edi
495	xorl	%ecx,%edi
496	movl	(%esi),%ebp
497	addl	%edi,%ebx
498	movl	$-1,%edi
499	roll	$23,%ebx
500	addl	%ecx,%ebx
501
502	# R3 section
503	# R3 48
504	xorl	%edx,%edi
505	orl	%ebx,%edi
506	leal	4096336452(%eax,%ebp,1),%eax
507	xorl	%ecx,%edi
508	movl	28(%esi),%ebp
509	addl	%edi,%eax
510	movl	$-1,%edi
511	roll	$6,%eax
512	xorl	%ecx,%edi
513	addl	%ebx,%eax
514	# R3 49
515	orl	%eax,%edi
516	leal	1126891415(%edx,%ebp,1),%edx
517	xorl	%ebx,%edi
518	movl	56(%esi),%ebp
519	addl	%edi,%edx
520	movl	$-1,%edi
521	roll	$10,%edx
522	xorl	%ebx,%edi
523	addl	%eax,%edx
524	# R3 50
525	orl	%edx,%edi
526	leal	2878612391(%ecx,%ebp,1),%ecx
527	xorl	%eax,%edi
528	movl	20(%esi),%ebp
529	addl	%edi,%ecx
530	movl	$-1,%edi
531	roll	$15,%ecx
532	xorl	%eax,%edi
533	addl	%edx,%ecx
534	# R3 51
535	orl	%ecx,%edi
536	leal	4237533241(%ebx,%ebp,1),%ebx
537	xorl	%edx,%edi
538	movl	48(%esi),%ebp
539	addl	%edi,%ebx
540	movl	$-1,%edi
541	roll	$21,%ebx
542	xorl	%edx,%edi
543	addl	%ecx,%ebx
544	# R3 52
545	orl	%ebx,%edi
546	leal	1700485571(%eax,%ebp,1),%eax
547	xorl	%ecx,%edi
548	movl	12(%esi),%ebp
549	addl	%edi,%eax
550	movl	$-1,%edi
551	roll	$6,%eax
552	xorl	%ecx,%edi
553	addl	%ebx,%eax
554	# R3 53
555	orl	%eax,%edi
556	leal	2399980690(%edx,%ebp,1),%edx
557	xorl	%ebx,%edi
558	movl	40(%esi),%ebp
559	addl	%edi,%edx
560	movl	$-1,%edi
561	roll	$10,%edx
562	xorl	%ebx,%edi
563	addl	%eax,%edx
564	# R3 54
565	orl	%edx,%edi
566	leal	4293915773(%ecx,%ebp,1),%ecx
567	xorl	%eax,%edi
568	movl	4(%esi),%ebp
569	addl	%edi,%ecx
570	movl	$-1,%edi
571	roll	$15,%ecx
572	xorl	%eax,%edi
573	addl	%edx,%ecx
574	# R3 55
575	orl	%ecx,%edi
576	leal	2240044497(%ebx,%ebp,1),%ebx
577	xorl	%edx,%edi
578	movl	32(%esi),%ebp
579	addl	%edi,%ebx
580	movl	$-1,%edi
581	roll	$21,%ebx
582	xorl	%edx,%edi
583	addl	%ecx,%ebx
584	# R3 56
585	orl	%ebx,%edi
586	leal	1873313359(%eax,%ebp,1),%eax
587	xorl	%ecx,%edi
588	movl	60(%esi),%ebp
589	addl	%edi,%eax
590	movl	$-1,%edi
591	roll	$6,%eax
592	xorl	%ecx,%edi
593	addl	%ebx,%eax
594	# R3 57
595	orl	%eax,%edi
596	leal	4264355552(%edx,%ebp,1),%edx
597	xorl	%ebx,%edi
598	movl	24(%esi),%ebp
599	addl	%edi,%edx
600	movl	$-1,%edi
601	roll	$10,%edx
602	xorl	%ebx,%edi
603	addl	%eax,%edx
604	# R3 58
605	orl	%edx,%edi
606	leal	2734768916(%ecx,%ebp,1),%ecx
607	xorl	%eax,%edi
608	movl	52(%esi),%ebp
609	addl	%edi,%ecx
610	movl	$-1,%edi
611	roll	$15,%ecx
612	xorl	%eax,%edi
613	addl	%edx,%ecx
614	# R3 59
615	orl	%ecx,%edi
616	leal	1309151649(%ebx,%ebp,1),%ebx
617	xorl	%edx,%edi
618	movl	16(%esi),%ebp
619	addl	%edi,%ebx
620	movl	$-1,%edi
621	roll	$21,%ebx
622	xorl	%edx,%edi
623	addl	%ecx,%ebx
624	# R3 60
625	orl	%ebx,%edi
626	leal	4149444226(%eax,%ebp,1),%eax
627	xorl	%ecx,%edi
628	movl	44(%esi),%ebp
629	addl	%edi,%eax
630	movl	$-1,%edi
631	roll	$6,%eax
632	xorl	%ecx,%edi
633	addl	%ebx,%eax
634	# R3 61
635	orl	%eax,%edi
636	leal	3174756917(%edx,%ebp,1),%edx
637	xorl	%ebx,%edi
638	movl	8(%esi),%ebp
639	addl	%edi,%edx
640	movl	$-1,%edi
641	roll	$10,%edx
642	xorl	%ebx,%edi
643	addl	%eax,%edx
644	# R3 62
645	orl	%edx,%edi
646	leal	718787259(%ecx,%ebp,1),%ecx
647	xorl	%eax,%edi
648	movl	36(%esi),%ebp
649	addl	%edi,%ecx
650	movl	$-1,%edi
651	roll	$15,%ecx
652	xorl	%eax,%edi
653	addl	%edx,%ecx
654	# R3 63
655	orl	%ecx,%edi
656	leal	3951481745(%ebx,%ebp,1),%ebx
657	xorl	%edx,%edi
658	movl	24(%esp),%ebp
659	addl	%edi,%ebx
660	addl	$64,%esi
661	roll	$21,%ebx
662	movl	(%ebp),%edi
663	addl	%ecx,%ebx
664	addl	%edi,%eax
665	movl	4(%ebp),%edi
666	addl	%edi,%ebx
667	movl	8(%ebp),%edi
668	addl	%edi,%ecx
669	movl	12(%ebp),%edi
670	addl	%edi,%edx
671	movl	%eax,(%ebp)
672	movl	%ebx,4(%ebp)
673	movl	(%esp),%edi
674	movl	%ecx,8(%ebp)
675	movl	%edx,12(%ebp)
676	cmpl	%esi,%edi
677	jae	L000start
678	popl	%eax
679	popl	%ebx
680	popl	%ebp
681	popl	%edi
682	popl	%esi
683	ret
684#endif  // !defined(OPENSSL_NO_ASM) && defined(OPENSSL_X86) && defined(__APPLE__)
685