4 .globl gcm_gmult_4bit_x86
5 .type gcm_gmult_4bit_x86,@function
8 .L_gcm_gmult_4bit_x86_begin:
21 movl $471859200,20(%esp)
22 movl $943718400,24(%esp)
23 movl $610271232,28(%esp)
24 movl $1887436800,32(%esp)
25 movl $1822425088,36(%esp)
26 movl $1220542464,40(%esp)
27 movl $1423966208,44(%esp)
28 movl $3774873600,48(%esp)
29 movl $4246732800,52(%esp)
30 movl $3644850176,56(%esp)
31 movl $3311403008,60(%esp)
32 movl $2441084928,64(%esp)
33 movl $2376073216,68(%esp)
34 movl $2847932416,72(%esp)
35 movl $3051356160,76(%esp)
42 movl 4(%esi,%ebx,1),%ebp
43 movl (%esi,%ebx,1),%edx
44 movl 12(%esi,%ebx,1),%ecx
45 movl 8(%esi,%ebx,1),%ebx
57 xorl 16(%esp,%eax,4),%ebp
58 movb (%esp,%edi,1),%al
60 xorl 8(%esi,%eax,1),%ebx
61 xorl 12(%esi,%eax,1),%ecx
62 xorl (%esi,%eax,1),%edx
63 xorl 4(%esi,%eax,1),%ebp
72 xorl 16(%esp,%eax,4),%ebp
73 movb (%esp,%edi,1),%al
75 xorl 8(%esi,%eax,1),%ebx
76 xorl 12(%esi,%eax,1),%ecx
77 xorl (%esi,%eax,1),%edx
78 xorl 4(%esi,%eax,1),%ebp
97 .size gcm_gmult_4bit_x86,.-.L_gcm_gmult_4bit_x86_begin
98 .globl gcm_ghash_4bit_x86
99 .type gcm_ghash_4bit_x86,@function
102 .L_gcm_ghash_4bit_x86_begin:
119 movl $471859200,20(%esp)
120 movl $943718400,24(%esp)
121 movl $610271232,28(%esp)
122 movl $1887436800,32(%esp)
123 movl $1822425088,36(%esp)
124 movl $1220542464,40(%esp)
125 movl $1423966208,44(%esp)
126 movl $3774873600,48(%esp)
127 movl $4246732800,52(%esp)
128 movl $3644850176,56(%esp)
129 movl $3311403008,60(%esp)
130 movl $2441084928,64(%esp)
131 movl $2376073216,68(%esp)
132 movl $2847932416,72(%esp)
133 movl $3051356160,76(%esp)
146 movl 4(%esi,%ebx,1),%ebp
147 movl (%esi,%ebx,1),%edx
148 movl 12(%esi,%ebx,1),%ecx
149 movl 8(%esi,%ebx,1),%ebx
161 xorl 16(%esp,%eax,4),%ebp
162 movb (%esp,%edi,1),%al
164 xorl 8(%esi,%eax,1),%ebx
165 xorl 12(%esi,%eax,1),%ecx
166 xorl (%esi,%eax,1),%edx
167 xorl 4(%esi,%eax,1),%ebp
176 xorl 16(%esp,%eax,4),%ebp
177 movb (%esp,%edi,1),%al
179 xorl 8(%esi,%eax,1),%ebx
180 xorl 12(%esi,%eax,1),%ecx
181 xorl (%esi,%eax,1),%edx
182 xorl 4(%esi,%eax,1),%ebp
194 jb .L002x86_outer_loop
206 .size gcm_ghash_4bit_x86,.-.L_gcm_ghash_4bit_x86_begin
207 .globl gcm_gmult_4bit_mmx
208 .type gcm_gmult_4bit_mmx,@function
211 .L_gcm_gmult_4bit_mmx_begin:
221 leal .Lrem_4bit-.L005pic_point(%eax),%eax
229 movq 8(%esi,%ecx,1),%mm0
230 movq (%esi,%ecx,1),%mm1
239 pxor 8(%esi,%edx,1),%mm0
240 movb (%edi,%ebp,1),%cl
242 pxor (%eax,%ebx,8),%mm1
245 pxor (%esi,%edx,1),%mm1
255 pxor 8(%esi,%ecx,1),%mm0
257 pxor (%eax,%ebx,8),%mm1
259 pxor (%esi,%ecx,1),%mm1
270 pxor 8(%esi,%ecx,1),%mm0
272 pxor (%eax,%ebx,8),%mm1
274 pxor (%esi,%ecx,1),%mm1
280 pxor 8(%esi,%edx,1),%mm0
282 pxor (%eax,%ebx,8),%mm1
284 pxor (%esi,%edx,1),%mm1
305 .size gcm_gmult_4bit_mmx,.-.L_gcm_gmult_4bit_mmx_begin
306 .globl gcm_ghash_4bit_mmx
307 .type gcm_ghash_4bit_mmx,@function
310 .L_gcm_ghash_4bit_mmx_begin:
323 leal .Lrem_8bit-.L008pic_point(%esi),%esi
580 movq 16(%esp,%eax,8),%mm7
581 movq 144(%esp,%eax,8),%mm6
588 pxor 272(%esp,%ebp,8),%mm7
592 pxor 16(%esp,%eax,8),%mm7
594 pxor 144(%esp,%eax,8),%mm6
596 pxor 400(%esp,%ebp,8),%mm6
597 xorb (%esp,%ebp,1),%bl
605 pxor 272(%esp,%edi,8),%mm7
609 pinsrw $2,(%esi,%ebx,2),%mm2
610 pxor 16(%esp,%eax,8),%mm7
612 pxor 144(%esp,%eax,8),%mm6
614 pxor 400(%esp,%edi,8),%mm6
615 xorb (%esp,%edi,1),%cl
624 pxor 272(%esp,%ebp,8),%mm7
629 pinsrw $2,(%esi,%ecx,2),%mm1
630 pxor 16(%esp,%eax,8),%mm7
632 pxor 144(%esp,%eax,8),%mm6
634 pxor 400(%esp,%ebp,8),%mm6
635 xorb (%esp,%ebp,1),%bl
643 pxor 272(%esp,%edi,8),%mm7
648 pinsrw $2,(%esi,%ebx,2),%mm0
649 pxor 16(%esp,%eax,8),%mm7
651 pxor 144(%esp,%eax,8),%mm6
653 pxor 400(%esp,%edi,8),%mm6
654 xorb (%esp,%edi,1),%cl
662 pxor 272(%esp,%ebp,8),%mm7
667 pinsrw $2,(%esi,%ecx,2),%mm2
668 pxor 16(%esp,%eax,8),%mm7
670 pxor 144(%esp,%eax,8),%mm6
672 pxor 400(%esp,%ebp,8),%mm6
673 xorb (%esp,%ebp,1),%bl
681 pxor 272(%esp,%edi,8),%mm7
686 pinsrw $2,(%esi,%ebx,2),%mm1
687 pxor 16(%esp,%eax,8),%mm7
689 pxor 144(%esp,%eax,8),%mm6
691 pxor 400(%esp,%edi,8),%mm6
692 xorb (%esp,%edi,1),%cl
701 pxor 272(%esp,%ebp,8),%mm7
706 pinsrw $2,(%esi,%ecx,2),%mm0
707 pxor 16(%esp,%eax,8),%mm7
709 pxor 144(%esp,%eax,8),%mm6
711 pxor 400(%esp,%ebp,8),%mm6
712 xorb (%esp,%ebp,1),%bl
720 pxor 272(%esp,%edi,8),%mm7
725 pinsrw $2,(%esi,%ebx,2),%mm2
726 pxor 16(%esp,%eax,8),%mm7
728 pxor 144(%esp,%eax,8),%mm6
730 pxor 400(%esp,%edi,8),%mm6
731 xorb (%esp,%edi,1),%cl
739 pxor 272(%esp,%ebp,8),%mm7
744 pinsrw $2,(%esi,%ecx,2),%mm1
745 pxor 16(%esp,%eax,8),%mm7
747 pxor 144(%esp,%eax,8),%mm6
749 pxor 400(%esp,%ebp,8),%mm6
750 xorb (%esp,%ebp,1),%bl
758 pxor 272(%esp,%edi,8),%mm7
763 pinsrw $2,(%esi,%ebx,2),%mm0
764 pxor 16(%esp,%eax,8),%mm7
766 pxor 144(%esp,%eax,8),%mm6
768 pxor 400(%esp,%edi,8),%mm6
769 xorb (%esp,%edi,1),%cl
778 pxor 272(%esp,%ebp,8),%mm7
783 pinsrw $2,(%esi,%ecx,2),%mm2
784 pxor 16(%esp,%eax,8),%mm7
786 pxor 144(%esp,%eax,8),%mm6
788 pxor 400(%esp,%ebp,8),%mm6
789 xorb (%esp,%ebp,1),%bl
797 pxor 272(%esp,%edi,8),%mm7
802 pinsrw $2,(%esi,%ebx,2),%mm1
803 pxor 16(%esp,%eax,8),%mm7
805 pxor 144(%esp,%eax,8),%mm6
807 pxor 400(%esp,%edi,8),%mm6
808 xorb (%esp,%edi,1),%cl
816 pxor 272(%esp,%ebp,8),%mm7
821 pinsrw $2,(%esi,%ecx,2),%mm0
822 pxor 16(%esp,%eax,8),%mm7
824 pxor 144(%esp,%eax,8),%mm6
826 pxor 400(%esp,%ebp,8),%mm6
827 xorb (%esp,%ebp,1),%bl
835 pxor 272(%esp,%edi,8),%mm7
840 pinsrw $2,(%esi,%ebx,2),%mm2
841 pxor 16(%esp,%eax,8),%mm7
843 pxor 144(%esp,%eax,8),%mm6
845 pxor 400(%esp,%edi,8),%mm6
846 xorb (%esp,%edi,1),%cl
855 pxor 272(%esp,%ebp,8),%mm7
860 pinsrw $2,(%esi,%ecx,2),%mm1
861 pxor 16(%esp,%eax,8),%mm7
862 pxor 144(%esp,%eax,8),%mm6
863 xorb (%esp,%ebp,1),%bl
865 pxor 400(%esp,%ebp,8),%mm6
874 pxor 16(%esp,%edi,8),%mm7
878 pxor 144(%esp,%edi,8),%mm6
879 pinsrw $2,(%esi,%ebx,2),%mm0
882 pinsrw $3,(%esi,%ecx,2),%mm2
909 .size gcm_ghash_4bit_mmx,.-.L_gcm_ghash_4bit_mmx_begin
910 .globl gcm_init_clmul
911 .type gcm_init_clmul,@function
914 .L_gcm_init_clmul_begin:
920 leal .Lbswap-.L010pic(%ecx),%ecx
922 pshufd $78,%xmm2,%xmm2
923 pshufd $255,%xmm2,%xmm4
935 pshufd $78,%xmm0,%xmm3
936 pshufd $78,%xmm2,%xmm4
939 .byte 102,15,58,68,194,0
940 .byte 102,15,58,68,202,17
941 .byte 102,15,58,68,220,0
969 movdqu %xmm0,16(%edx)
971 .size gcm_init_clmul,.-.L_gcm_init_clmul_begin
972 .globl gcm_gmult_clmul
973 .type gcm_gmult_clmul,@function
976 .L_gcm_gmult_clmul_begin:
982 leal .Lbswap-.L011pic(%ecx),%ecx
986 .byte 102,15,56,0,197
988 pshufd $78,%xmm0,%xmm3
989 pshufd $78,%xmm2,%xmm4
992 .byte 102,15,58,68,194,0
993 .byte 102,15,58,68,202,17
994 .byte 102,15,58,68,220,0
1021 .byte 102,15,56,0,197
1024 .size gcm_gmult_clmul,.-.L_gcm_gmult_clmul_begin
1025 .globl gcm_ghash_clmul
1026 .type gcm_ghash_clmul,@function
1029 .L_gcm_ghash_clmul_begin:
1041 leal .Lbswap-.L012pic(%ecx),%ecx
1045 .byte 102,15,56,0,197
1049 movdqu 16(%esi),%xmm6
1050 .byte 102,15,56,0,221
1051 .byte 102,15,56,0,245
1054 pshufd $78,%xmm6,%xmm3
1055 pshufd $78,%xmm2,%xmm4
1058 .byte 102,15,58,68,242,0
1059 .byte 102,15,58,68,250,17
1060 .byte 102,15,58,68,220,0
1068 movups 16(%edx),%xmm2
1074 pshufd $78,%xmm0,%xmm3
1075 pshufd $78,%xmm2,%xmm4
1078 .byte 102,15,58,68,194,0
1079 .byte 102,15,58,68,202,17
1080 .byte 102,15,58,68,220,0
1092 movdqu 16(%esi),%xmm6
1093 .byte 102,15,56,0,221
1094 .byte 102,15,56,0,245
1103 .byte 102,15,58,68,242,0
1109 pshufd $78,%xmm5,%xmm3
1112 pshufd $78,%xmm2,%xmm5
1114 .byte 102,15,58,68,250,17
1123 .byte 102,15,58,68,221,0
1124 movups 16(%edx),%xmm2
1138 pshufd $78,%xmm0,%xmm3
1139 pshufd $78,%xmm2,%xmm4
1142 .byte 102,15,58,68,194,0
1143 .byte 102,15,58,68,202,17
1144 .byte 102,15,58,68,220,0
1178 .byte 102,15,56,0,221
1181 pshufd $78,%xmm0,%xmm3
1182 pshufd $78,%xmm2,%xmm4
1185 .byte 102,15,58,68,194,0
1186 .byte 102,15,58,68,202,17
1187 .byte 102,15,58,68,220,0
1215 .byte 102,15,56,0,197
1222 .size gcm_ghash_clmul,.-.L_gcm_ghash_clmul_begin
1225 .byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0
1226 .byte 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194
1229 .long 0,0,0,471859200,0,943718400,0,610271232
1230 .long 0,1887436800,0,1822425088,0,1220542464,0,1423966208
1231 .long 0,3774873600,0,4246732800,0,3644850176,0,3311403008
1232 .long 0,2441084928,0,2376073216,0,2847932416,0,3051356160
1235 .value 0,450,900,582,1800,1738,1164,1358
1236 .value 3600,4050,3476,3158,2328,2266,2716,2910
1237 .value 7200,7650,8100,7782,6952,6890,6316,6510
1238 .value 4656,5106,4532,4214,5432,5370,5820,6014
1239 .value 14400,14722,15300,14854,16200,16010,15564,15630
1240 .value 13904,14226,13780,13334,12632,12442,13020,13086
1241 .value 9312,9634,10212,9766,9064,8874,8428,8494
1242 .value 10864,11186,10740,10294,11640,11450,12028,12094
1243 .value 28800,28994,29444,29382,30600,30282,29708,30158
1244 .value 32400,32594,32020,31958,31128,30810,31260,31710
1245 .value 27808,28002,28452,28390,27560,27242,26668,27118
1246 .value 25264,25458,24884,24822,26040,25722,26172,26622
1247 .value 18624,18690,19268,19078,20424,19978,19532,19854
1248 .value 18128,18194,17748,17558,16856,16410,16988,17310
1249 .value 21728,21794,22372,22182,21480,21034,20588,20910
1250 .value 23280,23346,22900,22710,24056,23610,24188,24510
1251 .value 57600,57538,57988,58182,58888,59338,58764,58446
1252 .value 61200,61138,60564,60758,59416,59866,60316,59998
1253 .value 64800,64738,65188,65382,64040,64490,63916,63598
1254 .value 62256,62194,61620,61814,62520,62970,63420,63102
1255 .value 55616,55426,56004,56070,56904,57226,56780,56334
1256 .value 55120,54930,54484,54550,53336,53658,54236,53790
1257 .value 50528,50338,50916,50982,49768,50090,49644,49198
1258 .value 52080,51890,51444,51510,52344,52666,53244,52798
1259 .value 37248,36930,37380,37830,38536,38730,38156,38094
1260 .value 40848,40530,39956,40406,39064,39258,39708,39646
1261 .value 36256,35938,36388,36838,35496,35690,35116,35054
1262 .value 33712,33394,32820,33270,33976,34170,34620,34558
1263 .value 43456,43010,43588,43910,44744,44810,44364,44174
1264 .value 42960,42514,42068,42390,41176,41242,41820,41630
1265 .value 46560,46114,46692,47014,45800,45866,45420,45230
1266 .value 48112,47666,47220,47542,48376,48442,49020,48830
1267 .byte 71,72,65,83,72,32,102,111,114,32,120,56,54,44,32,67
1268 .byte 82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112
1269 .byte 112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62