2 /* Do not modify. This file is auto-generated from ghash-x86.pl. */
6 .globl gcm_gmult_4bit_x86
7 .type gcm_gmult_4bit_x86,@function
10 .L_gcm_gmult_4bit_x86_begin:
23 movl $471859200,20(%esp)
24 movl $943718400,24(%esp)
25 movl $610271232,28(%esp)
26 movl $1887436800,32(%esp)
27 movl $1822425088,36(%esp)
28 movl $1220542464,40(%esp)
29 movl $1423966208,44(%esp)
30 movl $3774873600,48(%esp)
31 movl $4246732800,52(%esp)
32 movl $3644850176,56(%esp)
33 movl $3311403008,60(%esp)
34 movl $2441084928,64(%esp)
35 movl $2376073216,68(%esp)
36 movl $2847932416,72(%esp)
37 movl $3051356160,76(%esp)
44 movl 4(%esi,%ebx,1),%ebp
45 movl (%esi,%ebx,1),%edx
46 movl 12(%esi,%ebx,1),%ecx
47 movl 8(%esi,%ebx,1),%ebx
59 xorl 16(%esp,%eax,4),%ebp
60 movb (%esp,%edi,1),%al
62 xorl 8(%esi,%eax,1),%ebx
63 xorl 12(%esi,%eax,1),%ecx
64 xorl (%esi,%eax,1),%edx
65 xorl 4(%esi,%eax,1),%ebp
74 xorl 16(%esp,%eax,4),%ebp
75 movb (%esp,%edi,1),%al
77 xorl 8(%esi,%eax,1),%ebx
78 xorl 12(%esi,%eax,1),%ecx
79 xorl (%esi,%eax,1),%edx
80 xorl 4(%esi,%eax,1),%ebp
99 .size gcm_gmult_4bit_x86,.-.L_gcm_gmult_4bit_x86_begin
100 .globl 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 .type gcm_gmult_4bit_mmx,@function
213 .L_gcm_gmult_4bit_mmx_begin:
223 leal .Lrem_4bit-.L005pic_point(%eax),%eax
231 movq 8(%esi,%ecx,1),%mm0
232 movq (%esi,%ecx,1),%mm1
241 pxor 8(%esi,%edx,1),%mm0
242 movb (%edi,%ebp,1),%cl
244 pxor (%eax,%ebx,8),%mm1
247 pxor (%esi,%edx,1),%mm1
257 pxor 8(%esi,%ecx,1),%mm0
259 pxor (%eax,%ebx,8),%mm1
261 pxor (%esi,%ecx,1),%mm1
272 pxor 8(%esi,%ecx,1),%mm0
274 pxor (%eax,%ebx,8),%mm1
276 pxor (%esi,%ecx,1),%mm1
282 pxor 8(%esi,%edx,1),%mm0
284 pxor (%eax,%ebx,8),%mm1
286 pxor (%esi,%edx,1),%mm1
307 .size gcm_gmult_4bit_mmx,.-.L_gcm_gmult_4bit_mmx_begin
308 .globl gcm_ghash_4bit_mmx
309 .type gcm_ghash_4bit_mmx,@function
312 .L_gcm_ghash_4bit_mmx_begin:
325 leal .Lrem_8bit-.L008pic_point(%esi),%esi
582 movq 16(%esp,%eax,8),%mm7
583 movq 144(%esp,%eax,8),%mm6
590 pxor 272(%esp,%ebp,8),%mm7
594 pxor 16(%esp,%eax,8),%mm7
596 pxor 144(%esp,%eax,8),%mm6
598 pxor 400(%esp,%ebp,8),%mm6
599 xorb (%esp,%ebp,1),%bl
607 pxor 272(%esp,%edi,8),%mm7
611 pinsrw $2,(%esi,%ebx,2),%mm2
612 pxor 16(%esp,%eax,8),%mm7
614 pxor 144(%esp,%eax,8),%mm6
616 pxor 400(%esp,%edi,8),%mm6
617 xorb (%esp,%edi,1),%cl
626 pxor 272(%esp,%ebp,8),%mm7
631 pinsrw $2,(%esi,%ecx,2),%mm1
632 pxor 16(%esp,%eax,8),%mm7
634 pxor 144(%esp,%eax,8),%mm6
636 pxor 400(%esp,%ebp,8),%mm6
637 xorb (%esp,%ebp,1),%bl
645 pxor 272(%esp,%edi,8),%mm7
650 pinsrw $2,(%esi,%ebx,2),%mm0
651 pxor 16(%esp,%eax,8),%mm7
653 pxor 144(%esp,%eax,8),%mm6
655 pxor 400(%esp,%edi,8),%mm6
656 xorb (%esp,%edi,1),%cl
664 pxor 272(%esp,%ebp,8),%mm7
669 pinsrw $2,(%esi,%ecx,2),%mm2
670 pxor 16(%esp,%eax,8),%mm7
672 pxor 144(%esp,%eax,8),%mm6
674 pxor 400(%esp,%ebp,8),%mm6
675 xorb (%esp,%ebp,1),%bl
683 pxor 272(%esp,%edi,8),%mm7
688 pinsrw $2,(%esi,%ebx,2),%mm1
689 pxor 16(%esp,%eax,8),%mm7
691 pxor 144(%esp,%eax,8),%mm6
693 pxor 400(%esp,%edi,8),%mm6
694 xorb (%esp,%edi,1),%cl
703 pxor 272(%esp,%ebp,8),%mm7
708 pinsrw $2,(%esi,%ecx,2),%mm0
709 pxor 16(%esp,%eax,8),%mm7
711 pxor 144(%esp,%eax,8),%mm6
713 pxor 400(%esp,%ebp,8),%mm6
714 xorb (%esp,%ebp,1),%bl
722 pxor 272(%esp,%edi,8),%mm7
727 pinsrw $2,(%esi,%ebx,2),%mm2
728 pxor 16(%esp,%eax,8),%mm7
730 pxor 144(%esp,%eax,8),%mm6
732 pxor 400(%esp,%edi,8),%mm6
733 xorb (%esp,%edi,1),%cl
741 pxor 272(%esp,%ebp,8),%mm7
746 pinsrw $2,(%esi,%ecx,2),%mm1
747 pxor 16(%esp,%eax,8),%mm7
749 pxor 144(%esp,%eax,8),%mm6
751 pxor 400(%esp,%ebp,8),%mm6
752 xorb (%esp,%ebp,1),%bl
760 pxor 272(%esp,%edi,8),%mm7
765 pinsrw $2,(%esi,%ebx,2),%mm0
766 pxor 16(%esp,%eax,8),%mm7
768 pxor 144(%esp,%eax,8),%mm6
770 pxor 400(%esp,%edi,8),%mm6
771 xorb (%esp,%edi,1),%cl
780 pxor 272(%esp,%ebp,8),%mm7
785 pinsrw $2,(%esi,%ecx,2),%mm2
786 pxor 16(%esp,%eax,8),%mm7
788 pxor 144(%esp,%eax,8),%mm6
790 pxor 400(%esp,%ebp,8),%mm6
791 xorb (%esp,%ebp,1),%bl
799 pxor 272(%esp,%edi,8),%mm7
804 pinsrw $2,(%esi,%ebx,2),%mm1
805 pxor 16(%esp,%eax,8),%mm7
807 pxor 144(%esp,%eax,8),%mm6
809 pxor 400(%esp,%edi,8),%mm6
810 xorb (%esp,%edi,1),%cl
818 pxor 272(%esp,%ebp,8),%mm7
823 pinsrw $2,(%esi,%ecx,2),%mm0
824 pxor 16(%esp,%eax,8),%mm7
826 pxor 144(%esp,%eax,8),%mm6
828 pxor 400(%esp,%ebp,8),%mm6
829 xorb (%esp,%ebp,1),%bl
837 pxor 272(%esp,%edi,8),%mm7
842 pinsrw $2,(%esi,%ebx,2),%mm2
843 pxor 16(%esp,%eax,8),%mm7
845 pxor 144(%esp,%eax,8),%mm6
847 pxor 400(%esp,%edi,8),%mm6
848 xorb (%esp,%edi,1),%cl
857 pxor 272(%esp,%ebp,8),%mm7
862 pinsrw $2,(%esi,%ecx,2),%mm1
863 pxor 16(%esp,%eax,8),%mm7
864 pxor 144(%esp,%eax,8),%mm6
865 xorb (%esp,%ebp,1),%bl
867 pxor 400(%esp,%ebp,8),%mm6
876 pxor 16(%esp,%edi,8),%mm7
880 pxor 144(%esp,%edi,8),%mm6
881 pinsrw $2,(%esi,%ebx,2),%mm0
884 pinsrw $3,(%esi,%ecx,2),%mm2
911 .size gcm_ghash_4bit_mmx,.-.L_gcm_ghash_4bit_mmx_begin
912 .globl gcm_init_clmul
913 .type gcm_init_clmul,@function
916 .L_gcm_init_clmul_begin:
922 leal .Lbswap-.L010pic(%ecx),%ecx
924 pshufd $78,%xmm2,%xmm2
925 pshufd $255,%xmm2,%xmm4
937 pshufd $78,%xmm0,%xmm3
938 pshufd $78,%xmm2,%xmm4
941 .byte 102,15,58,68,194,0
942 .byte 102,15,58,68,202,17
943 .byte 102,15,58,68,220,0
971 pshufd $78,%xmm2,%xmm3
972 pshufd $78,%xmm0,%xmm4
976 movdqu %xmm0,16(%edx)
977 .byte 102,15,58,15,227,8
978 movdqu %xmm4,32(%edx)
980 .size gcm_init_clmul,.-.L_gcm_init_clmul_begin
981 .globl gcm_gmult_clmul
982 .type gcm_gmult_clmul,@function
985 .L_gcm_gmult_clmul_begin:
991 leal .Lbswap-.L011pic(%ecx),%ecx
995 .byte 102,15,56,0,197
996 movups 32(%edx),%xmm4
998 pshufd $78,%xmm0,%xmm3
1000 .byte 102,15,58,68,194,0
1001 .byte 102,15,58,68,202,17
1002 .byte 102,15,58,68,220,0
1030 .byte 102,15,56,0,197
1033 .size gcm_gmult_clmul,.-.L_gcm_gmult_clmul_begin
1034 .globl gcm_ghash_clmul
1035 .type gcm_ghash_clmul,@function
1038 .L_gcm_ghash_clmul_begin:
1050 leal .Lbswap-.L012pic(%ecx),%ecx
1054 .byte 102,15,56,0,197
1058 movdqu 16(%esi),%xmm6
1059 .byte 102,15,56,0,221
1060 .byte 102,15,56,0,245
1061 movdqu 32(%edx),%xmm5
1063 pshufd $78,%xmm6,%xmm3
1067 .byte 102,15,58,68,242,0
1068 .byte 102,15,58,68,250,17
1069 .byte 102,15,58,68,221,0
1070 movups 16(%edx),%xmm2
1077 pshufd $78,%xmm0,%xmm4
1081 .byte 102,15,58,68,194,0
1082 .byte 102,15,58,68,202,17
1083 .byte 102,15,58,68,229,16
1090 movdqu 16(%esi),%xmm6
1092 .byte 102,15,56,0,253
1099 .byte 102,15,56,0,245
1108 .byte 102,15,58,68,242,0
1109 movups 32(%edx),%xmm5
1116 pshufd $78,%xmm7,%xmm3
1121 .byte 102,15,58,68,250,17
1122 movups 16(%edx),%xmm2
1128 .byte 102,15,58,68,221,0
1133 pshufd $78,%xmm0,%xmm4
1136 .byte 102,15,58,68,194,0
1137 .byte 102,15,58,68,202,17
1138 .byte 102,15,58,68,229,16
1175 .byte 102,15,56,0,221
1178 pshufd $78,%xmm0,%xmm3
1179 pshufd $78,%xmm2,%xmm4
1182 .byte 102,15,58,68,194,0
1183 .byte 102,15,58,68,202,17
1184 .byte 102,15,58,68,220,0
1213 .byte 102,15,56,0,197
1220 .size gcm_ghash_clmul,.-.L_gcm_ghash_clmul_begin
1223 .byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0
1224 .byte 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194
1227 .value 0,450,900,582,1800,1738,1164,1358
1228 .value 3600,4050,3476,3158,2328,2266,2716,2910
1229 .value 7200,7650,8100,7782,6952,6890,6316,6510
1230 .value 4656,5106,4532,4214,5432,5370,5820,6014
1231 .value 14400,14722,15300,14854,16200,16010,15564,15630
1232 .value 13904,14226,13780,13334,12632,12442,13020,13086
1233 .value 9312,9634,10212,9766,9064,8874,8428,8494
1234 .value 10864,11186,10740,10294,11640,11450,12028,12094
1235 .value 28800,28994,29444,29382,30600,30282,29708,30158
1236 .value 32400,32594,32020,31958,31128,30810,31260,31710
1237 .value 27808,28002,28452,28390,27560,27242,26668,27118
1238 .value 25264,25458,24884,24822,26040,25722,26172,26622
1239 .value 18624,18690,19268,19078,20424,19978,19532,19854
1240 .value 18128,18194,17748,17558,16856,16410,16988,17310
1241 .value 21728,21794,22372,22182,21480,21034,20588,20910
1242 .value 23280,23346,22900,22710,24056,23610,24188,24510
1243 .value 57600,57538,57988,58182,58888,59338,58764,58446
1244 .value 61200,61138,60564,60758,59416,59866,60316,59998
1245 .value 64800,64738,65188,65382,64040,64490,63916,63598
1246 .value 62256,62194,61620,61814,62520,62970,63420,63102
1247 .value 55616,55426,56004,56070,56904,57226,56780,56334
1248 .value 55120,54930,54484,54550,53336,53658,54236,53790
1249 .value 50528,50338,50916,50982,49768,50090,49644,49198
1250 .value 52080,51890,51444,51510,52344,52666,53244,52798
1251 .value 37248,36930,37380,37830,38536,38730,38156,38094
1252 .value 40848,40530,39956,40406,39064,39258,39708,39646
1253 .value 36256,35938,36388,36838,35496,35690,35116,35054
1254 .value 33712,33394,32820,33270,33976,34170,34620,34558
1255 .value 43456,43010,43588,43910,44744,44810,44364,44174
1256 .value 42960,42514,42068,42390,41176,41242,41820,41630
1257 .value 46560,46114,46692,47014,45800,45866,45420,45230
1258 .value 48112,47666,47220,47542,48376,48442,49020,48830
1261 .long 0,0,0,471859200,0,943718400,0,610271232
1262 .long 0,1887436800,0,1822425088,0,1220542464,0,1423966208
1263 .long 0,3774873600,0,4246732800,0,3644850176,0,3311403008
1264 .long 0,2441084928,0,2376073216,0,2847932416,0,3051356160
1265 .byte 71,72,65,83,72,32,102,111,114,32,120,56,54,44,32,67
1266 .byte 82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112
1267 .byte 112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62
1272 .globl gcm_gmult_4bit_x86
1273 .type gcm_gmult_4bit_x86,@function
1276 .L_gcm_gmult_4bit_x86_begin:
1289 movl $471859200,20(%esp)
1290 movl $943718400,24(%esp)
1291 movl $610271232,28(%esp)
1292 movl $1887436800,32(%esp)
1293 movl $1822425088,36(%esp)
1294 movl $1220542464,40(%esp)
1295 movl $1423966208,44(%esp)
1296 movl $3774873600,48(%esp)
1297 movl $4246732800,52(%esp)
1298 movl $3644850176,56(%esp)
1299 movl $3311403008,60(%esp)
1300 movl $2441084928,64(%esp)
1301 movl $2376073216,68(%esp)
1302 movl $2847932416,72(%esp)
1303 movl $3051356160,76(%esp)
1310 movl 4(%esi,%ebx,1),%ebp
1311 movl (%esi,%ebx,1),%edx
1312 movl 12(%esi,%ebx,1),%ecx
1313 movl 8(%esi,%ebx,1),%ebx
1325 xorl 16(%esp,%eax,4),%ebp
1326 movb (%esp,%edi,1),%al
1328 xorl 8(%esi,%eax,1),%ebx
1329 xorl 12(%esi,%eax,1),%ecx
1330 xorl (%esi,%eax,1),%edx
1331 xorl 4(%esi,%eax,1),%ebp
1340 xorl 16(%esp,%eax,4),%ebp
1341 movb (%esp,%edi,1),%al
1343 xorl 8(%esi,%eax,1),%ebx
1344 xorl 12(%esi,%eax,1),%ecx
1345 xorl (%esi,%eax,1),%edx
1346 xorl 4(%esi,%eax,1),%ebp
1365 .size gcm_gmult_4bit_x86,.-.L_gcm_gmult_4bit_x86_begin
1366 .globl gcm_ghash_4bit_x86
1367 .type gcm_ghash_4bit_x86,@function
1370 .L_gcm_ghash_4bit_x86_begin:
1387 movl $471859200,20(%esp)
1388 movl $943718400,24(%esp)
1389 movl $610271232,28(%esp)
1390 movl $1887436800,32(%esp)
1391 movl $1822425088,36(%esp)
1392 movl $1220542464,40(%esp)
1393 movl $1423966208,44(%esp)
1394 movl $3774873600,48(%esp)
1395 movl $4246732800,52(%esp)
1396 movl $3644850176,56(%esp)
1397 movl $3311403008,60(%esp)
1398 movl $2441084928,64(%esp)
1399 movl $2376073216,68(%esp)
1400 movl $2847932416,72(%esp)
1401 movl $3051356160,76(%esp)
1403 .L002x86_outer_loop:
1414 movl 4(%esi,%ebx,1),%ebp
1415 movl (%esi,%ebx,1),%edx
1416 movl 12(%esi,%ebx,1),%ecx
1417 movl 8(%esi,%ebx,1),%ebx
1429 xorl 16(%esp,%eax,4),%ebp
1430 movb (%esp,%edi,1),%al
1432 xorl 8(%esi,%eax,1),%ebx
1433 xorl 12(%esi,%eax,1),%ecx
1434 xorl (%esi,%eax,1),%edx
1435 xorl 4(%esi,%eax,1),%ebp
1444 xorl 16(%esp,%eax,4),%ebp
1445 movb (%esp,%edi,1),%al
1447 xorl 8(%esi,%eax,1),%ebx
1448 xorl 12(%esi,%eax,1),%ecx
1449 xorl (%esi,%eax,1),%edx
1450 xorl 4(%esi,%eax,1),%ebp
1462 jb .L002x86_outer_loop
1474 .size gcm_ghash_4bit_x86,.-.L_gcm_ghash_4bit_x86_begin
1475 .globl gcm_gmult_4bit_mmx
1476 .type gcm_gmult_4bit_mmx,@function
1479 .L_gcm_gmult_4bit_mmx_begin:
1489 leal .Lrem_4bit-.L005pic_point(%eax),%eax
1490 movzbl 15(%edi),%ebx
1497 movq 8(%esi,%ecx,1),%mm0
1498 movq (%esi,%ecx,1),%mm1
1507 pxor 8(%esi,%edx,1),%mm0
1508 movb (%edi,%ebp,1),%cl
1510 pxor (%eax,%ebx,8),%mm1
1513 pxor (%esi,%edx,1),%mm1
1523 pxor 8(%esi,%ecx,1),%mm0
1525 pxor (%eax,%ebx,8),%mm1
1527 pxor (%esi,%ecx,1),%mm1
1538 pxor 8(%esi,%ecx,1),%mm0
1540 pxor (%eax,%ebx,8),%mm1
1542 pxor (%esi,%ecx,1),%mm1
1548 pxor 8(%esi,%edx,1),%mm0
1550 pxor (%eax,%ebx,8),%mm1
1552 pxor (%esi,%edx,1),%mm1
1573 .size gcm_gmult_4bit_mmx,.-.L_gcm_gmult_4bit_mmx_begin
1574 .globl gcm_ghash_4bit_mmx
1575 .type gcm_ghash_4bit_mmx,@function
1578 .L_gcm_ghash_4bit_mmx_begin:
1591 leal .Lrem_8bit-.L008pic_point(%esi),%esi
1602 movl -120(%ebx),%edx
1603 movq -120(%ebx),%mm0
1604 movq -128(%ebx),%mm3
1607 movl -104(%ebx),%edx
1608 movq -104(%ebx),%mm2
1609 movq -112(%ebx),%mm5
1610 movq %mm0,-128(%edi)
1622 movq %mm2,-120(%edi)
1626 movq %mm0,-128(%ebp)
1636 movq %mm1,-112(%edi)
1640 movq %mm2,-120(%ebp)
1650 movq %mm0,-104(%edi)
1654 movq %mm1,-112(%ebp)
1668 movq %mm0,-104(%ebp)
1848 movq 16(%esp,%eax,8),%mm7
1849 movq 144(%esp,%eax,8),%mm6
1856 pxor 272(%esp,%ebp,8),%mm7
1860 pxor 16(%esp,%eax,8),%mm7
1862 pxor 144(%esp,%eax,8),%mm6
1864 pxor 400(%esp,%ebp,8),%mm6
1865 xorb (%esp,%ebp,1),%bl
1873 pxor 272(%esp,%edi,8),%mm7
1877 pinsrw $2,(%esi,%ebx,2),%mm2
1878 pxor 16(%esp,%eax,8),%mm7
1880 pxor 144(%esp,%eax,8),%mm6
1882 pxor 400(%esp,%edi,8),%mm6
1883 xorb (%esp,%edi,1),%cl
1892 pxor 272(%esp,%ebp,8),%mm7
1897 pinsrw $2,(%esi,%ecx,2),%mm1
1898 pxor 16(%esp,%eax,8),%mm7
1900 pxor 144(%esp,%eax,8),%mm6
1902 pxor 400(%esp,%ebp,8),%mm6
1903 xorb (%esp,%ebp,1),%bl
1911 pxor 272(%esp,%edi,8),%mm7
1916 pinsrw $2,(%esi,%ebx,2),%mm0
1917 pxor 16(%esp,%eax,8),%mm7
1919 pxor 144(%esp,%eax,8),%mm6
1921 pxor 400(%esp,%edi,8),%mm6
1922 xorb (%esp,%edi,1),%cl
1930 pxor 272(%esp,%ebp,8),%mm7
1935 pinsrw $2,(%esi,%ecx,2),%mm2
1936 pxor 16(%esp,%eax,8),%mm7
1938 pxor 144(%esp,%eax,8),%mm6
1940 pxor 400(%esp,%ebp,8),%mm6
1941 xorb (%esp,%ebp,1),%bl
1949 pxor 272(%esp,%edi,8),%mm7
1954 pinsrw $2,(%esi,%ebx,2),%mm1
1955 pxor 16(%esp,%eax,8),%mm7
1957 pxor 144(%esp,%eax,8),%mm6
1959 pxor 400(%esp,%edi,8),%mm6
1960 xorb (%esp,%edi,1),%cl
1969 pxor 272(%esp,%ebp,8),%mm7
1974 pinsrw $2,(%esi,%ecx,2),%mm0
1975 pxor 16(%esp,%eax,8),%mm7
1977 pxor 144(%esp,%eax,8),%mm6
1979 pxor 400(%esp,%ebp,8),%mm6
1980 xorb (%esp,%ebp,1),%bl
1988 pxor 272(%esp,%edi,8),%mm7
1993 pinsrw $2,(%esi,%ebx,2),%mm2
1994 pxor 16(%esp,%eax,8),%mm7
1996 pxor 144(%esp,%eax,8),%mm6
1998 pxor 400(%esp,%edi,8),%mm6
1999 xorb (%esp,%edi,1),%cl
2007 pxor 272(%esp,%ebp,8),%mm7
2012 pinsrw $2,(%esi,%ecx,2),%mm1
2013 pxor 16(%esp,%eax,8),%mm7
2015 pxor 144(%esp,%eax,8),%mm6
2017 pxor 400(%esp,%ebp,8),%mm6
2018 xorb (%esp,%ebp,1),%bl
2026 pxor 272(%esp,%edi,8),%mm7
2031 pinsrw $2,(%esi,%ebx,2),%mm0
2032 pxor 16(%esp,%eax,8),%mm7
2034 pxor 144(%esp,%eax,8),%mm6
2036 pxor 400(%esp,%edi,8),%mm6
2037 xorb (%esp,%edi,1),%cl
2046 pxor 272(%esp,%ebp,8),%mm7
2051 pinsrw $2,(%esi,%ecx,2),%mm2
2052 pxor 16(%esp,%eax,8),%mm7
2054 pxor 144(%esp,%eax,8),%mm6
2056 pxor 400(%esp,%ebp,8),%mm6
2057 xorb (%esp,%ebp,1),%bl
2065 pxor 272(%esp,%edi,8),%mm7
2070 pinsrw $2,(%esi,%ebx,2),%mm1
2071 pxor 16(%esp,%eax,8),%mm7
2073 pxor 144(%esp,%eax,8),%mm6
2075 pxor 400(%esp,%edi,8),%mm6
2076 xorb (%esp,%edi,1),%cl
2084 pxor 272(%esp,%ebp,8),%mm7
2089 pinsrw $2,(%esi,%ecx,2),%mm0
2090 pxor 16(%esp,%eax,8),%mm7
2092 pxor 144(%esp,%eax,8),%mm6
2094 pxor 400(%esp,%ebp,8),%mm6
2095 xorb (%esp,%ebp,1),%bl
2103 pxor 272(%esp,%edi,8),%mm7
2108 pinsrw $2,(%esi,%ebx,2),%mm2
2109 pxor 16(%esp,%eax,8),%mm7
2111 pxor 144(%esp,%eax,8),%mm6
2113 pxor 400(%esp,%edi,8),%mm6
2114 xorb (%esp,%edi,1),%cl
2123 pxor 272(%esp,%ebp,8),%mm7
2128 pinsrw $2,(%esi,%ecx,2),%mm1
2129 pxor 16(%esp,%eax,8),%mm7
2130 pxor 144(%esp,%eax,8),%mm6
2131 xorb (%esp,%ebp,1),%bl
2133 pxor 400(%esp,%ebp,8),%mm6
2142 pxor 16(%esp,%edi,8),%mm7
2146 pxor 144(%esp,%edi,8),%mm6
2147 pinsrw $2,(%esi,%ebx,2),%mm0
2150 pinsrw $3,(%esi,%ecx,2),%mm2
2162 pshufw $27,%mm6,%mm6
2177 .size gcm_ghash_4bit_mmx,.-.L_gcm_ghash_4bit_mmx_begin
2178 .globl gcm_init_clmul
2179 .type gcm_init_clmul,@function
2182 .L_gcm_init_clmul_begin:
2188 leal .Lbswap-.L010pic(%ecx),%ecx
2190 pshufd $78,%xmm2,%xmm2
2191 pshufd $255,%xmm2,%xmm4
2203 pshufd $78,%xmm0,%xmm3
2204 pshufd $78,%xmm2,%xmm4
2207 .byte 102,15,58,68,194,0
2208 .byte 102,15,58,68,202,17
2209 .byte 102,15,58,68,220,0
2237 pshufd $78,%xmm2,%xmm3
2238 pshufd $78,%xmm0,%xmm4
2242 movdqu %xmm0,16(%edx)
2243 .byte 102,15,58,15,227,8
2244 movdqu %xmm4,32(%edx)
2246 .size gcm_init_clmul,.-.L_gcm_init_clmul_begin
2247 .globl gcm_gmult_clmul
2248 .type gcm_gmult_clmul,@function
2251 .L_gcm_gmult_clmul_begin:
2257 leal .Lbswap-.L011pic(%ecx),%ecx
2261 .byte 102,15,56,0,197
2262 movups 32(%edx),%xmm4
2264 pshufd $78,%xmm0,%xmm3
2266 .byte 102,15,58,68,194,0
2267 .byte 102,15,58,68,202,17
2268 .byte 102,15,58,68,220,0
2296 .byte 102,15,56,0,197
2299 .size gcm_gmult_clmul,.-.L_gcm_gmult_clmul_begin
2300 .globl gcm_ghash_clmul
2301 .type gcm_ghash_clmul,@function
2304 .L_gcm_ghash_clmul_begin:
2316 leal .Lbswap-.L012pic(%ecx),%ecx
2320 .byte 102,15,56,0,197
2324 movdqu 16(%esi),%xmm6
2325 .byte 102,15,56,0,221
2326 .byte 102,15,56,0,245
2327 movdqu 32(%edx),%xmm5
2329 pshufd $78,%xmm6,%xmm3
2333 .byte 102,15,58,68,242,0
2334 .byte 102,15,58,68,250,17
2335 .byte 102,15,58,68,221,0
2336 movups 16(%edx),%xmm2
2343 pshufd $78,%xmm0,%xmm4
2347 .byte 102,15,58,68,194,0
2348 .byte 102,15,58,68,202,17
2349 .byte 102,15,58,68,229,16
2356 movdqu 16(%esi),%xmm6
2358 .byte 102,15,56,0,253
2365 .byte 102,15,56,0,245
2374 .byte 102,15,58,68,242,0
2375 movups 32(%edx),%xmm5
2382 pshufd $78,%xmm7,%xmm3
2387 .byte 102,15,58,68,250,17
2388 movups 16(%edx),%xmm2
2394 .byte 102,15,58,68,221,0
2399 pshufd $78,%xmm0,%xmm4
2402 .byte 102,15,58,68,194,0
2403 .byte 102,15,58,68,202,17
2404 .byte 102,15,58,68,229,16
2441 .byte 102,15,56,0,221
2444 pshufd $78,%xmm0,%xmm3
2445 pshufd $78,%xmm2,%xmm4
2448 .byte 102,15,58,68,194,0
2449 .byte 102,15,58,68,202,17
2450 .byte 102,15,58,68,220,0
2479 .byte 102,15,56,0,197
2486 .size gcm_ghash_clmul,.-.L_gcm_ghash_clmul_begin
2489 .byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0
2490 .byte 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194
2493 .value 0,450,900,582,1800,1738,1164,1358
2494 .value 3600,4050,3476,3158,2328,2266,2716,2910
2495 .value 7200,7650,8100,7782,6952,6890,6316,6510
2496 .value 4656,5106,4532,4214,5432,5370,5820,6014
2497 .value 14400,14722,15300,14854,16200,16010,15564,15630
2498 .value 13904,14226,13780,13334,12632,12442,13020,13086
2499 .value 9312,9634,10212,9766,9064,8874,8428,8494
2500 .value 10864,11186,10740,10294,11640,11450,12028,12094
2501 .value 28800,28994,29444,29382,30600,30282,29708,30158
2502 .value 32400,32594,32020,31958,31128,30810,31260,31710
2503 .value 27808,28002,28452,28390,27560,27242,26668,27118
2504 .value 25264,25458,24884,24822,26040,25722,26172,26622
2505 .value 18624,18690,19268,19078,20424,19978,19532,19854
2506 .value 18128,18194,17748,17558,16856,16410,16988,17310
2507 .value 21728,21794,22372,22182,21480,21034,20588,20910
2508 .value 23280,23346,22900,22710,24056,23610,24188,24510
2509 .value 57600,57538,57988,58182,58888,59338,58764,58446
2510 .value 61200,61138,60564,60758,59416,59866,60316,59998
2511 .value 64800,64738,65188,65382,64040,64490,63916,63598
2512 .value 62256,62194,61620,61814,62520,62970,63420,63102
2513 .value 55616,55426,56004,56070,56904,57226,56780,56334
2514 .value 55120,54930,54484,54550,53336,53658,54236,53790
2515 .value 50528,50338,50916,50982,49768,50090,49644,49198
2516 .value 52080,51890,51444,51510,52344,52666,53244,52798
2517 .value 37248,36930,37380,37830,38536,38730,38156,38094
2518 .value 40848,40530,39956,40406,39064,39258,39708,39646
2519 .value 36256,35938,36388,36838,35496,35690,35116,35054
2520 .value 33712,33394,32820,33270,33976,34170,34620,34558
2521 .value 43456,43010,43588,43910,44744,44810,44364,44174
2522 .value 42960,42514,42068,42390,41176,41242,41820,41630
2523 .value 46560,46114,46692,47014,45800,45866,45420,45230
2524 .value 48112,47666,47220,47542,48376,48442,49020,48830
2527 .long 0,0,0,471859200,0,943718400,0,610271232
2528 .long 0,1887436800,0,1822425088,0,1220542464,0,1423966208
2529 .long 0,3774873600,0,4246732800,0,3644850176,0,3311403008
2530 .long 0,2441084928,0,2376073216,0,2847932416,0,3051356160
2531 .byte 71,72,65,83,72,32,102,111,114,32,120,56,54,44,32,67
2532 .byte 82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112
2533 .byte 112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62