1 #include <machine/asm.h>
6 .type rc4_md5_enc,@function
32 movl (%rdi,%rbp,4),%eax
34 leaq (%rdi,%rbp,4),%rsi
54 movl (%rdi,%rcx,4),%edx
56 movl %eax,(%rdi,%rcx,4)
69 movd (%rdi,%rax,4),%xmm0
73 movl (%rdi,%rcx,4),%edx
75 movl %ebx,(%rdi,%rcx,4)
80 addl $3905402710,%r11d
88 movd (%rdi,%rbx,4),%xmm1
91 movl (%rdi,%rcx,4),%edx
93 movl %eax,(%rdi,%rcx,4)
106 pinsrw $1,(%rdi,%rax,4),%xmm0
109 movl (%rdi,%rcx,4),%edx
111 movl %ebx,(%rdi,%rcx,4)
116 addl $3250441966,%r9d
124 pinsrw $1,(%rdi,%rbx,4),%xmm1
127 movl (%rdi,%rcx,4),%edx
129 movl %eax,(%rdi,%rcx,4)
134 addl $4118548399,%r8d
142 pinsrw $2,(%rdi,%rax,4),%xmm0
145 movl (%rdi,%rcx,4),%edx
147 movl %ebx,(%rdi,%rcx,4)
152 addl $1200080426,%r11d
160 pinsrw $2,(%rdi,%rbx,4),%xmm1
163 movl (%rdi,%rcx,4),%edx
165 movl %eax,(%rdi,%rcx,4)
170 addl $2821735955,%r10d
178 pinsrw $3,(%rdi,%rax,4),%xmm0
181 movl (%rdi,%rcx,4),%edx
183 movl %ebx,(%rdi,%rcx,4)
188 addl $4249261313,%r9d
196 pinsrw $3,(%rdi,%rbx,4),%xmm1
199 movl (%rdi,%rcx,4),%edx
201 movl %eax,(%rdi,%rcx,4)
206 addl $1770035416,%r8d
214 pinsrw $4,(%rdi,%rax,4),%xmm0
217 movl (%rdi,%rcx,4),%edx
219 movl %ebx,(%rdi,%rcx,4)
224 addl $2336552879,%r11d
232 pinsrw $4,(%rdi,%rbx,4),%xmm1
235 movl (%rdi,%rcx,4),%edx
237 movl %eax,(%rdi,%rcx,4)
242 addl $4294925233,%r10d
250 pinsrw $5,(%rdi,%rax,4),%xmm0
253 movl (%rdi,%rcx,4),%edx
255 movl %ebx,(%rdi,%rcx,4)
260 addl $2304563134,%r9d
268 pinsrw $5,(%rdi,%rbx,4),%xmm1
271 movl (%rdi,%rcx,4),%edx
273 movl %eax,(%rdi,%rcx,4)
278 addl $1804603682,%r8d
286 pinsrw $6,(%rdi,%rax,4),%xmm0
289 movl (%rdi,%rcx,4),%edx
291 movl %ebx,(%rdi,%rcx,4)
296 addl $4254626195,%r11d
304 pinsrw $6,(%rdi,%rbx,4),%xmm1
307 movl (%rdi,%rcx,4),%edx
309 movl %eax,(%rdi,%rcx,4)
314 addl $2792965006,%r10d
322 pinsrw $7,(%rdi,%rax,4),%xmm0
326 movl (%rdi,%rcx,4),%edx
328 movl %ebx,(%rdi,%rcx,4)
333 addl $1236535329,%r9d
341 pinsrw $7,(%rdi,%rbx,4),%xmm1
348 movl (%rdi,%rcx,4),%edx
350 movl %eax,(%rdi,%rcx,4)
355 addl $4129170786,%r8d
363 movd (%rdi,%rax,4),%xmm0
367 movl (%rdi,%rcx,4),%edx
369 movl %ebx,(%rdi,%rcx,4)
374 addl $3225465664,%r11d
382 movd (%rdi,%rbx,4),%xmm1
385 movl (%rdi,%rcx,4),%edx
387 movl %eax,(%rdi,%rcx,4)
392 addl $643717713,%r10d
400 pinsrw $1,(%rdi,%rax,4),%xmm0
403 movl (%rdi,%rcx,4),%edx
405 movl %ebx,(%rdi,%rcx,4)
410 addl $3921069994,%r9d
418 pinsrw $1,(%rdi,%rbx,4),%xmm1
421 movl (%rdi,%rcx,4),%edx
423 movl %eax,(%rdi,%rcx,4)
428 addl $3593408605,%r8d
436 pinsrw $2,(%rdi,%rax,4),%xmm0
439 movl (%rdi,%rcx,4),%edx
441 movl %ebx,(%rdi,%rcx,4)
454 pinsrw $2,(%rdi,%rbx,4),%xmm1
457 movl (%rdi,%rcx,4),%edx
459 movl %eax,(%rdi,%rcx,4)
464 addl $3634488961,%r10d
472 pinsrw $3,(%rdi,%rax,4),%xmm0
475 movl (%rdi,%rcx,4),%edx
477 movl %ebx,(%rdi,%rcx,4)
482 addl $3889429448,%r9d
490 pinsrw $3,(%rdi,%rbx,4),%xmm1
493 movl (%rdi,%rcx,4),%edx
495 movl %eax,(%rdi,%rcx,4)
508 pinsrw $4,(%rdi,%rax,4),%xmm0
511 movl (%rdi,%rcx,4),%edx
513 movl %ebx,(%rdi,%rcx,4)
518 addl $3275163606,%r11d
526 pinsrw $4,(%rdi,%rbx,4),%xmm1
529 movl (%rdi,%rcx,4),%edx
531 movl %eax,(%rdi,%rcx,4)
536 addl $4107603335,%r10d
544 pinsrw $5,(%rdi,%rax,4),%xmm0
547 movl (%rdi,%rcx,4),%edx
549 movl %ebx,(%rdi,%rcx,4)
554 addl $1163531501,%r9d
562 pinsrw $5,(%rdi,%rbx,4),%xmm1
565 movl (%rdi,%rcx,4),%edx
567 movl %eax,(%rdi,%rcx,4)
572 addl $2850285829,%r8d
580 pinsrw $6,(%rdi,%rax,4),%xmm0
583 movl (%rdi,%rcx,4),%edx
585 movl %ebx,(%rdi,%rcx,4)
590 addl $4243563512,%r11d
598 pinsrw $6,(%rdi,%rbx,4),%xmm1
601 movl (%rdi,%rcx,4),%edx
603 movl %eax,(%rdi,%rcx,4)
608 addl $1735328473,%r10d
616 pinsrw $7,(%rdi,%rax,4),%xmm0
619 movdqu 16(%r13),%xmm3
621 movl (%rdi,%rcx,4),%edx
623 movl %ebx,(%rdi,%rcx,4)
627 movl 0(%rdi,%rbp,4),%eax
628 addl $2368359562,%r9d
636 pinsrw $7,(%rdi,%rbx,4),%xmm1
642 leaq (%rdi,%rbp,4),%rsi
647 movl (%rdi,%rcx,4),%edx
649 movl %eax,(%rdi,%rcx,4)
654 addl $4294588738,%r8d
661 movd (%rdi,%rax,4),%xmm0
665 movl (%rdi,%rcx,4),%edx
667 movl %ebx,(%rdi,%rcx,4)
672 addl $2272392833,%r11d
679 movd (%rdi,%rbx,4),%xmm1
682 movl (%rdi,%rcx,4),%edx
684 movl %eax,(%rdi,%rcx,4)
689 addl $1839030562,%r10d
696 pinsrw $1,(%rdi,%rax,4),%xmm0
699 movl (%rdi,%rcx,4),%edx
701 movl %ebx,(%rdi,%rcx,4)
706 addl $4259657740,%r9d
713 pinsrw $1,(%rdi,%rbx,4),%xmm1
716 movl (%rdi,%rcx,4),%edx
718 movl %eax,(%rdi,%rcx,4)
723 addl $2763975236,%r8d
730 pinsrw $2,(%rdi,%rax,4),%xmm0
733 movl (%rdi,%rcx,4),%edx
735 movl %ebx,(%rdi,%rcx,4)
740 addl $1272893353,%r11d
747 pinsrw $2,(%rdi,%rbx,4),%xmm1
750 movl (%rdi,%rcx,4),%edx
752 movl %eax,(%rdi,%rcx,4)
757 addl $4139469664,%r10d
764 pinsrw $3,(%rdi,%rax,4),%xmm0
767 movl (%rdi,%rcx,4),%edx
769 movl %ebx,(%rdi,%rcx,4)
774 addl $3200236656,%r9d
781 pinsrw $3,(%rdi,%rbx,4),%xmm1
784 movl (%rdi,%rcx,4),%edx
786 movl %eax,(%rdi,%rcx,4)
798 pinsrw $4,(%rdi,%rax,4),%xmm0
801 movl (%rdi,%rcx,4),%edx
803 movl %ebx,(%rdi,%rcx,4)
808 addl $3936430074,%r11d
815 pinsrw $4,(%rdi,%rbx,4),%xmm1
818 movl (%rdi,%rcx,4),%edx
820 movl %eax,(%rdi,%rcx,4)
825 addl $3572445317,%r10d
832 pinsrw $5,(%rdi,%rax,4),%xmm0
835 movl (%rdi,%rcx,4),%edx
837 movl %ebx,(%rdi,%rcx,4)
849 pinsrw $5,(%rdi,%rbx,4),%xmm1
852 movl (%rdi,%rcx,4),%edx
854 movl %eax,(%rdi,%rcx,4)
859 addl $3654602809,%r8d
866 pinsrw $6,(%rdi,%rax,4),%xmm0
869 movl (%rdi,%rcx,4),%edx
871 movl %ebx,(%rdi,%rcx,4)
876 addl $3873151461,%r11d
883 pinsrw $6,(%rdi,%rbx,4),%xmm1
886 movl (%rdi,%rcx,4),%edx
888 movl %eax,(%rdi,%rcx,4)
893 addl $530742520,%r10d
900 pinsrw $7,(%rdi,%rax,4),%xmm0
903 movdqu 32(%r13),%xmm4
904 movl (%rdi,%rcx,4),%edx
906 movl %ebx,(%rdi,%rcx,4)
911 addl $3299628645,%r9d
918 pinsrw $7,(%rdi,%rbx,4),%xmm1
925 movl (%rdi,%rcx,4),%edx
927 movl %eax,(%rdi,%rcx,4)
932 addl $4096336452,%r8d
940 movd (%rdi,%rax,4),%xmm0
944 movl (%rdi,%rcx,4),%edx
946 movl %ebx,(%rdi,%rcx,4)
951 addl $1126891415,%r11d
959 movd (%rdi,%rbx,4),%xmm1
962 movl (%rdi,%rcx,4),%edx
964 movl %eax,(%rdi,%rcx,4)
969 addl $2878612391,%r10d
977 pinsrw $1,(%rdi,%rax,4),%xmm0
980 movl (%rdi,%rcx,4),%edx
982 movl %ebx,(%rdi,%rcx,4)
987 addl $4237533241,%r9d
995 pinsrw $1,(%rdi,%rbx,4),%xmm1
998 movl (%rdi,%rcx,4),%edx
1000 movl %eax,(%rdi,%rcx,4)
1005 addl $1700485571,%r8d
1013 pinsrw $2,(%rdi,%rax,4),%xmm0
1016 movl (%rdi,%rcx,4),%edx
1018 movl %ebx,(%rdi,%rcx,4)
1023 addl $2399980690,%r11d
1031 pinsrw $2,(%rdi,%rbx,4),%xmm1
1034 movl (%rdi,%rcx,4),%edx
1036 movl %eax,(%rdi,%rcx,4)
1041 addl $4293915773,%r10d
1049 pinsrw $3,(%rdi,%rax,4),%xmm0
1052 movl (%rdi,%rcx,4),%edx
1054 movl %ebx,(%rdi,%rcx,4)
1059 addl $2240044497,%r9d
1067 pinsrw $3,(%rdi,%rbx,4),%xmm1
1070 movl (%rdi,%rcx,4),%edx
1072 movl %eax,(%rdi,%rcx,4)
1077 addl $1873313359,%r8d
1085 pinsrw $4,(%rdi,%rax,4),%xmm0
1088 movl (%rdi,%rcx,4),%edx
1090 movl %ebx,(%rdi,%rcx,4)
1095 addl $4264355552,%r11d
1103 pinsrw $4,(%rdi,%rbx,4),%xmm1
1106 movl (%rdi,%rcx,4),%edx
1108 movl %eax,(%rdi,%rcx,4)
1113 addl $2734768916,%r10d
1121 pinsrw $5,(%rdi,%rax,4),%xmm0
1124 movl (%rdi,%rcx,4),%edx
1126 movl %ebx,(%rdi,%rcx,4)
1131 addl $1309151649,%r9d
1139 pinsrw $5,(%rdi,%rbx,4),%xmm1
1142 movl (%rdi,%rcx,4),%edx
1144 movl %eax,(%rdi,%rcx,4)
1149 addl $4149444226,%r8d
1157 pinsrw $6,(%rdi,%rax,4),%xmm0
1160 movl (%rdi,%rcx,4),%edx
1162 movl %ebx,(%rdi,%rcx,4)
1167 addl $3174756917,%r11d
1175 pinsrw $6,(%rdi,%rbx,4),%xmm1
1178 movl (%rdi,%rcx,4),%edx
1180 movl %eax,(%rdi,%rcx,4)
1185 addl $718787259,%r10d
1193 pinsrw $7,(%rdi,%rax,4),%xmm0
1196 movdqu 48(%r13),%xmm5
1198 movl (%rdi,%rcx,4),%edx
1200 movl %ebx,(%rdi,%rcx,4)
1204 movl 0(%rdi,%rbp,4),%eax
1205 addl $3951481745,%r9d
1213 pinsrw $7,(%rdi,%rbx,4),%xmm1
1222 leaq (%rdi,%rbp,4),%rsi
1231 movdqu %xmm2,(%r14,%r13,1)
1232 movdqu %xmm3,16(%r14,%r13,1)
1233 movdqu %xmm4,32(%r14,%r13,1)
1234 movdqu %xmm5,48(%r14,%r13,1)
1260 .size rc4_md5_enc,.-rc4_md5_enc