4 .globl gcm_gmult_4bit_x86
5 .hidden gcm_gmult_4bit_x86
6 .type gcm_gmult_4bit_x86,@function
9 .L_gcm_gmult_4bit_x86_begin:
22 movl $471859200,20(%esp)
23 movl $943718400,24(%esp)
24 movl $610271232,28(%esp)
25 movl $1887436800,32(%esp)
26 movl $1822425088,36(%esp)
27 movl $1220542464,40(%esp)
28 movl $1423966208,44(%esp)
29 movl $3774873600,48(%esp)
30 movl $4246732800,52(%esp)
31 movl $3644850176,56(%esp)
32 movl $3311403008,60(%esp)
33 movl $2441084928,64(%esp)
34 movl $2376073216,68(%esp)
35 movl $2847932416,72(%esp)
36 movl $3051356160,76(%esp)
43 movl 4(%esi,%ebx,1),%ebp
44 movl (%esi,%ebx,1),%edx
45 movl 12(%esi,%ebx,1),%ecx
46 movl 8(%esi,%ebx,1),%ebx
58 xorl 16(%esp,%eax,4),%ebp
59 movb (%esp,%edi,1),%al
61 xorl 8(%esi,%eax,1),%ebx
62 xorl 12(%esi,%eax,1),%ecx
63 xorl (%esi,%eax,1),%edx
64 xorl 4(%esi,%eax,1),%ebp
73 xorl 16(%esp,%eax,4),%ebp
74 movb (%esp,%edi,1),%al
76 xorl 8(%esi,%eax,1),%ebx
77 xorl 12(%esi,%eax,1),%ecx
78 xorl (%esi,%eax,1),%edx
79 xorl 4(%esi,%eax,1),%ebp
98 .size gcm_gmult_4bit_x86,.-.L_gcm_gmult_4bit_x86_begin
99 .globl gcm_ghash_4bit_x86
100 .hidden gcm_ghash_4bit_x86
101 .type gcm_ghash_4bit_x86,@function
104 .L_gcm_ghash_4bit_x86_begin:
121 movl $471859200,20(%esp)
122 movl $943718400,24(%esp)
123 movl $610271232,28(%esp)
124 movl $1887436800,32(%esp)
125 movl $1822425088,36(%esp)
126 movl $1220542464,40(%esp)
127 movl $1423966208,44(%esp)
128 movl $3774873600,48(%esp)
129 movl $4246732800,52(%esp)
130 movl $3644850176,56(%esp)
131 movl $3311403008,60(%esp)
132 movl $2441084928,64(%esp)
133 movl $2376073216,68(%esp)
134 movl $2847932416,72(%esp)
135 movl $3051356160,76(%esp)
148 movl 4(%esi,%ebx,1),%ebp
149 movl (%esi,%ebx,1),%edx
150 movl 12(%esi,%ebx,1),%ecx
151 movl 8(%esi,%ebx,1),%ebx
163 xorl 16(%esp,%eax,4),%ebp
164 movb (%esp,%edi,1),%al
166 xorl 8(%esi,%eax,1),%ebx
167 xorl 12(%esi,%eax,1),%ecx
168 xorl (%esi,%eax,1),%edx
169 xorl 4(%esi,%eax,1),%ebp
178 xorl 16(%esp,%eax,4),%ebp
179 movb (%esp,%edi,1),%al
181 xorl 8(%esi,%eax,1),%ebx
182 xorl 12(%esi,%eax,1),%ecx
183 xorl (%esi,%eax,1),%edx
184 xorl 4(%esi,%eax,1),%ebp
196 jb .L002x86_outer_loop
208 .size gcm_ghash_4bit_x86,.-.L_gcm_ghash_4bit_x86_begin
209 .globl gcm_gmult_4bit_mmx
210 .hidden gcm_gmult_4bit_mmx
211 .type gcm_gmult_4bit_mmx,@function
214 .L_gcm_gmult_4bit_mmx_begin:
224 leal .Lrem_4bit-.L005pic_point(%eax),%eax
232 movq 8(%esi,%ecx,1),%mm0
233 movq (%esi,%ecx,1),%mm1
242 pxor 8(%esi,%edx,1),%mm0
243 movb (%edi,%ebp,1),%cl
245 pxor (%eax,%ebx,8),%mm1
248 pxor (%esi,%edx,1),%mm1
258 pxor 8(%esi,%ecx,1),%mm0
260 pxor (%eax,%ebx,8),%mm1
262 pxor (%esi,%ecx,1),%mm1
273 pxor 8(%esi,%ecx,1),%mm0
275 pxor (%eax,%ebx,8),%mm1
277 pxor (%esi,%ecx,1),%mm1
283 pxor 8(%esi,%edx,1),%mm0
285 pxor (%eax,%ebx,8),%mm1
287 pxor (%esi,%edx,1),%mm1
308 .size gcm_gmult_4bit_mmx,.-.L_gcm_gmult_4bit_mmx_begin
309 .globl gcm_ghash_4bit_mmx
310 .hidden gcm_ghash_4bit_mmx
311 .type gcm_ghash_4bit_mmx,@function
314 .L_gcm_ghash_4bit_mmx_begin:
327 leal .Lrem_8bit-.L008pic_point(%esi),%esi
584 movq 16(%esp,%eax,8),%mm7
585 movq 144(%esp,%eax,8),%mm6
592 pxor 272(%esp,%ebp,8),%mm7
596 pxor 16(%esp,%eax,8),%mm7
598 pxor 144(%esp,%eax,8),%mm6
600 pxor 400(%esp,%ebp,8),%mm6
601 xorb (%esp,%ebp,1),%bl
609 pxor 272(%esp,%edi,8),%mm7
613 pinsrw $2,(%esi,%ebx,2),%mm2
614 pxor 16(%esp,%eax,8),%mm7
616 pxor 144(%esp,%eax,8),%mm6
618 pxor 400(%esp,%edi,8),%mm6
619 xorb (%esp,%edi,1),%cl
628 pxor 272(%esp,%ebp,8),%mm7
633 pinsrw $2,(%esi,%ecx,2),%mm1
634 pxor 16(%esp,%eax,8),%mm7
636 pxor 144(%esp,%eax,8),%mm6
638 pxor 400(%esp,%ebp,8),%mm6
639 xorb (%esp,%ebp,1),%bl
647 pxor 272(%esp,%edi,8),%mm7
652 pinsrw $2,(%esi,%ebx,2),%mm0
653 pxor 16(%esp,%eax,8),%mm7
655 pxor 144(%esp,%eax,8),%mm6
657 pxor 400(%esp,%edi,8),%mm6
658 xorb (%esp,%edi,1),%cl
666 pxor 272(%esp,%ebp,8),%mm7
671 pinsrw $2,(%esi,%ecx,2),%mm2
672 pxor 16(%esp,%eax,8),%mm7
674 pxor 144(%esp,%eax,8),%mm6
676 pxor 400(%esp,%ebp,8),%mm6
677 xorb (%esp,%ebp,1),%bl
685 pxor 272(%esp,%edi,8),%mm7
690 pinsrw $2,(%esi,%ebx,2),%mm1
691 pxor 16(%esp,%eax,8),%mm7
693 pxor 144(%esp,%eax,8),%mm6
695 pxor 400(%esp,%edi,8),%mm6
696 xorb (%esp,%edi,1),%cl
705 pxor 272(%esp,%ebp,8),%mm7
710 pinsrw $2,(%esi,%ecx,2),%mm0
711 pxor 16(%esp,%eax,8),%mm7
713 pxor 144(%esp,%eax,8),%mm6
715 pxor 400(%esp,%ebp,8),%mm6
716 xorb (%esp,%ebp,1),%bl
724 pxor 272(%esp,%edi,8),%mm7
729 pinsrw $2,(%esi,%ebx,2),%mm2
730 pxor 16(%esp,%eax,8),%mm7
732 pxor 144(%esp,%eax,8),%mm6
734 pxor 400(%esp,%edi,8),%mm6
735 xorb (%esp,%edi,1),%cl
743 pxor 272(%esp,%ebp,8),%mm7
748 pinsrw $2,(%esi,%ecx,2),%mm1
749 pxor 16(%esp,%eax,8),%mm7
751 pxor 144(%esp,%eax,8),%mm6
753 pxor 400(%esp,%ebp,8),%mm6
754 xorb (%esp,%ebp,1),%bl
762 pxor 272(%esp,%edi,8),%mm7
767 pinsrw $2,(%esi,%ebx,2),%mm0
768 pxor 16(%esp,%eax,8),%mm7
770 pxor 144(%esp,%eax,8),%mm6
772 pxor 400(%esp,%edi,8),%mm6
773 xorb (%esp,%edi,1),%cl
782 pxor 272(%esp,%ebp,8),%mm7
787 pinsrw $2,(%esi,%ecx,2),%mm2
788 pxor 16(%esp,%eax,8),%mm7
790 pxor 144(%esp,%eax,8),%mm6
792 pxor 400(%esp,%ebp,8),%mm6
793 xorb (%esp,%ebp,1),%bl
801 pxor 272(%esp,%edi,8),%mm7
806 pinsrw $2,(%esi,%ebx,2),%mm1
807 pxor 16(%esp,%eax,8),%mm7
809 pxor 144(%esp,%eax,8),%mm6
811 pxor 400(%esp,%edi,8),%mm6
812 xorb (%esp,%edi,1),%cl
820 pxor 272(%esp,%ebp,8),%mm7
825 pinsrw $2,(%esi,%ecx,2),%mm0
826 pxor 16(%esp,%eax,8),%mm7
828 pxor 144(%esp,%eax,8),%mm6
830 pxor 400(%esp,%ebp,8),%mm6
831 xorb (%esp,%ebp,1),%bl
839 pxor 272(%esp,%edi,8),%mm7
844 pinsrw $2,(%esi,%ebx,2),%mm2
845 pxor 16(%esp,%eax,8),%mm7
847 pxor 144(%esp,%eax,8),%mm6
849 pxor 400(%esp,%edi,8),%mm6
850 xorb (%esp,%edi,1),%cl
859 pxor 272(%esp,%ebp,8),%mm7
864 pinsrw $2,(%esi,%ecx,2),%mm1
865 pxor 16(%esp,%eax,8),%mm7
866 pxor 144(%esp,%eax,8),%mm6
867 xorb (%esp,%ebp,1),%bl
869 pxor 400(%esp,%ebp,8),%mm6
878 pxor 16(%esp,%edi,8),%mm7
882 pxor 144(%esp,%edi,8),%mm6
883 pinsrw $2,(%esi,%ebx,2),%mm0
886 pinsrw $3,(%esi,%ecx,2),%mm2
913 .size gcm_ghash_4bit_mmx,.-.L_gcm_ghash_4bit_mmx_begin
914 .globl gcm_init_clmul
915 .hidden gcm_init_clmul
916 .type gcm_init_clmul,@function
919 .L_gcm_init_clmul_begin:
925 leal .Lbswap-.L010pic(%ecx),%ecx
927 pshufd $78,%xmm2,%xmm2
928 pshufd $255,%xmm2,%xmm4
940 pshufd $78,%xmm0,%xmm3
941 pshufd $78,%xmm2,%xmm4
944 .byte 102,15,58,68,194,0
945 .byte 102,15,58,68,202,17
946 .byte 102,15,58,68,220,0
974 pshufd $78,%xmm2,%xmm3
975 pshufd $78,%xmm0,%xmm4
979 movdqu %xmm0,16(%edx)
980 .byte 102,15,58,15,227,8
981 movdqu %xmm4,32(%edx)
983 .size gcm_init_clmul,.-.L_gcm_init_clmul_begin
984 .globl gcm_gmult_clmul
985 .hidden gcm_gmult_clmul
986 .type gcm_gmult_clmul,@function
989 .L_gcm_gmult_clmul_begin:
995 leal .Lbswap-.L011pic(%ecx),%ecx
999 .byte 102,15,56,0,197
1000 movups 32(%edx),%xmm4
1002 pshufd $78,%xmm0,%xmm3
1004 .byte 102,15,58,68,194,0
1005 .byte 102,15,58,68,202,17
1006 .byte 102,15,58,68,220,0
1034 .byte 102,15,56,0,197
1037 .size gcm_gmult_clmul,.-.L_gcm_gmult_clmul_begin
1038 .globl gcm_ghash_clmul
1039 .hidden gcm_ghash_clmul
1040 .type gcm_ghash_clmul,@function
1043 .L_gcm_ghash_clmul_begin:
1055 leal .Lbswap-.L012pic(%ecx),%ecx
1059 .byte 102,15,56,0,197
1063 movdqu 16(%esi),%xmm6
1064 .byte 102,15,56,0,221
1065 .byte 102,15,56,0,245
1066 movdqu 32(%edx),%xmm5
1068 pshufd $78,%xmm6,%xmm3
1072 .byte 102,15,58,68,242,0
1073 .byte 102,15,58,68,250,17
1074 .byte 102,15,58,68,221,0
1075 movups 16(%edx),%xmm2
1082 pshufd $78,%xmm0,%xmm4
1086 .byte 102,15,58,68,194,0
1087 .byte 102,15,58,68,202,17
1088 .byte 102,15,58,68,229,16
1095 movdqu 16(%esi),%xmm6
1097 .byte 102,15,56,0,253
1104 .byte 102,15,56,0,245
1113 .byte 102,15,58,68,242,0
1114 movups 32(%edx),%xmm5
1121 pshufd $78,%xmm7,%xmm3
1126 .byte 102,15,58,68,250,17
1127 movups 16(%edx),%xmm2
1133 .byte 102,15,58,68,221,0
1138 pshufd $78,%xmm0,%xmm4
1141 .byte 102,15,58,68,194,0
1142 .byte 102,15,58,68,202,17
1143 .byte 102,15,58,68,229,16
1180 .byte 102,15,56,0,221
1183 pshufd $78,%xmm0,%xmm3
1184 pshufd $78,%xmm2,%xmm4
1187 .byte 102,15,58,68,194,0
1188 .byte 102,15,58,68,202,17
1189 .byte 102,15,58,68,220,0
1218 .byte 102,15,56,0,197
1225 .size gcm_ghash_clmul,.-.L_gcm_ghash_clmul_begin
1228 .byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0
1229 .byte 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194
1232 .value 0,450,900,582,1800,1738,1164,1358
1233 .value 3600,4050,3476,3158,2328,2266,2716,2910
1234 .value 7200,7650,8100,7782,6952,6890,6316,6510
1235 .value 4656,5106,4532,4214,5432,5370,5820,6014
1236 .value 14400,14722,15300,14854,16200,16010,15564,15630
1237 .value 13904,14226,13780,13334,12632,12442,13020,13086
1238 .value 9312,9634,10212,9766,9064,8874,8428,8494
1239 .value 10864,11186,10740,10294,11640,11450,12028,12094
1240 .value 28800,28994,29444,29382,30600,30282,29708,30158
1241 .value 32400,32594,32020,31958,31128,30810,31260,31710
1242 .value 27808,28002,28452,28390,27560,27242,26668,27118
1243 .value 25264,25458,24884,24822,26040,25722,26172,26622
1244 .value 18624,18690,19268,19078,20424,19978,19532,19854
1245 .value 18128,18194,17748,17558,16856,16410,16988,17310
1246 .value 21728,21794,22372,22182,21480,21034,20588,20910
1247 .value 23280,23346,22900,22710,24056,23610,24188,24510
1248 .value 57600,57538,57988,58182,58888,59338,58764,58446
1249 .value 61200,61138,60564,60758,59416,59866,60316,59998
1250 .value 64800,64738,65188,65382,64040,64490,63916,63598
1251 .value 62256,62194,61620,61814,62520,62970,63420,63102
1252 .value 55616,55426,56004,56070,56904,57226,56780,56334
1253 .value 55120,54930,54484,54550,53336,53658,54236,53790
1254 .value 50528,50338,50916,50982,49768,50090,49644,49198
1255 .value 52080,51890,51444,51510,52344,52666,53244,52798
1256 .value 37248,36930,37380,37830,38536,38730,38156,38094
1257 .value 40848,40530,39956,40406,39064,39258,39708,39646
1258 .value 36256,35938,36388,36838,35496,35690,35116,35054
1259 .value 33712,33394,32820,33270,33976,34170,34620,34558
1260 .value 43456,43010,43588,43910,44744,44810,44364,44174
1261 .value 42960,42514,42068,42390,41176,41242,41820,41630
1262 .value 46560,46114,46692,47014,45800,45866,45420,45230
1263 .value 48112,47666,47220,47542,48376,48442,49020,48830
1266 .long 0,0,0,471859200,0,943718400,0,610271232
1267 .long 0,1887436800,0,1822425088,0,1220542464,0,1423966208
1268 .long 0,3774873600,0,4246732800,0,3644850176,0,3311403008
1269 .long 0,2441084928,0,2376073216,0,2847932416,0,3051356160
1270 .byte 71,72,65,83,72,32,102,111,114,32,120,56,54,44,32,67
1271 .byte 82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112
1272 .byte 112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62