2 /* Do not modify. This file is auto-generated from ghash-x86.pl. */
5 .globl 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 .type gcm_ghash_4bit_x86,@function
103 .L_gcm_ghash_4bit_x86_begin:
120 movl $471859200,20(%esp)
121 movl $943718400,24(%esp)
122 movl $610271232,28(%esp)
123 movl $1887436800,32(%esp)
124 movl $1822425088,36(%esp)
125 movl $1220542464,40(%esp)
126 movl $1423966208,44(%esp)
127 movl $3774873600,48(%esp)
128 movl $4246732800,52(%esp)
129 movl $3644850176,56(%esp)
130 movl $3311403008,60(%esp)
131 movl $2441084928,64(%esp)
132 movl $2376073216,68(%esp)
133 movl $2847932416,72(%esp)
134 movl $3051356160,76(%esp)
147 movl 4(%esi,%ebx,1),%ebp
148 movl (%esi,%ebx,1),%edx
149 movl 12(%esi,%ebx,1),%ecx
150 movl 8(%esi,%ebx,1),%ebx
162 xorl 16(%esp,%eax,4),%ebp
163 movb (%esp,%edi,1),%al
165 xorl 8(%esi,%eax,1),%ebx
166 xorl 12(%esi,%eax,1),%ecx
167 xorl (%esi,%eax,1),%edx
168 xorl 4(%esi,%eax,1),%ebp
177 xorl 16(%esp,%eax,4),%ebp
178 movb (%esp,%edi,1),%al
180 xorl 8(%esi,%eax,1),%ebx
181 xorl 12(%esi,%eax,1),%ecx
182 xorl (%esi,%eax,1),%edx
183 xorl 4(%esi,%eax,1),%ebp
195 jb .L002x86_outer_loop
207 .size gcm_ghash_4bit_x86,.-.L_gcm_ghash_4bit_x86_begin
208 .globl gcm_gmult_4bit_mmx
209 .type gcm_gmult_4bit_mmx,@function
212 .L_gcm_gmult_4bit_mmx_begin:
222 leal .Lrem_4bit-.L005pic_point(%eax),%eax
230 movq 8(%esi,%ecx,1),%mm0
231 movq (%esi,%ecx,1),%mm1
240 pxor 8(%esi,%edx,1),%mm0
241 movb (%edi,%ebp,1),%cl
243 pxor (%eax,%ebx,8),%mm1
246 pxor (%esi,%edx,1),%mm1
256 pxor 8(%esi,%ecx,1),%mm0
258 pxor (%eax,%ebx,8),%mm1
260 pxor (%esi,%ecx,1),%mm1
271 pxor 8(%esi,%ecx,1),%mm0
273 pxor (%eax,%ebx,8),%mm1
275 pxor (%esi,%ecx,1),%mm1
281 pxor 8(%esi,%edx,1),%mm0
283 pxor (%eax,%ebx,8),%mm1
285 pxor (%esi,%edx,1),%mm1
306 .size gcm_gmult_4bit_mmx,.-.L_gcm_gmult_4bit_mmx_begin
307 .globl gcm_ghash_4bit_mmx
308 .type gcm_ghash_4bit_mmx,@function
311 .L_gcm_ghash_4bit_mmx_begin:
324 leal .Lrem_8bit-.L008pic_point(%esi),%esi
581 movq 16(%esp,%eax,8),%mm7
582 movq 144(%esp,%eax,8),%mm6
589 pxor 272(%esp,%ebp,8),%mm7
593 pxor 16(%esp,%eax,8),%mm7
595 pxor 144(%esp,%eax,8),%mm6
597 pxor 400(%esp,%ebp,8),%mm6
598 xorb (%esp,%ebp,1),%bl
606 pxor 272(%esp,%edi,8),%mm7
610 pinsrw $2,(%esi,%ebx,2),%mm2
611 pxor 16(%esp,%eax,8),%mm7
613 pxor 144(%esp,%eax,8),%mm6
615 pxor 400(%esp,%edi,8),%mm6
616 xorb (%esp,%edi,1),%cl
625 pxor 272(%esp,%ebp,8),%mm7
630 pinsrw $2,(%esi,%ecx,2),%mm1
631 pxor 16(%esp,%eax,8),%mm7
633 pxor 144(%esp,%eax,8),%mm6
635 pxor 400(%esp,%ebp,8),%mm6
636 xorb (%esp,%ebp,1),%bl
644 pxor 272(%esp,%edi,8),%mm7
649 pinsrw $2,(%esi,%ebx,2),%mm0
650 pxor 16(%esp,%eax,8),%mm7
652 pxor 144(%esp,%eax,8),%mm6
654 pxor 400(%esp,%edi,8),%mm6
655 xorb (%esp,%edi,1),%cl
663 pxor 272(%esp,%ebp,8),%mm7
668 pinsrw $2,(%esi,%ecx,2),%mm2
669 pxor 16(%esp,%eax,8),%mm7
671 pxor 144(%esp,%eax,8),%mm6
673 pxor 400(%esp,%ebp,8),%mm6
674 xorb (%esp,%ebp,1),%bl
682 pxor 272(%esp,%edi,8),%mm7
687 pinsrw $2,(%esi,%ebx,2),%mm1
688 pxor 16(%esp,%eax,8),%mm7
690 pxor 144(%esp,%eax,8),%mm6
692 pxor 400(%esp,%edi,8),%mm6
693 xorb (%esp,%edi,1),%cl
702 pxor 272(%esp,%ebp,8),%mm7
707 pinsrw $2,(%esi,%ecx,2),%mm0
708 pxor 16(%esp,%eax,8),%mm7
710 pxor 144(%esp,%eax,8),%mm6
712 pxor 400(%esp,%ebp,8),%mm6
713 xorb (%esp,%ebp,1),%bl
721 pxor 272(%esp,%edi,8),%mm7
726 pinsrw $2,(%esi,%ebx,2),%mm2
727 pxor 16(%esp,%eax,8),%mm7
729 pxor 144(%esp,%eax,8),%mm6
731 pxor 400(%esp,%edi,8),%mm6
732 xorb (%esp,%edi,1),%cl
740 pxor 272(%esp,%ebp,8),%mm7
745 pinsrw $2,(%esi,%ecx,2),%mm1
746 pxor 16(%esp,%eax,8),%mm7
748 pxor 144(%esp,%eax,8),%mm6
750 pxor 400(%esp,%ebp,8),%mm6
751 xorb (%esp,%ebp,1),%bl
759 pxor 272(%esp,%edi,8),%mm7
764 pinsrw $2,(%esi,%ebx,2),%mm0
765 pxor 16(%esp,%eax,8),%mm7
767 pxor 144(%esp,%eax,8),%mm6
769 pxor 400(%esp,%edi,8),%mm6
770 xorb (%esp,%edi,1),%cl
779 pxor 272(%esp,%ebp,8),%mm7
784 pinsrw $2,(%esi,%ecx,2),%mm2
785 pxor 16(%esp,%eax,8),%mm7
787 pxor 144(%esp,%eax,8),%mm6
789 pxor 400(%esp,%ebp,8),%mm6
790 xorb (%esp,%ebp,1),%bl
798 pxor 272(%esp,%edi,8),%mm7
803 pinsrw $2,(%esi,%ebx,2),%mm1
804 pxor 16(%esp,%eax,8),%mm7
806 pxor 144(%esp,%eax,8),%mm6
808 pxor 400(%esp,%edi,8),%mm6
809 xorb (%esp,%edi,1),%cl
817 pxor 272(%esp,%ebp,8),%mm7
822 pinsrw $2,(%esi,%ecx,2),%mm0
823 pxor 16(%esp,%eax,8),%mm7
825 pxor 144(%esp,%eax,8),%mm6
827 pxor 400(%esp,%ebp,8),%mm6
828 xorb (%esp,%ebp,1),%bl
836 pxor 272(%esp,%edi,8),%mm7
841 pinsrw $2,(%esi,%ebx,2),%mm2
842 pxor 16(%esp,%eax,8),%mm7
844 pxor 144(%esp,%eax,8),%mm6
846 pxor 400(%esp,%edi,8),%mm6
847 xorb (%esp,%edi,1),%cl
856 pxor 272(%esp,%ebp,8),%mm7
861 pinsrw $2,(%esi,%ecx,2),%mm1
862 pxor 16(%esp,%eax,8),%mm7
863 pxor 144(%esp,%eax,8),%mm6
864 xorb (%esp,%ebp,1),%bl
866 pxor 400(%esp,%ebp,8),%mm6
875 pxor 16(%esp,%edi,8),%mm7
879 pxor 144(%esp,%edi,8),%mm6
880 pinsrw $2,(%esi,%ebx,2),%mm0
883 pinsrw $3,(%esi,%ecx,2),%mm2
910 .size gcm_ghash_4bit_mmx,.-.L_gcm_ghash_4bit_mmx_begin
911 .globl gcm_init_clmul
912 .type gcm_init_clmul,@function
915 .L_gcm_init_clmul_begin:
921 leal .Lbswap-.L010pic(%ecx),%ecx
923 pshufd $78,%xmm2,%xmm2
924 pshufd $255,%xmm2,%xmm4
936 pshufd $78,%xmm0,%xmm3
937 pshufd $78,%xmm2,%xmm4
940 .byte 102,15,58,68,194,0
941 .byte 102,15,58,68,202,17
942 .byte 102,15,58,68,220,0
970 pshufd $78,%xmm2,%xmm3
971 pshufd $78,%xmm0,%xmm4
975 movdqu %xmm0,16(%edx)
976 .byte 102,15,58,15,227,8
977 movdqu %xmm4,32(%edx)
979 .size gcm_init_clmul,.-.L_gcm_init_clmul_begin
980 .globl gcm_gmult_clmul
981 .type gcm_gmult_clmul,@function
984 .L_gcm_gmult_clmul_begin:
990 leal .Lbswap-.L011pic(%ecx),%ecx
994 .byte 102,15,56,0,197
995 movups 32(%edx),%xmm4
997 pshufd $78,%xmm0,%xmm3
999 .byte 102,15,58,68,194,0
1000 .byte 102,15,58,68,202,17
1001 .byte 102,15,58,68,220,0
1029 .byte 102,15,56,0,197
1032 .size gcm_gmult_clmul,.-.L_gcm_gmult_clmul_begin
1033 .globl gcm_ghash_clmul
1034 .type gcm_ghash_clmul,@function
1037 .L_gcm_ghash_clmul_begin:
1049 leal .Lbswap-.L012pic(%ecx),%ecx
1053 .byte 102,15,56,0,197
1057 movdqu 16(%esi),%xmm6
1058 .byte 102,15,56,0,221
1059 .byte 102,15,56,0,245
1060 movdqu 32(%edx),%xmm5
1062 pshufd $78,%xmm6,%xmm3
1066 .byte 102,15,58,68,242,0
1067 .byte 102,15,58,68,250,17
1068 .byte 102,15,58,68,221,0
1069 movups 16(%edx),%xmm2
1076 pshufd $78,%xmm0,%xmm4
1080 .byte 102,15,58,68,194,0
1081 .byte 102,15,58,68,202,17
1082 .byte 102,15,58,68,229,16
1089 movdqu 16(%esi),%xmm6
1091 .byte 102,15,56,0,253
1098 .byte 102,15,56,0,245
1107 .byte 102,15,58,68,242,0
1108 movups 32(%edx),%xmm5
1115 pshufd $78,%xmm7,%xmm3
1120 .byte 102,15,58,68,250,17
1121 movups 16(%edx),%xmm2
1127 .byte 102,15,58,68,221,0
1132 pshufd $78,%xmm0,%xmm4
1135 .byte 102,15,58,68,194,0
1136 .byte 102,15,58,68,202,17
1137 .byte 102,15,58,68,229,16
1174 .byte 102,15,56,0,221
1177 pshufd $78,%xmm0,%xmm3
1178 pshufd $78,%xmm2,%xmm4
1181 .byte 102,15,58,68,194,0
1182 .byte 102,15,58,68,202,17
1183 .byte 102,15,58,68,220,0
1212 .byte 102,15,56,0,197
1219 .size gcm_ghash_clmul,.-.L_gcm_ghash_clmul_begin
1222 .byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0
1223 .byte 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194
1226 .value 0,450,900,582,1800,1738,1164,1358
1227 .value 3600,4050,3476,3158,2328,2266,2716,2910
1228 .value 7200,7650,8100,7782,6952,6890,6316,6510
1229 .value 4656,5106,4532,4214,5432,5370,5820,6014
1230 .value 14400,14722,15300,14854,16200,16010,15564,15630
1231 .value 13904,14226,13780,13334,12632,12442,13020,13086
1232 .value 9312,9634,10212,9766,9064,8874,8428,8494
1233 .value 10864,11186,10740,10294,11640,11450,12028,12094
1234 .value 28800,28994,29444,29382,30600,30282,29708,30158
1235 .value 32400,32594,32020,31958,31128,30810,31260,31710
1236 .value 27808,28002,28452,28390,27560,27242,26668,27118
1237 .value 25264,25458,24884,24822,26040,25722,26172,26622
1238 .value 18624,18690,19268,19078,20424,19978,19532,19854
1239 .value 18128,18194,17748,17558,16856,16410,16988,17310
1240 .value 21728,21794,22372,22182,21480,21034,20588,20910
1241 .value 23280,23346,22900,22710,24056,23610,24188,24510
1242 .value 57600,57538,57988,58182,58888,59338,58764,58446
1243 .value 61200,61138,60564,60758,59416,59866,60316,59998
1244 .value 64800,64738,65188,65382,64040,64490,63916,63598
1245 .value 62256,62194,61620,61814,62520,62970,63420,63102
1246 .value 55616,55426,56004,56070,56904,57226,56780,56334
1247 .value 55120,54930,54484,54550,53336,53658,54236,53790
1248 .value 50528,50338,50916,50982,49768,50090,49644,49198
1249 .value 52080,51890,51444,51510,52344,52666,53244,52798
1250 .value 37248,36930,37380,37830,38536,38730,38156,38094
1251 .value 40848,40530,39956,40406,39064,39258,39708,39646
1252 .value 36256,35938,36388,36838,35496,35690,35116,35054
1253 .value 33712,33394,32820,33270,33976,34170,34620,34558
1254 .value 43456,43010,43588,43910,44744,44810,44364,44174
1255 .value 42960,42514,42068,42390,41176,41242,41820,41630
1256 .value 46560,46114,46692,47014,45800,45866,45420,45230
1257 .value 48112,47666,47220,47542,48376,48442,49020,48830
1260 .long 0,0,0,471859200,0,943718400,0,610271232
1261 .long 0,1887436800,0,1822425088,0,1220542464,0,1423966208
1262 .long 0,3774873600,0,4246732800,0,3644850176,0,3311403008
1263 .long 0,2441084928,0,2376073216,0,2847932416,0,3051356160
1264 .byte 71,72,65,83,72,32,102,111,114,32,120,56,54,44,32,67
1265 .byte 82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112
1266 .byte 112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62
1270 .globl gcm_gmult_4bit_x86
1271 .type gcm_gmult_4bit_x86,@function
1274 .L_gcm_gmult_4bit_x86_begin:
1287 movl $471859200,20(%esp)
1288 movl $943718400,24(%esp)
1289 movl $610271232,28(%esp)
1290 movl $1887436800,32(%esp)
1291 movl $1822425088,36(%esp)
1292 movl $1220542464,40(%esp)
1293 movl $1423966208,44(%esp)
1294 movl $3774873600,48(%esp)
1295 movl $4246732800,52(%esp)
1296 movl $3644850176,56(%esp)
1297 movl $3311403008,60(%esp)
1298 movl $2441084928,64(%esp)
1299 movl $2376073216,68(%esp)
1300 movl $2847932416,72(%esp)
1301 movl $3051356160,76(%esp)
1308 movl 4(%esi,%ebx,1),%ebp
1309 movl (%esi,%ebx,1),%edx
1310 movl 12(%esi,%ebx,1),%ecx
1311 movl 8(%esi,%ebx,1),%ebx
1323 xorl 16(%esp,%eax,4),%ebp
1324 movb (%esp,%edi,1),%al
1326 xorl 8(%esi,%eax,1),%ebx
1327 xorl 12(%esi,%eax,1),%ecx
1328 xorl (%esi,%eax,1),%edx
1329 xorl 4(%esi,%eax,1),%ebp
1338 xorl 16(%esp,%eax,4),%ebp
1339 movb (%esp,%edi,1),%al
1341 xorl 8(%esi,%eax,1),%ebx
1342 xorl 12(%esi,%eax,1),%ecx
1343 xorl (%esi,%eax,1),%edx
1344 xorl 4(%esi,%eax,1),%ebp
1363 .size gcm_gmult_4bit_x86,.-.L_gcm_gmult_4bit_x86_begin
1364 .globl gcm_ghash_4bit_x86
1365 .type gcm_ghash_4bit_x86,@function
1368 .L_gcm_ghash_4bit_x86_begin:
1385 movl $471859200,20(%esp)
1386 movl $943718400,24(%esp)
1387 movl $610271232,28(%esp)
1388 movl $1887436800,32(%esp)
1389 movl $1822425088,36(%esp)
1390 movl $1220542464,40(%esp)
1391 movl $1423966208,44(%esp)
1392 movl $3774873600,48(%esp)
1393 movl $4246732800,52(%esp)
1394 movl $3644850176,56(%esp)
1395 movl $3311403008,60(%esp)
1396 movl $2441084928,64(%esp)
1397 movl $2376073216,68(%esp)
1398 movl $2847932416,72(%esp)
1399 movl $3051356160,76(%esp)
1401 .L002x86_outer_loop:
1412 movl 4(%esi,%ebx,1),%ebp
1413 movl (%esi,%ebx,1),%edx
1414 movl 12(%esi,%ebx,1),%ecx
1415 movl 8(%esi,%ebx,1),%ebx
1427 xorl 16(%esp,%eax,4),%ebp
1428 movb (%esp,%edi,1),%al
1430 xorl 8(%esi,%eax,1),%ebx
1431 xorl 12(%esi,%eax,1),%ecx
1432 xorl (%esi,%eax,1),%edx
1433 xorl 4(%esi,%eax,1),%ebp
1442 xorl 16(%esp,%eax,4),%ebp
1443 movb (%esp,%edi,1),%al
1445 xorl 8(%esi,%eax,1),%ebx
1446 xorl 12(%esi,%eax,1),%ecx
1447 xorl (%esi,%eax,1),%edx
1448 xorl 4(%esi,%eax,1),%ebp
1460 jb .L002x86_outer_loop
1472 .size gcm_ghash_4bit_x86,.-.L_gcm_ghash_4bit_x86_begin
1473 .globl gcm_gmult_4bit_mmx
1474 .type gcm_gmult_4bit_mmx,@function
1477 .L_gcm_gmult_4bit_mmx_begin:
1487 leal .Lrem_4bit-.L005pic_point(%eax),%eax
1488 movzbl 15(%edi),%ebx
1495 movq 8(%esi,%ecx,1),%mm0
1496 movq (%esi,%ecx,1),%mm1
1505 pxor 8(%esi,%edx,1),%mm0
1506 movb (%edi,%ebp,1),%cl
1508 pxor (%eax,%ebx,8),%mm1
1511 pxor (%esi,%edx,1),%mm1
1521 pxor 8(%esi,%ecx,1),%mm0
1523 pxor (%eax,%ebx,8),%mm1
1525 pxor (%esi,%ecx,1),%mm1
1536 pxor 8(%esi,%ecx,1),%mm0
1538 pxor (%eax,%ebx,8),%mm1
1540 pxor (%esi,%ecx,1),%mm1
1546 pxor 8(%esi,%edx,1),%mm0
1548 pxor (%eax,%ebx,8),%mm1
1550 pxor (%esi,%edx,1),%mm1
1571 .size gcm_gmult_4bit_mmx,.-.L_gcm_gmult_4bit_mmx_begin
1572 .globl gcm_ghash_4bit_mmx
1573 .type gcm_ghash_4bit_mmx,@function
1576 .L_gcm_ghash_4bit_mmx_begin:
1589 leal .Lrem_8bit-.L008pic_point(%esi),%esi
1600 movl -120(%ebx),%edx
1601 movq -120(%ebx),%mm0
1602 movq -128(%ebx),%mm3
1605 movl -104(%ebx),%edx
1606 movq -104(%ebx),%mm2
1607 movq -112(%ebx),%mm5
1608 movq %mm0,-128(%edi)
1620 movq %mm2,-120(%edi)
1624 movq %mm0,-128(%ebp)
1634 movq %mm1,-112(%edi)
1638 movq %mm2,-120(%ebp)
1648 movq %mm0,-104(%edi)
1652 movq %mm1,-112(%ebp)
1666 movq %mm0,-104(%ebp)
1846 movq 16(%esp,%eax,8),%mm7
1847 movq 144(%esp,%eax,8),%mm6
1854 pxor 272(%esp,%ebp,8),%mm7
1858 pxor 16(%esp,%eax,8),%mm7
1860 pxor 144(%esp,%eax,8),%mm6
1862 pxor 400(%esp,%ebp,8),%mm6
1863 xorb (%esp,%ebp,1),%bl
1871 pxor 272(%esp,%edi,8),%mm7
1875 pinsrw $2,(%esi,%ebx,2),%mm2
1876 pxor 16(%esp,%eax,8),%mm7
1878 pxor 144(%esp,%eax,8),%mm6
1880 pxor 400(%esp,%edi,8),%mm6
1881 xorb (%esp,%edi,1),%cl
1890 pxor 272(%esp,%ebp,8),%mm7
1895 pinsrw $2,(%esi,%ecx,2),%mm1
1896 pxor 16(%esp,%eax,8),%mm7
1898 pxor 144(%esp,%eax,8),%mm6
1900 pxor 400(%esp,%ebp,8),%mm6
1901 xorb (%esp,%ebp,1),%bl
1909 pxor 272(%esp,%edi,8),%mm7
1914 pinsrw $2,(%esi,%ebx,2),%mm0
1915 pxor 16(%esp,%eax,8),%mm7
1917 pxor 144(%esp,%eax,8),%mm6
1919 pxor 400(%esp,%edi,8),%mm6
1920 xorb (%esp,%edi,1),%cl
1928 pxor 272(%esp,%ebp,8),%mm7
1933 pinsrw $2,(%esi,%ecx,2),%mm2
1934 pxor 16(%esp,%eax,8),%mm7
1936 pxor 144(%esp,%eax,8),%mm6
1938 pxor 400(%esp,%ebp,8),%mm6
1939 xorb (%esp,%ebp,1),%bl
1947 pxor 272(%esp,%edi,8),%mm7
1952 pinsrw $2,(%esi,%ebx,2),%mm1
1953 pxor 16(%esp,%eax,8),%mm7
1955 pxor 144(%esp,%eax,8),%mm6
1957 pxor 400(%esp,%edi,8),%mm6
1958 xorb (%esp,%edi,1),%cl
1967 pxor 272(%esp,%ebp,8),%mm7
1972 pinsrw $2,(%esi,%ecx,2),%mm0
1973 pxor 16(%esp,%eax,8),%mm7
1975 pxor 144(%esp,%eax,8),%mm6
1977 pxor 400(%esp,%ebp,8),%mm6
1978 xorb (%esp,%ebp,1),%bl
1986 pxor 272(%esp,%edi,8),%mm7
1991 pinsrw $2,(%esi,%ebx,2),%mm2
1992 pxor 16(%esp,%eax,8),%mm7
1994 pxor 144(%esp,%eax,8),%mm6
1996 pxor 400(%esp,%edi,8),%mm6
1997 xorb (%esp,%edi,1),%cl
2005 pxor 272(%esp,%ebp,8),%mm7
2010 pinsrw $2,(%esi,%ecx,2),%mm1
2011 pxor 16(%esp,%eax,8),%mm7
2013 pxor 144(%esp,%eax,8),%mm6
2015 pxor 400(%esp,%ebp,8),%mm6
2016 xorb (%esp,%ebp,1),%bl
2024 pxor 272(%esp,%edi,8),%mm7
2029 pinsrw $2,(%esi,%ebx,2),%mm0
2030 pxor 16(%esp,%eax,8),%mm7
2032 pxor 144(%esp,%eax,8),%mm6
2034 pxor 400(%esp,%edi,8),%mm6
2035 xorb (%esp,%edi,1),%cl
2044 pxor 272(%esp,%ebp,8),%mm7
2049 pinsrw $2,(%esi,%ecx,2),%mm2
2050 pxor 16(%esp,%eax,8),%mm7
2052 pxor 144(%esp,%eax,8),%mm6
2054 pxor 400(%esp,%ebp,8),%mm6
2055 xorb (%esp,%ebp,1),%bl
2063 pxor 272(%esp,%edi,8),%mm7
2068 pinsrw $2,(%esi,%ebx,2),%mm1
2069 pxor 16(%esp,%eax,8),%mm7
2071 pxor 144(%esp,%eax,8),%mm6
2073 pxor 400(%esp,%edi,8),%mm6
2074 xorb (%esp,%edi,1),%cl
2082 pxor 272(%esp,%ebp,8),%mm7
2087 pinsrw $2,(%esi,%ecx,2),%mm0
2088 pxor 16(%esp,%eax,8),%mm7
2090 pxor 144(%esp,%eax,8),%mm6
2092 pxor 400(%esp,%ebp,8),%mm6
2093 xorb (%esp,%ebp,1),%bl
2101 pxor 272(%esp,%edi,8),%mm7
2106 pinsrw $2,(%esi,%ebx,2),%mm2
2107 pxor 16(%esp,%eax,8),%mm7
2109 pxor 144(%esp,%eax,8),%mm6
2111 pxor 400(%esp,%edi,8),%mm6
2112 xorb (%esp,%edi,1),%cl
2121 pxor 272(%esp,%ebp,8),%mm7
2126 pinsrw $2,(%esi,%ecx,2),%mm1
2127 pxor 16(%esp,%eax,8),%mm7
2128 pxor 144(%esp,%eax,8),%mm6
2129 xorb (%esp,%ebp,1),%bl
2131 pxor 400(%esp,%ebp,8),%mm6
2140 pxor 16(%esp,%edi,8),%mm7
2144 pxor 144(%esp,%edi,8),%mm6
2145 pinsrw $2,(%esi,%ebx,2),%mm0
2148 pinsrw $3,(%esi,%ecx,2),%mm2
2160 pshufw $27,%mm6,%mm6
2175 .size gcm_ghash_4bit_mmx,.-.L_gcm_ghash_4bit_mmx_begin
2176 .globl gcm_init_clmul
2177 .type gcm_init_clmul,@function
2180 .L_gcm_init_clmul_begin:
2186 leal .Lbswap-.L010pic(%ecx),%ecx
2188 pshufd $78,%xmm2,%xmm2
2189 pshufd $255,%xmm2,%xmm4
2201 pshufd $78,%xmm0,%xmm3
2202 pshufd $78,%xmm2,%xmm4
2205 .byte 102,15,58,68,194,0
2206 .byte 102,15,58,68,202,17
2207 .byte 102,15,58,68,220,0
2235 pshufd $78,%xmm2,%xmm3
2236 pshufd $78,%xmm0,%xmm4
2240 movdqu %xmm0,16(%edx)
2241 .byte 102,15,58,15,227,8
2242 movdqu %xmm4,32(%edx)
2244 .size gcm_init_clmul,.-.L_gcm_init_clmul_begin
2245 .globl gcm_gmult_clmul
2246 .type gcm_gmult_clmul,@function
2249 .L_gcm_gmult_clmul_begin:
2255 leal .Lbswap-.L011pic(%ecx),%ecx
2259 .byte 102,15,56,0,197
2260 movups 32(%edx),%xmm4
2262 pshufd $78,%xmm0,%xmm3
2264 .byte 102,15,58,68,194,0
2265 .byte 102,15,58,68,202,17
2266 .byte 102,15,58,68,220,0
2294 .byte 102,15,56,0,197
2297 .size gcm_gmult_clmul,.-.L_gcm_gmult_clmul_begin
2298 .globl gcm_ghash_clmul
2299 .type gcm_ghash_clmul,@function
2302 .L_gcm_ghash_clmul_begin:
2314 leal .Lbswap-.L012pic(%ecx),%ecx
2318 .byte 102,15,56,0,197
2322 movdqu 16(%esi),%xmm6
2323 .byte 102,15,56,0,221
2324 .byte 102,15,56,0,245
2325 movdqu 32(%edx),%xmm5
2327 pshufd $78,%xmm6,%xmm3
2331 .byte 102,15,58,68,242,0
2332 .byte 102,15,58,68,250,17
2333 .byte 102,15,58,68,221,0
2334 movups 16(%edx),%xmm2
2341 pshufd $78,%xmm0,%xmm4
2345 .byte 102,15,58,68,194,0
2346 .byte 102,15,58,68,202,17
2347 .byte 102,15,58,68,229,16
2354 movdqu 16(%esi),%xmm6
2356 .byte 102,15,56,0,253
2363 .byte 102,15,56,0,245
2372 .byte 102,15,58,68,242,0
2373 movups 32(%edx),%xmm5
2380 pshufd $78,%xmm7,%xmm3
2385 .byte 102,15,58,68,250,17
2386 movups 16(%edx),%xmm2
2392 .byte 102,15,58,68,221,0
2397 pshufd $78,%xmm0,%xmm4
2400 .byte 102,15,58,68,194,0
2401 .byte 102,15,58,68,202,17
2402 .byte 102,15,58,68,229,16
2439 .byte 102,15,56,0,221
2442 pshufd $78,%xmm0,%xmm3
2443 pshufd $78,%xmm2,%xmm4
2446 .byte 102,15,58,68,194,0
2447 .byte 102,15,58,68,202,17
2448 .byte 102,15,58,68,220,0
2477 .byte 102,15,56,0,197
2484 .size gcm_ghash_clmul,.-.L_gcm_ghash_clmul_begin
2487 .byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0
2488 .byte 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194
2491 .value 0,450,900,582,1800,1738,1164,1358
2492 .value 3600,4050,3476,3158,2328,2266,2716,2910
2493 .value 7200,7650,8100,7782,6952,6890,6316,6510
2494 .value 4656,5106,4532,4214,5432,5370,5820,6014
2495 .value 14400,14722,15300,14854,16200,16010,15564,15630
2496 .value 13904,14226,13780,13334,12632,12442,13020,13086
2497 .value 9312,9634,10212,9766,9064,8874,8428,8494
2498 .value 10864,11186,10740,10294,11640,11450,12028,12094
2499 .value 28800,28994,29444,29382,30600,30282,29708,30158
2500 .value 32400,32594,32020,31958,31128,30810,31260,31710
2501 .value 27808,28002,28452,28390,27560,27242,26668,27118
2502 .value 25264,25458,24884,24822,26040,25722,26172,26622
2503 .value 18624,18690,19268,19078,20424,19978,19532,19854
2504 .value 18128,18194,17748,17558,16856,16410,16988,17310
2505 .value 21728,21794,22372,22182,21480,21034,20588,20910
2506 .value 23280,23346,22900,22710,24056,23610,24188,24510
2507 .value 57600,57538,57988,58182,58888,59338,58764,58446
2508 .value 61200,61138,60564,60758,59416,59866,60316,59998
2509 .value 64800,64738,65188,65382,64040,64490,63916,63598
2510 .value 62256,62194,61620,61814,62520,62970,63420,63102
2511 .value 55616,55426,56004,56070,56904,57226,56780,56334
2512 .value 55120,54930,54484,54550,53336,53658,54236,53790
2513 .value 50528,50338,50916,50982,49768,50090,49644,49198
2514 .value 52080,51890,51444,51510,52344,52666,53244,52798
2515 .value 37248,36930,37380,37830,38536,38730,38156,38094
2516 .value 40848,40530,39956,40406,39064,39258,39708,39646
2517 .value 36256,35938,36388,36838,35496,35690,35116,35054
2518 .value 33712,33394,32820,33270,33976,34170,34620,34558
2519 .value 43456,43010,43588,43910,44744,44810,44364,44174
2520 .value 42960,42514,42068,42390,41176,41242,41820,41630
2521 .value 46560,46114,46692,47014,45800,45866,45420,45230
2522 .value 48112,47666,47220,47542,48376,48442,49020,48830
2525 .long 0,0,0,471859200,0,943718400,0,610271232
2526 .long 0,1887436800,0,1822425088,0,1220542464,0,1423966208
2527 .long 0,3774873600,0,4246732800,0,3644850176,0,3311403008
2528 .long 0,2441084928,0,2376073216,0,2847932416,0,3051356160
2529 .byte 71,72,65,83,72,32,102,111,114,32,120,56,54,44,32,67
2530 .byte 82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112
2531 .byte 112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62