1ebfedea0SLionel Sambuc#include <machine/asm.h> 2ebfedea0SLionel Sambuc.text 3ebfedea0SLionel Sambuc.globl gcm_gmult_4bit_x86 4ebfedea0SLionel Sambuc.type gcm_gmult_4bit_x86,@function 5ebfedea0SLionel Sambuc.align 16 6ebfedea0SLionel Sambucgcm_gmult_4bit_x86: 7ebfedea0SLionel Sambuc.L_gcm_gmult_4bit_x86_begin: 8ebfedea0SLionel Sambuc pushl %ebp 9ebfedea0SLionel Sambuc pushl %ebx 10ebfedea0SLionel Sambuc pushl %esi 11ebfedea0SLionel Sambuc pushl %edi 12ebfedea0SLionel Sambuc subl $84,%esp 13ebfedea0SLionel Sambuc movl 104(%esp),%edi 14ebfedea0SLionel Sambuc movl 108(%esp),%esi 15ebfedea0SLionel Sambuc movl (%edi),%ebp 16ebfedea0SLionel Sambuc movl 4(%edi),%edx 17ebfedea0SLionel Sambuc movl 8(%edi),%ecx 18ebfedea0SLionel Sambuc movl 12(%edi),%ebx 19ebfedea0SLionel Sambuc movl $0,16(%esp) 20ebfedea0SLionel Sambuc movl $471859200,20(%esp) 21ebfedea0SLionel Sambuc movl $943718400,24(%esp) 22ebfedea0SLionel Sambuc movl $610271232,28(%esp) 23ebfedea0SLionel Sambuc movl $1887436800,32(%esp) 24ebfedea0SLionel Sambuc movl $1822425088,36(%esp) 25ebfedea0SLionel Sambuc movl $1220542464,40(%esp) 26ebfedea0SLionel Sambuc movl $1423966208,44(%esp) 27ebfedea0SLionel Sambuc movl $3774873600,48(%esp) 28ebfedea0SLionel Sambuc movl $4246732800,52(%esp) 29ebfedea0SLionel Sambuc movl $3644850176,56(%esp) 30ebfedea0SLionel Sambuc movl $3311403008,60(%esp) 31ebfedea0SLionel Sambuc movl $2441084928,64(%esp) 32ebfedea0SLionel Sambuc movl $2376073216,68(%esp) 33ebfedea0SLionel Sambuc movl $2847932416,72(%esp) 34ebfedea0SLionel Sambuc movl $3051356160,76(%esp) 35ebfedea0SLionel Sambuc movl %ebp,(%esp) 36ebfedea0SLionel Sambuc movl %edx,4(%esp) 37ebfedea0SLionel Sambuc movl %ecx,8(%esp) 38ebfedea0SLionel Sambuc movl %ebx,12(%esp) 39ebfedea0SLionel Sambuc shrl $20,%ebx 40ebfedea0SLionel Sambuc andl $240,%ebx 41ebfedea0SLionel Sambuc movl 4(%esi,%ebx,1),%ebp 42ebfedea0SLionel Sambuc movl (%esi,%ebx,1),%edx 43ebfedea0SLionel Sambuc movl 12(%esi,%ebx,1),%ecx 44ebfedea0SLionel Sambuc movl 8(%esi,%ebx,1),%ebx 45ebfedea0SLionel Sambuc xorl %eax,%eax 46ebfedea0SLionel Sambuc movl $15,%edi 47ebfedea0SLionel Sambuc jmp .L000x86_loop 48ebfedea0SLionel Sambuc.align 16 49ebfedea0SLionel Sambuc.L000x86_loop: 50ebfedea0SLionel Sambuc movb %bl,%al 51ebfedea0SLionel Sambuc shrdl $4,%ecx,%ebx 52ebfedea0SLionel Sambuc andb $15,%al 53ebfedea0SLionel Sambuc shrdl $4,%edx,%ecx 54ebfedea0SLionel Sambuc shrdl $4,%ebp,%edx 55ebfedea0SLionel Sambuc shrl $4,%ebp 56ebfedea0SLionel Sambuc xorl 16(%esp,%eax,4),%ebp 57ebfedea0SLionel Sambuc movb (%esp,%edi,1),%al 58ebfedea0SLionel Sambuc andb $240,%al 59ebfedea0SLionel Sambuc xorl 8(%esi,%eax,1),%ebx 60ebfedea0SLionel Sambuc xorl 12(%esi,%eax,1),%ecx 61ebfedea0SLionel Sambuc xorl (%esi,%eax,1),%edx 62ebfedea0SLionel Sambuc xorl 4(%esi,%eax,1),%ebp 63ebfedea0SLionel Sambuc decl %edi 64ebfedea0SLionel Sambuc js .L001x86_break 65ebfedea0SLionel Sambuc movb %bl,%al 66ebfedea0SLionel Sambuc shrdl $4,%ecx,%ebx 67ebfedea0SLionel Sambuc andb $15,%al 68ebfedea0SLionel Sambuc shrdl $4,%edx,%ecx 69ebfedea0SLionel Sambuc shrdl $4,%ebp,%edx 70ebfedea0SLionel Sambuc shrl $4,%ebp 71ebfedea0SLionel Sambuc xorl 16(%esp,%eax,4),%ebp 72ebfedea0SLionel Sambuc movb (%esp,%edi,1),%al 73ebfedea0SLionel Sambuc shlb $4,%al 74ebfedea0SLionel Sambuc xorl 8(%esi,%eax,1),%ebx 75ebfedea0SLionel Sambuc xorl 12(%esi,%eax,1),%ecx 76ebfedea0SLionel Sambuc xorl (%esi,%eax,1),%edx 77ebfedea0SLionel Sambuc xorl 4(%esi,%eax,1),%ebp 78ebfedea0SLionel Sambuc jmp .L000x86_loop 79ebfedea0SLionel Sambuc.align 16 80ebfedea0SLionel Sambuc.L001x86_break: 81ebfedea0SLionel Sambuc bswap %ebx 82ebfedea0SLionel Sambuc bswap %ecx 83ebfedea0SLionel Sambuc bswap %edx 84ebfedea0SLionel Sambuc bswap %ebp 85ebfedea0SLionel Sambuc movl 104(%esp),%edi 86ebfedea0SLionel Sambuc movl %ebx,12(%edi) 87ebfedea0SLionel Sambuc movl %ecx,8(%edi) 88ebfedea0SLionel Sambuc movl %edx,4(%edi) 89ebfedea0SLionel Sambuc movl %ebp,(%edi) 90ebfedea0SLionel Sambuc addl $84,%esp 91ebfedea0SLionel Sambuc popl %edi 92ebfedea0SLionel Sambuc popl %esi 93ebfedea0SLionel Sambuc popl %ebx 94ebfedea0SLionel Sambuc popl %ebp 95ebfedea0SLionel Sambuc ret 96ebfedea0SLionel Sambuc.size gcm_gmult_4bit_x86,.-.L_gcm_gmult_4bit_x86_begin 97ebfedea0SLionel Sambuc.globl gcm_ghash_4bit_x86 98ebfedea0SLionel Sambuc.type gcm_ghash_4bit_x86,@function 99ebfedea0SLionel Sambuc.align 16 100ebfedea0SLionel Sambucgcm_ghash_4bit_x86: 101ebfedea0SLionel Sambuc.L_gcm_ghash_4bit_x86_begin: 102ebfedea0SLionel Sambuc pushl %ebp 103ebfedea0SLionel Sambuc pushl %ebx 104ebfedea0SLionel Sambuc pushl %esi 105ebfedea0SLionel Sambuc pushl %edi 106ebfedea0SLionel Sambuc subl $84,%esp 107ebfedea0SLionel Sambuc movl 104(%esp),%ebx 108ebfedea0SLionel Sambuc movl 108(%esp),%esi 109ebfedea0SLionel Sambuc movl 112(%esp),%edi 110ebfedea0SLionel Sambuc movl 116(%esp),%ecx 111ebfedea0SLionel Sambuc addl %edi,%ecx 112ebfedea0SLionel Sambuc movl %ecx,116(%esp) 113ebfedea0SLionel Sambuc movl (%ebx),%ebp 114ebfedea0SLionel Sambuc movl 4(%ebx),%edx 115ebfedea0SLionel Sambuc movl 8(%ebx),%ecx 116ebfedea0SLionel Sambuc movl 12(%ebx),%ebx 117ebfedea0SLionel Sambuc movl $0,16(%esp) 118ebfedea0SLionel Sambuc movl $471859200,20(%esp) 119ebfedea0SLionel Sambuc movl $943718400,24(%esp) 120ebfedea0SLionel Sambuc movl $610271232,28(%esp) 121ebfedea0SLionel Sambuc movl $1887436800,32(%esp) 122ebfedea0SLionel Sambuc movl $1822425088,36(%esp) 123ebfedea0SLionel Sambuc movl $1220542464,40(%esp) 124ebfedea0SLionel Sambuc movl $1423966208,44(%esp) 125ebfedea0SLionel Sambuc movl $3774873600,48(%esp) 126ebfedea0SLionel Sambuc movl $4246732800,52(%esp) 127ebfedea0SLionel Sambuc movl $3644850176,56(%esp) 128ebfedea0SLionel Sambuc movl $3311403008,60(%esp) 129ebfedea0SLionel Sambuc movl $2441084928,64(%esp) 130ebfedea0SLionel Sambuc movl $2376073216,68(%esp) 131ebfedea0SLionel Sambuc movl $2847932416,72(%esp) 132ebfedea0SLionel Sambuc movl $3051356160,76(%esp) 133ebfedea0SLionel Sambuc.align 16 134ebfedea0SLionel Sambuc.L002x86_outer_loop: 135ebfedea0SLionel Sambuc xorl 12(%edi),%ebx 136ebfedea0SLionel Sambuc xorl 8(%edi),%ecx 137ebfedea0SLionel Sambuc xorl 4(%edi),%edx 138ebfedea0SLionel Sambuc xorl (%edi),%ebp 139ebfedea0SLionel Sambuc movl %ebx,12(%esp) 140ebfedea0SLionel Sambuc movl %ecx,8(%esp) 141ebfedea0SLionel Sambuc movl %edx,4(%esp) 142ebfedea0SLionel Sambuc movl %ebp,(%esp) 143ebfedea0SLionel Sambuc shrl $20,%ebx 144ebfedea0SLionel Sambuc andl $240,%ebx 145ebfedea0SLionel Sambuc movl 4(%esi,%ebx,1),%ebp 146ebfedea0SLionel Sambuc movl (%esi,%ebx,1),%edx 147ebfedea0SLionel Sambuc movl 12(%esi,%ebx,1),%ecx 148ebfedea0SLionel Sambuc movl 8(%esi,%ebx,1),%ebx 149ebfedea0SLionel Sambuc xorl %eax,%eax 150ebfedea0SLionel Sambuc movl $15,%edi 151ebfedea0SLionel Sambuc jmp .L003x86_loop 152ebfedea0SLionel Sambuc.align 16 153ebfedea0SLionel Sambuc.L003x86_loop: 154ebfedea0SLionel Sambuc movb %bl,%al 155ebfedea0SLionel Sambuc shrdl $4,%ecx,%ebx 156ebfedea0SLionel Sambuc andb $15,%al 157ebfedea0SLionel Sambuc shrdl $4,%edx,%ecx 158ebfedea0SLionel Sambuc shrdl $4,%ebp,%edx 159ebfedea0SLionel Sambuc shrl $4,%ebp 160ebfedea0SLionel Sambuc xorl 16(%esp,%eax,4),%ebp 161ebfedea0SLionel Sambuc movb (%esp,%edi,1),%al 162ebfedea0SLionel Sambuc andb $240,%al 163ebfedea0SLionel Sambuc xorl 8(%esi,%eax,1),%ebx 164ebfedea0SLionel Sambuc xorl 12(%esi,%eax,1),%ecx 165ebfedea0SLionel Sambuc xorl (%esi,%eax,1),%edx 166ebfedea0SLionel Sambuc xorl 4(%esi,%eax,1),%ebp 167ebfedea0SLionel Sambuc decl %edi 168ebfedea0SLionel Sambuc js .L004x86_break 169ebfedea0SLionel Sambuc movb %bl,%al 170ebfedea0SLionel Sambuc shrdl $4,%ecx,%ebx 171ebfedea0SLionel Sambuc andb $15,%al 172ebfedea0SLionel Sambuc shrdl $4,%edx,%ecx 173ebfedea0SLionel Sambuc shrdl $4,%ebp,%edx 174ebfedea0SLionel Sambuc shrl $4,%ebp 175ebfedea0SLionel Sambuc xorl 16(%esp,%eax,4),%ebp 176ebfedea0SLionel Sambuc movb (%esp,%edi,1),%al 177ebfedea0SLionel Sambuc shlb $4,%al 178ebfedea0SLionel Sambuc xorl 8(%esi,%eax,1),%ebx 179ebfedea0SLionel Sambuc xorl 12(%esi,%eax,1),%ecx 180ebfedea0SLionel Sambuc xorl (%esi,%eax,1),%edx 181ebfedea0SLionel Sambuc xorl 4(%esi,%eax,1),%ebp 182ebfedea0SLionel Sambuc jmp .L003x86_loop 183ebfedea0SLionel Sambuc.align 16 184ebfedea0SLionel Sambuc.L004x86_break: 185ebfedea0SLionel Sambuc bswap %ebx 186ebfedea0SLionel Sambuc bswap %ecx 187ebfedea0SLionel Sambuc bswap %edx 188ebfedea0SLionel Sambuc bswap %ebp 189ebfedea0SLionel Sambuc movl 112(%esp),%edi 190ebfedea0SLionel Sambuc leal 16(%edi),%edi 191ebfedea0SLionel Sambuc cmpl 116(%esp),%edi 192ebfedea0SLionel Sambuc movl %edi,112(%esp) 193ebfedea0SLionel Sambuc jb .L002x86_outer_loop 194ebfedea0SLionel Sambuc movl 104(%esp),%edi 195ebfedea0SLionel Sambuc movl %ebx,12(%edi) 196ebfedea0SLionel Sambuc movl %ecx,8(%edi) 197ebfedea0SLionel Sambuc movl %edx,4(%edi) 198ebfedea0SLionel Sambuc movl %ebp,(%edi) 199ebfedea0SLionel Sambuc addl $84,%esp 200ebfedea0SLionel Sambuc popl %edi 201ebfedea0SLionel Sambuc popl %esi 202ebfedea0SLionel Sambuc popl %ebx 203ebfedea0SLionel Sambuc popl %ebp 204ebfedea0SLionel Sambuc ret 205ebfedea0SLionel Sambuc.size gcm_ghash_4bit_x86,.-.L_gcm_ghash_4bit_x86_begin 206ebfedea0SLionel Sambuc.globl gcm_gmult_4bit_mmx 207ebfedea0SLionel Sambuc.type gcm_gmult_4bit_mmx,@function 208ebfedea0SLionel Sambuc.align 16 209ebfedea0SLionel Sambucgcm_gmult_4bit_mmx: 210ebfedea0SLionel Sambuc.L_gcm_gmult_4bit_mmx_begin: 211ebfedea0SLionel Sambuc pushl %ebp 212ebfedea0SLionel Sambuc pushl %ebx 213ebfedea0SLionel Sambuc pushl %esi 214ebfedea0SLionel Sambuc pushl %edi 215ebfedea0SLionel Sambuc movl 20(%esp),%edi 216ebfedea0SLionel Sambuc movl 24(%esp),%esi 217ebfedea0SLionel Sambuc call .L005pic_point 218ebfedea0SLionel Sambuc.L005pic_point: 219ebfedea0SLionel Sambuc popl %eax 220ebfedea0SLionel Sambuc leal .Lrem_4bit-.L005pic_point(%eax),%eax 221ebfedea0SLionel Sambuc movzbl 15(%edi),%ebx 222*0a6a1f1dSLionel Sambuc xorl %ecx,%ecx 223*0a6a1f1dSLionel Sambuc movl %ebx,%edx 224*0a6a1f1dSLionel Sambuc movb %dl,%cl 225*0a6a1f1dSLionel Sambuc movl $14,%ebp 226*0a6a1f1dSLionel Sambuc shlb $4,%cl 227*0a6a1f1dSLionel Sambuc andl $240,%edx 228*0a6a1f1dSLionel Sambuc movq 8(%esi,%ecx,1),%mm0 229*0a6a1f1dSLionel Sambuc movq (%esi,%ecx,1),%mm1 230*0a6a1f1dSLionel Sambuc movd %mm0,%ebx 231*0a6a1f1dSLionel Sambuc jmp .L006mmx_loop 232*0a6a1f1dSLionel Sambuc.align 16 233*0a6a1f1dSLionel Sambuc.L006mmx_loop: 234*0a6a1f1dSLionel Sambuc psrlq $4,%mm0 235*0a6a1f1dSLionel Sambuc andl $15,%ebx 236*0a6a1f1dSLionel Sambuc movq %mm1,%mm2 237*0a6a1f1dSLionel Sambuc psrlq $4,%mm1 238*0a6a1f1dSLionel Sambuc pxor 8(%esi,%edx,1),%mm0 239*0a6a1f1dSLionel Sambuc movb (%edi,%ebp,1),%cl 240*0a6a1f1dSLionel Sambuc psllq $60,%mm2 241*0a6a1f1dSLionel Sambuc pxor (%eax,%ebx,8),%mm1 242*0a6a1f1dSLionel Sambuc decl %ebp 243*0a6a1f1dSLionel Sambuc movd %mm0,%ebx 244*0a6a1f1dSLionel Sambuc pxor (%esi,%edx,1),%mm1 245*0a6a1f1dSLionel Sambuc movl %ecx,%edx 246*0a6a1f1dSLionel Sambuc pxor %mm2,%mm0 247*0a6a1f1dSLionel Sambuc js .L007mmx_break 248*0a6a1f1dSLionel Sambuc shlb $4,%cl 249*0a6a1f1dSLionel Sambuc andl $15,%ebx 250*0a6a1f1dSLionel Sambuc psrlq $4,%mm0 251*0a6a1f1dSLionel Sambuc andl $240,%edx 252*0a6a1f1dSLionel Sambuc movq %mm1,%mm2 253*0a6a1f1dSLionel Sambuc psrlq $4,%mm1 254*0a6a1f1dSLionel Sambuc pxor 8(%esi,%ecx,1),%mm0 255*0a6a1f1dSLionel Sambuc psllq $60,%mm2 256*0a6a1f1dSLionel Sambuc pxor (%eax,%ebx,8),%mm1 257*0a6a1f1dSLionel Sambuc movd %mm0,%ebx 258*0a6a1f1dSLionel Sambuc pxor (%esi,%ecx,1),%mm1 259*0a6a1f1dSLionel Sambuc pxor %mm2,%mm0 260*0a6a1f1dSLionel Sambuc jmp .L006mmx_loop 261*0a6a1f1dSLionel Sambuc.align 16 262*0a6a1f1dSLionel Sambuc.L007mmx_break: 263*0a6a1f1dSLionel Sambuc shlb $4,%cl 264*0a6a1f1dSLionel Sambuc andl $15,%ebx 265*0a6a1f1dSLionel Sambuc psrlq $4,%mm0 266*0a6a1f1dSLionel Sambuc andl $240,%edx 267*0a6a1f1dSLionel Sambuc movq %mm1,%mm2 268*0a6a1f1dSLionel Sambuc psrlq $4,%mm1 269*0a6a1f1dSLionel Sambuc pxor 8(%esi,%ecx,1),%mm0 270*0a6a1f1dSLionel Sambuc psllq $60,%mm2 271*0a6a1f1dSLionel Sambuc pxor (%eax,%ebx,8),%mm1 272*0a6a1f1dSLionel Sambuc movd %mm0,%ebx 273*0a6a1f1dSLionel Sambuc pxor (%esi,%ecx,1),%mm1 274*0a6a1f1dSLionel Sambuc pxor %mm2,%mm0 275*0a6a1f1dSLionel Sambuc psrlq $4,%mm0 276*0a6a1f1dSLionel Sambuc andl $15,%ebx 277*0a6a1f1dSLionel Sambuc movq %mm1,%mm2 278*0a6a1f1dSLionel Sambuc psrlq $4,%mm1 279*0a6a1f1dSLionel Sambuc pxor 8(%esi,%edx,1),%mm0 280*0a6a1f1dSLionel Sambuc psllq $60,%mm2 281*0a6a1f1dSLionel Sambuc pxor (%eax,%ebx,8),%mm1 282*0a6a1f1dSLionel Sambuc movd %mm0,%ebx 283*0a6a1f1dSLionel Sambuc pxor (%esi,%edx,1),%mm1 284*0a6a1f1dSLionel Sambuc pxor %mm2,%mm0 285*0a6a1f1dSLionel Sambuc psrlq $32,%mm0 286*0a6a1f1dSLionel Sambuc movd %mm1,%edx 287*0a6a1f1dSLionel Sambuc psrlq $32,%mm1 288*0a6a1f1dSLionel Sambuc movd %mm0,%ecx 289*0a6a1f1dSLionel Sambuc movd %mm1,%ebp 290*0a6a1f1dSLionel Sambuc bswap %ebx 291*0a6a1f1dSLionel Sambuc bswap %edx 292*0a6a1f1dSLionel Sambuc bswap %ecx 293*0a6a1f1dSLionel Sambuc bswap %ebp 294ebfedea0SLionel Sambuc emms 295ebfedea0SLionel Sambuc movl %ebx,12(%edi) 296ebfedea0SLionel Sambuc movl %edx,4(%edi) 297ebfedea0SLionel Sambuc movl %ecx,8(%edi) 298ebfedea0SLionel Sambuc movl %ebp,(%edi) 299ebfedea0SLionel Sambuc popl %edi 300ebfedea0SLionel Sambuc popl %esi 301ebfedea0SLionel Sambuc popl %ebx 302ebfedea0SLionel Sambuc popl %ebp 303ebfedea0SLionel Sambuc ret 304ebfedea0SLionel Sambuc.size gcm_gmult_4bit_mmx,.-.L_gcm_gmult_4bit_mmx_begin 305ebfedea0SLionel Sambuc.globl gcm_ghash_4bit_mmx 306ebfedea0SLionel Sambuc.type gcm_ghash_4bit_mmx,@function 307ebfedea0SLionel Sambuc.align 16 308ebfedea0SLionel Sambucgcm_ghash_4bit_mmx: 309ebfedea0SLionel Sambuc.L_gcm_ghash_4bit_mmx_begin: 310ebfedea0SLionel Sambuc pushl %ebp 311ebfedea0SLionel Sambuc pushl %ebx 312ebfedea0SLionel Sambuc pushl %esi 313ebfedea0SLionel Sambuc pushl %edi 314*0a6a1f1dSLionel Sambuc movl 20(%esp),%eax 315*0a6a1f1dSLionel Sambuc movl 24(%esp),%ebx 316*0a6a1f1dSLionel Sambuc movl 28(%esp),%ecx 317*0a6a1f1dSLionel Sambuc movl 32(%esp),%edx 318*0a6a1f1dSLionel Sambuc movl %esp,%ebp 319*0a6a1f1dSLionel Sambuc call .L008pic_point 320*0a6a1f1dSLionel Sambuc.L008pic_point: 321*0a6a1f1dSLionel Sambuc popl %esi 322*0a6a1f1dSLionel Sambuc leal .Lrem_8bit-.L008pic_point(%esi),%esi 323*0a6a1f1dSLionel Sambuc subl $544,%esp 324*0a6a1f1dSLionel Sambuc andl $-64,%esp 325*0a6a1f1dSLionel Sambuc subl $16,%esp 326*0a6a1f1dSLionel Sambuc addl %ecx,%edx 327*0a6a1f1dSLionel Sambuc movl %eax,544(%esp) 328*0a6a1f1dSLionel Sambuc movl %edx,552(%esp) 329*0a6a1f1dSLionel Sambuc movl %ebp,556(%esp) 330*0a6a1f1dSLionel Sambuc addl $128,%ebx 331*0a6a1f1dSLionel Sambuc leal 144(%esp),%edi 332*0a6a1f1dSLionel Sambuc leal 400(%esp),%ebp 333*0a6a1f1dSLionel Sambuc movl -120(%ebx),%edx 334*0a6a1f1dSLionel Sambuc movq -120(%ebx),%mm0 335*0a6a1f1dSLionel Sambuc movq -128(%ebx),%mm3 336*0a6a1f1dSLionel Sambuc shll $4,%edx 337*0a6a1f1dSLionel Sambuc movb %dl,(%esp) 338*0a6a1f1dSLionel Sambuc movl -104(%ebx),%edx 339*0a6a1f1dSLionel Sambuc movq -104(%ebx),%mm2 340*0a6a1f1dSLionel Sambuc movq -112(%ebx),%mm5 341*0a6a1f1dSLionel Sambuc movq %mm0,-128(%edi) 342*0a6a1f1dSLionel Sambuc psrlq $4,%mm0 343*0a6a1f1dSLionel Sambuc movq %mm3,(%edi) 344*0a6a1f1dSLionel Sambuc movq %mm3,%mm7 345*0a6a1f1dSLionel Sambuc psrlq $4,%mm3 346*0a6a1f1dSLionel Sambuc shll $4,%edx 347*0a6a1f1dSLionel Sambuc movb %dl,1(%esp) 348*0a6a1f1dSLionel Sambuc movl -88(%ebx),%edx 349*0a6a1f1dSLionel Sambuc movq -88(%ebx),%mm1 350*0a6a1f1dSLionel Sambuc psllq $60,%mm7 351*0a6a1f1dSLionel Sambuc movq -96(%ebx),%mm4 352*0a6a1f1dSLionel Sambuc por %mm7,%mm0 353*0a6a1f1dSLionel Sambuc movq %mm2,-120(%edi) 354*0a6a1f1dSLionel Sambuc psrlq $4,%mm2 355*0a6a1f1dSLionel Sambuc movq %mm5,8(%edi) 356*0a6a1f1dSLionel Sambuc movq %mm5,%mm6 357*0a6a1f1dSLionel Sambuc movq %mm0,-128(%ebp) 358*0a6a1f1dSLionel Sambuc psrlq $4,%mm5 359*0a6a1f1dSLionel Sambuc movq %mm3,(%ebp) 360*0a6a1f1dSLionel Sambuc shll $4,%edx 361*0a6a1f1dSLionel Sambuc movb %dl,2(%esp) 362*0a6a1f1dSLionel Sambuc movl -72(%ebx),%edx 363*0a6a1f1dSLionel Sambuc movq -72(%ebx),%mm0 364*0a6a1f1dSLionel Sambuc psllq $60,%mm6 365*0a6a1f1dSLionel Sambuc movq -80(%ebx),%mm3 366*0a6a1f1dSLionel Sambuc por %mm6,%mm2 367*0a6a1f1dSLionel Sambuc movq %mm1,-112(%edi) 368*0a6a1f1dSLionel Sambuc psrlq $4,%mm1 369*0a6a1f1dSLionel Sambuc movq %mm4,16(%edi) 370*0a6a1f1dSLionel Sambuc movq %mm4,%mm7 371*0a6a1f1dSLionel Sambuc movq %mm2,-120(%ebp) 372*0a6a1f1dSLionel Sambuc psrlq $4,%mm4 373*0a6a1f1dSLionel Sambuc movq %mm5,8(%ebp) 374*0a6a1f1dSLionel Sambuc shll $4,%edx 375*0a6a1f1dSLionel Sambuc movb %dl,3(%esp) 376*0a6a1f1dSLionel Sambuc movl -56(%ebx),%edx 377*0a6a1f1dSLionel Sambuc movq -56(%ebx),%mm2 378*0a6a1f1dSLionel Sambuc psllq $60,%mm7 379*0a6a1f1dSLionel Sambuc movq -64(%ebx),%mm5 380*0a6a1f1dSLionel Sambuc por %mm7,%mm1 381*0a6a1f1dSLionel Sambuc movq %mm0,-104(%edi) 382*0a6a1f1dSLionel Sambuc psrlq $4,%mm0 383*0a6a1f1dSLionel Sambuc movq %mm3,24(%edi) 384*0a6a1f1dSLionel Sambuc movq %mm3,%mm6 385*0a6a1f1dSLionel Sambuc movq %mm1,-112(%ebp) 386*0a6a1f1dSLionel Sambuc psrlq $4,%mm3 387*0a6a1f1dSLionel Sambuc movq %mm4,16(%ebp) 388*0a6a1f1dSLionel Sambuc shll $4,%edx 389*0a6a1f1dSLionel Sambuc movb %dl,4(%esp) 390*0a6a1f1dSLionel Sambuc movl -40(%ebx),%edx 391*0a6a1f1dSLionel Sambuc movq -40(%ebx),%mm1 392*0a6a1f1dSLionel Sambuc psllq $60,%mm6 393*0a6a1f1dSLionel Sambuc movq -48(%ebx),%mm4 394*0a6a1f1dSLionel Sambuc por %mm6,%mm0 395*0a6a1f1dSLionel Sambuc movq %mm2,-96(%edi) 396*0a6a1f1dSLionel Sambuc psrlq $4,%mm2 397*0a6a1f1dSLionel Sambuc movq %mm5,32(%edi) 398*0a6a1f1dSLionel Sambuc movq %mm5,%mm7 399*0a6a1f1dSLionel Sambuc movq %mm0,-104(%ebp) 400*0a6a1f1dSLionel Sambuc psrlq $4,%mm5 401*0a6a1f1dSLionel Sambuc movq %mm3,24(%ebp) 402*0a6a1f1dSLionel Sambuc shll $4,%edx 403*0a6a1f1dSLionel Sambuc movb %dl,5(%esp) 404*0a6a1f1dSLionel Sambuc movl -24(%ebx),%edx 405*0a6a1f1dSLionel Sambuc movq -24(%ebx),%mm0 406*0a6a1f1dSLionel Sambuc psllq $60,%mm7 407*0a6a1f1dSLionel Sambuc movq -32(%ebx),%mm3 408*0a6a1f1dSLionel Sambuc por %mm7,%mm2 409*0a6a1f1dSLionel Sambuc movq %mm1,-88(%edi) 410*0a6a1f1dSLionel Sambuc psrlq $4,%mm1 411*0a6a1f1dSLionel Sambuc movq %mm4,40(%edi) 412*0a6a1f1dSLionel Sambuc movq %mm4,%mm6 413*0a6a1f1dSLionel Sambuc movq %mm2,-96(%ebp) 414*0a6a1f1dSLionel Sambuc psrlq $4,%mm4 415*0a6a1f1dSLionel Sambuc movq %mm5,32(%ebp) 416*0a6a1f1dSLionel Sambuc shll $4,%edx 417*0a6a1f1dSLionel Sambuc movb %dl,6(%esp) 418*0a6a1f1dSLionel Sambuc movl -8(%ebx),%edx 419*0a6a1f1dSLionel Sambuc movq -8(%ebx),%mm2 420*0a6a1f1dSLionel Sambuc psllq $60,%mm6 421*0a6a1f1dSLionel Sambuc movq -16(%ebx),%mm5 422*0a6a1f1dSLionel Sambuc por %mm6,%mm1 423*0a6a1f1dSLionel Sambuc movq %mm0,-80(%edi) 424*0a6a1f1dSLionel Sambuc psrlq $4,%mm0 425*0a6a1f1dSLionel Sambuc movq %mm3,48(%edi) 426*0a6a1f1dSLionel Sambuc movq %mm3,%mm7 427*0a6a1f1dSLionel Sambuc movq %mm1,-88(%ebp) 428*0a6a1f1dSLionel Sambuc psrlq $4,%mm3 429*0a6a1f1dSLionel Sambuc movq %mm4,40(%ebp) 430*0a6a1f1dSLionel Sambuc shll $4,%edx 431*0a6a1f1dSLionel Sambuc movb %dl,7(%esp) 432*0a6a1f1dSLionel Sambuc movl 8(%ebx),%edx 433*0a6a1f1dSLionel Sambuc movq 8(%ebx),%mm1 434*0a6a1f1dSLionel Sambuc psllq $60,%mm7 435*0a6a1f1dSLionel Sambuc movq (%ebx),%mm4 436*0a6a1f1dSLionel Sambuc por %mm7,%mm0 437*0a6a1f1dSLionel Sambuc movq %mm2,-72(%edi) 438*0a6a1f1dSLionel Sambuc psrlq $4,%mm2 439*0a6a1f1dSLionel Sambuc movq %mm5,56(%edi) 440*0a6a1f1dSLionel Sambuc movq %mm5,%mm6 441*0a6a1f1dSLionel Sambuc movq %mm0,-80(%ebp) 442*0a6a1f1dSLionel Sambuc psrlq $4,%mm5 443*0a6a1f1dSLionel Sambuc movq %mm3,48(%ebp) 444*0a6a1f1dSLionel Sambuc shll $4,%edx 445*0a6a1f1dSLionel Sambuc movb %dl,8(%esp) 446*0a6a1f1dSLionel Sambuc movl 24(%ebx),%edx 447*0a6a1f1dSLionel Sambuc movq 24(%ebx),%mm0 448*0a6a1f1dSLionel Sambuc psllq $60,%mm6 449*0a6a1f1dSLionel Sambuc movq 16(%ebx),%mm3 450*0a6a1f1dSLionel Sambuc por %mm6,%mm2 451*0a6a1f1dSLionel Sambuc movq %mm1,-64(%edi) 452*0a6a1f1dSLionel Sambuc psrlq $4,%mm1 453*0a6a1f1dSLionel Sambuc movq %mm4,64(%edi) 454*0a6a1f1dSLionel Sambuc movq %mm4,%mm7 455*0a6a1f1dSLionel Sambuc movq %mm2,-72(%ebp) 456*0a6a1f1dSLionel Sambuc psrlq $4,%mm4 457*0a6a1f1dSLionel Sambuc movq %mm5,56(%ebp) 458*0a6a1f1dSLionel Sambuc shll $4,%edx 459*0a6a1f1dSLionel Sambuc movb %dl,9(%esp) 460*0a6a1f1dSLionel Sambuc movl 40(%ebx),%edx 461*0a6a1f1dSLionel Sambuc movq 40(%ebx),%mm2 462*0a6a1f1dSLionel Sambuc psllq $60,%mm7 463*0a6a1f1dSLionel Sambuc movq 32(%ebx),%mm5 464*0a6a1f1dSLionel Sambuc por %mm7,%mm1 465*0a6a1f1dSLionel Sambuc movq %mm0,-56(%edi) 466*0a6a1f1dSLionel Sambuc psrlq $4,%mm0 467*0a6a1f1dSLionel Sambuc movq %mm3,72(%edi) 468*0a6a1f1dSLionel Sambuc movq %mm3,%mm6 469*0a6a1f1dSLionel Sambuc movq %mm1,-64(%ebp) 470*0a6a1f1dSLionel Sambuc psrlq $4,%mm3 471*0a6a1f1dSLionel Sambuc movq %mm4,64(%ebp) 472*0a6a1f1dSLionel Sambuc shll $4,%edx 473*0a6a1f1dSLionel Sambuc movb %dl,10(%esp) 474*0a6a1f1dSLionel Sambuc movl 56(%ebx),%edx 475*0a6a1f1dSLionel Sambuc movq 56(%ebx),%mm1 476*0a6a1f1dSLionel Sambuc psllq $60,%mm6 477*0a6a1f1dSLionel Sambuc movq 48(%ebx),%mm4 478*0a6a1f1dSLionel Sambuc por %mm6,%mm0 479*0a6a1f1dSLionel Sambuc movq %mm2,-48(%edi) 480*0a6a1f1dSLionel Sambuc psrlq $4,%mm2 481*0a6a1f1dSLionel Sambuc movq %mm5,80(%edi) 482*0a6a1f1dSLionel Sambuc movq %mm5,%mm7 483*0a6a1f1dSLionel Sambuc movq %mm0,-56(%ebp) 484*0a6a1f1dSLionel Sambuc psrlq $4,%mm5 485*0a6a1f1dSLionel Sambuc movq %mm3,72(%ebp) 486*0a6a1f1dSLionel Sambuc shll $4,%edx 487*0a6a1f1dSLionel Sambuc movb %dl,11(%esp) 488*0a6a1f1dSLionel Sambuc movl 72(%ebx),%edx 489*0a6a1f1dSLionel Sambuc movq 72(%ebx),%mm0 490*0a6a1f1dSLionel Sambuc psllq $60,%mm7 491*0a6a1f1dSLionel Sambuc movq 64(%ebx),%mm3 492*0a6a1f1dSLionel Sambuc por %mm7,%mm2 493*0a6a1f1dSLionel Sambuc movq %mm1,-40(%edi) 494*0a6a1f1dSLionel Sambuc psrlq $4,%mm1 495*0a6a1f1dSLionel Sambuc movq %mm4,88(%edi) 496*0a6a1f1dSLionel Sambuc movq %mm4,%mm6 497*0a6a1f1dSLionel Sambuc movq %mm2,-48(%ebp) 498*0a6a1f1dSLionel Sambuc psrlq $4,%mm4 499*0a6a1f1dSLionel Sambuc movq %mm5,80(%ebp) 500*0a6a1f1dSLionel Sambuc shll $4,%edx 501*0a6a1f1dSLionel Sambuc movb %dl,12(%esp) 502*0a6a1f1dSLionel Sambuc movl 88(%ebx),%edx 503*0a6a1f1dSLionel Sambuc movq 88(%ebx),%mm2 504*0a6a1f1dSLionel Sambuc psllq $60,%mm6 505*0a6a1f1dSLionel Sambuc movq 80(%ebx),%mm5 506*0a6a1f1dSLionel Sambuc por %mm6,%mm1 507*0a6a1f1dSLionel Sambuc movq %mm0,-32(%edi) 508*0a6a1f1dSLionel Sambuc psrlq $4,%mm0 509*0a6a1f1dSLionel Sambuc movq %mm3,96(%edi) 510*0a6a1f1dSLionel Sambuc movq %mm3,%mm7 511*0a6a1f1dSLionel Sambuc movq %mm1,-40(%ebp) 512*0a6a1f1dSLionel Sambuc psrlq $4,%mm3 513*0a6a1f1dSLionel Sambuc movq %mm4,88(%ebp) 514*0a6a1f1dSLionel Sambuc shll $4,%edx 515*0a6a1f1dSLionel Sambuc movb %dl,13(%esp) 516*0a6a1f1dSLionel Sambuc movl 104(%ebx),%edx 517*0a6a1f1dSLionel Sambuc movq 104(%ebx),%mm1 518*0a6a1f1dSLionel Sambuc psllq $60,%mm7 519*0a6a1f1dSLionel Sambuc movq 96(%ebx),%mm4 520*0a6a1f1dSLionel Sambuc por %mm7,%mm0 521*0a6a1f1dSLionel Sambuc movq %mm2,-24(%edi) 522*0a6a1f1dSLionel Sambuc psrlq $4,%mm2 523*0a6a1f1dSLionel Sambuc movq %mm5,104(%edi) 524*0a6a1f1dSLionel Sambuc movq %mm5,%mm6 525*0a6a1f1dSLionel Sambuc movq %mm0,-32(%ebp) 526*0a6a1f1dSLionel Sambuc psrlq $4,%mm5 527*0a6a1f1dSLionel Sambuc movq %mm3,96(%ebp) 528*0a6a1f1dSLionel Sambuc shll $4,%edx 529*0a6a1f1dSLionel Sambuc movb %dl,14(%esp) 530*0a6a1f1dSLionel Sambuc movl 120(%ebx),%edx 531*0a6a1f1dSLionel Sambuc movq 120(%ebx),%mm0 532*0a6a1f1dSLionel Sambuc psllq $60,%mm6 533*0a6a1f1dSLionel Sambuc movq 112(%ebx),%mm3 534*0a6a1f1dSLionel Sambuc por %mm6,%mm2 535*0a6a1f1dSLionel Sambuc movq %mm1,-16(%edi) 536*0a6a1f1dSLionel Sambuc psrlq $4,%mm1 537*0a6a1f1dSLionel Sambuc movq %mm4,112(%edi) 538*0a6a1f1dSLionel Sambuc movq %mm4,%mm7 539*0a6a1f1dSLionel Sambuc movq %mm2,-24(%ebp) 540*0a6a1f1dSLionel Sambuc psrlq $4,%mm4 541*0a6a1f1dSLionel Sambuc movq %mm5,104(%ebp) 542*0a6a1f1dSLionel Sambuc shll $4,%edx 543*0a6a1f1dSLionel Sambuc movb %dl,15(%esp) 544*0a6a1f1dSLionel Sambuc psllq $60,%mm7 545*0a6a1f1dSLionel Sambuc por %mm7,%mm1 546*0a6a1f1dSLionel Sambuc movq %mm0,-8(%edi) 547*0a6a1f1dSLionel Sambuc psrlq $4,%mm0 548*0a6a1f1dSLionel Sambuc movq %mm3,120(%edi) 549*0a6a1f1dSLionel Sambuc movq %mm3,%mm6 550*0a6a1f1dSLionel Sambuc movq %mm1,-16(%ebp) 551*0a6a1f1dSLionel Sambuc psrlq $4,%mm3 552*0a6a1f1dSLionel Sambuc movq %mm4,112(%ebp) 553*0a6a1f1dSLionel Sambuc psllq $60,%mm6 554*0a6a1f1dSLionel Sambuc por %mm6,%mm0 555*0a6a1f1dSLionel Sambuc movq %mm0,-8(%ebp) 556*0a6a1f1dSLionel Sambuc movq %mm3,120(%ebp) 557*0a6a1f1dSLionel Sambuc movq (%eax),%mm6 558*0a6a1f1dSLionel Sambuc movl 8(%eax),%ebx 559*0a6a1f1dSLionel Sambuc movl 12(%eax),%edx 560ebfedea0SLionel Sambuc.align 16 561*0a6a1f1dSLionel Sambuc.L009outer: 562*0a6a1f1dSLionel Sambuc xorl 12(%ecx),%edx 563*0a6a1f1dSLionel Sambuc xorl 8(%ecx),%ebx 564*0a6a1f1dSLionel Sambuc pxor (%ecx),%mm6 565*0a6a1f1dSLionel Sambuc leal 16(%ecx),%ecx 566*0a6a1f1dSLionel Sambuc movl %ebx,536(%esp) 567*0a6a1f1dSLionel Sambuc movq %mm6,528(%esp) 568*0a6a1f1dSLionel Sambuc movl %ecx,548(%esp) 569*0a6a1f1dSLionel Sambuc xorl %eax,%eax 570*0a6a1f1dSLionel Sambuc roll $8,%edx 571*0a6a1f1dSLionel Sambuc movb %dl,%al 572*0a6a1f1dSLionel Sambuc movl %eax,%ebp 573*0a6a1f1dSLionel Sambuc andb $15,%al 574*0a6a1f1dSLionel Sambuc shrl $4,%ebp 575*0a6a1f1dSLionel Sambuc pxor %mm0,%mm0 576*0a6a1f1dSLionel Sambuc roll $8,%edx 577*0a6a1f1dSLionel Sambuc pxor %mm1,%mm1 578*0a6a1f1dSLionel Sambuc pxor %mm2,%mm2 579*0a6a1f1dSLionel Sambuc movq 16(%esp,%eax,8),%mm7 580*0a6a1f1dSLionel Sambuc movq 144(%esp,%eax,8),%mm6 581*0a6a1f1dSLionel Sambuc movb %dl,%al 582*0a6a1f1dSLionel Sambuc movd %mm7,%ebx 583*0a6a1f1dSLionel Sambuc psrlq $8,%mm7 584*0a6a1f1dSLionel Sambuc movq %mm6,%mm3 585*0a6a1f1dSLionel Sambuc movl %eax,%edi 586*0a6a1f1dSLionel Sambuc psrlq $8,%mm6 587*0a6a1f1dSLionel Sambuc pxor 272(%esp,%ebp,8),%mm7 588*0a6a1f1dSLionel Sambuc andb $15,%al 589*0a6a1f1dSLionel Sambuc psllq $56,%mm3 590*0a6a1f1dSLionel Sambuc shrl $4,%edi 591*0a6a1f1dSLionel Sambuc pxor 16(%esp,%eax,8),%mm7 592*0a6a1f1dSLionel Sambuc roll $8,%edx 593*0a6a1f1dSLionel Sambuc pxor 144(%esp,%eax,8),%mm6 594*0a6a1f1dSLionel Sambuc pxor %mm3,%mm7 595*0a6a1f1dSLionel Sambuc pxor 400(%esp,%ebp,8),%mm6 596*0a6a1f1dSLionel Sambuc xorb (%esp,%ebp,1),%bl 597*0a6a1f1dSLionel Sambuc movb %dl,%al 598*0a6a1f1dSLionel Sambuc movd %mm7,%ecx 599*0a6a1f1dSLionel Sambuc movzbl %bl,%ebx 600*0a6a1f1dSLionel Sambuc psrlq $8,%mm7 601*0a6a1f1dSLionel Sambuc movq %mm6,%mm3 602*0a6a1f1dSLionel Sambuc movl %eax,%ebp 603*0a6a1f1dSLionel Sambuc psrlq $8,%mm6 604*0a6a1f1dSLionel Sambuc pxor 272(%esp,%edi,8),%mm7 605*0a6a1f1dSLionel Sambuc andb $15,%al 606*0a6a1f1dSLionel Sambuc psllq $56,%mm3 607*0a6a1f1dSLionel Sambuc shrl $4,%ebp 608*0a6a1f1dSLionel Sambuc pinsrw $2,(%esi,%ebx,2),%mm2 609*0a6a1f1dSLionel Sambuc pxor 16(%esp,%eax,8),%mm7 610*0a6a1f1dSLionel Sambuc roll $8,%edx 611*0a6a1f1dSLionel Sambuc pxor 144(%esp,%eax,8),%mm6 612*0a6a1f1dSLionel Sambuc pxor %mm3,%mm7 613*0a6a1f1dSLionel Sambuc pxor 400(%esp,%edi,8),%mm6 614*0a6a1f1dSLionel Sambuc xorb (%esp,%edi,1),%cl 615*0a6a1f1dSLionel Sambuc movb %dl,%al 616*0a6a1f1dSLionel Sambuc movl 536(%esp),%edx 617*0a6a1f1dSLionel Sambuc movd %mm7,%ebx 618*0a6a1f1dSLionel Sambuc movzbl %cl,%ecx 619*0a6a1f1dSLionel Sambuc psrlq $8,%mm7 620*0a6a1f1dSLionel Sambuc movq %mm6,%mm3 621*0a6a1f1dSLionel Sambuc movl %eax,%edi 622*0a6a1f1dSLionel Sambuc psrlq $8,%mm6 623*0a6a1f1dSLionel Sambuc pxor 272(%esp,%ebp,8),%mm7 624*0a6a1f1dSLionel Sambuc andb $15,%al 625*0a6a1f1dSLionel Sambuc psllq $56,%mm3 626*0a6a1f1dSLionel Sambuc pxor %mm2,%mm6 627*0a6a1f1dSLionel Sambuc shrl $4,%edi 628*0a6a1f1dSLionel Sambuc pinsrw $2,(%esi,%ecx,2),%mm1 629*0a6a1f1dSLionel Sambuc pxor 16(%esp,%eax,8),%mm7 630*0a6a1f1dSLionel Sambuc roll $8,%edx 631*0a6a1f1dSLionel Sambuc pxor 144(%esp,%eax,8),%mm6 632*0a6a1f1dSLionel Sambuc pxor %mm3,%mm7 633*0a6a1f1dSLionel Sambuc pxor 400(%esp,%ebp,8),%mm6 634*0a6a1f1dSLionel Sambuc xorb (%esp,%ebp,1),%bl 635*0a6a1f1dSLionel Sambuc movb %dl,%al 636*0a6a1f1dSLionel Sambuc movd %mm7,%ecx 637*0a6a1f1dSLionel Sambuc movzbl %bl,%ebx 638*0a6a1f1dSLionel Sambuc psrlq $8,%mm7 639*0a6a1f1dSLionel Sambuc movq %mm6,%mm3 640*0a6a1f1dSLionel Sambuc movl %eax,%ebp 641*0a6a1f1dSLionel Sambuc psrlq $8,%mm6 642*0a6a1f1dSLionel Sambuc pxor 272(%esp,%edi,8),%mm7 643*0a6a1f1dSLionel Sambuc andb $15,%al 644*0a6a1f1dSLionel Sambuc psllq $56,%mm3 645*0a6a1f1dSLionel Sambuc pxor %mm1,%mm6 646*0a6a1f1dSLionel Sambuc shrl $4,%ebp 647*0a6a1f1dSLionel Sambuc pinsrw $2,(%esi,%ebx,2),%mm0 648*0a6a1f1dSLionel Sambuc pxor 16(%esp,%eax,8),%mm7 649*0a6a1f1dSLionel Sambuc roll $8,%edx 650*0a6a1f1dSLionel Sambuc pxor 144(%esp,%eax,8),%mm6 651*0a6a1f1dSLionel Sambuc pxor %mm3,%mm7 652*0a6a1f1dSLionel Sambuc pxor 400(%esp,%edi,8),%mm6 653*0a6a1f1dSLionel Sambuc xorb (%esp,%edi,1),%cl 654*0a6a1f1dSLionel Sambuc movb %dl,%al 655*0a6a1f1dSLionel Sambuc movd %mm7,%ebx 656*0a6a1f1dSLionel Sambuc movzbl %cl,%ecx 657*0a6a1f1dSLionel Sambuc psrlq $8,%mm7 658*0a6a1f1dSLionel Sambuc movq %mm6,%mm3 659*0a6a1f1dSLionel Sambuc movl %eax,%edi 660*0a6a1f1dSLionel Sambuc psrlq $8,%mm6 661*0a6a1f1dSLionel Sambuc pxor 272(%esp,%ebp,8),%mm7 662*0a6a1f1dSLionel Sambuc andb $15,%al 663*0a6a1f1dSLionel Sambuc psllq $56,%mm3 664*0a6a1f1dSLionel Sambuc pxor %mm0,%mm6 665*0a6a1f1dSLionel Sambuc shrl $4,%edi 666*0a6a1f1dSLionel Sambuc pinsrw $2,(%esi,%ecx,2),%mm2 667*0a6a1f1dSLionel Sambuc pxor 16(%esp,%eax,8),%mm7 668*0a6a1f1dSLionel Sambuc roll $8,%edx 669*0a6a1f1dSLionel Sambuc pxor 144(%esp,%eax,8),%mm6 670*0a6a1f1dSLionel Sambuc pxor %mm3,%mm7 671*0a6a1f1dSLionel Sambuc pxor 400(%esp,%ebp,8),%mm6 672*0a6a1f1dSLionel Sambuc xorb (%esp,%ebp,1),%bl 673*0a6a1f1dSLionel Sambuc movb %dl,%al 674*0a6a1f1dSLionel Sambuc movd %mm7,%ecx 675*0a6a1f1dSLionel Sambuc movzbl %bl,%ebx 676*0a6a1f1dSLionel Sambuc psrlq $8,%mm7 677*0a6a1f1dSLionel Sambuc movq %mm6,%mm3 678*0a6a1f1dSLionel Sambuc movl %eax,%ebp 679*0a6a1f1dSLionel Sambuc psrlq $8,%mm6 680*0a6a1f1dSLionel Sambuc pxor 272(%esp,%edi,8),%mm7 681*0a6a1f1dSLionel Sambuc andb $15,%al 682*0a6a1f1dSLionel Sambuc psllq $56,%mm3 683*0a6a1f1dSLionel Sambuc pxor %mm2,%mm6 684*0a6a1f1dSLionel Sambuc shrl $4,%ebp 685*0a6a1f1dSLionel Sambuc pinsrw $2,(%esi,%ebx,2),%mm1 686*0a6a1f1dSLionel Sambuc pxor 16(%esp,%eax,8),%mm7 687*0a6a1f1dSLionel Sambuc roll $8,%edx 688*0a6a1f1dSLionel Sambuc pxor 144(%esp,%eax,8),%mm6 689*0a6a1f1dSLionel Sambuc pxor %mm3,%mm7 690*0a6a1f1dSLionel Sambuc pxor 400(%esp,%edi,8),%mm6 691*0a6a1f1dSLionel Sambuc xorb (%esp,%edi,1),%cl 692*0a6a1f1dSLionel Sambuc movb %dl,%al 693*0a6a1f1dSLionel Sambuc movl 532(%esp),%edx 694*0a6a1f1dSLionel Sambuc movd %mm7,%ebx 695*0a6a1f1dSLionel Sambuc movzbl %cl,%ecx 696*0a6a1f1dSLionel Sambuc psrlq $8,%mm7 697*0a6a1f1dSLionel Sambuc movq %mm6,%mm3 698*0a6a1f1dSLionel Sambuc movl %eax,%edi 699*0a6a1f1dSLionel Sambuc psrlq $8,%mm6 700*0a6a1f1dSLionel Sambuc pxor 272(%esp,%ebp,8),%mm7 701*0a6a1f1dSLionel Sambuc andb $15,%al 702*0a6a1f1dSLionel Sambuc psllq $56,%mm3 703*0a6a1f1dSLionel Sambuc pxor %mm1,%mm6 704*0a6a1f1dSLionel Sambuc shrl $4,%edi 705*0a6a1f1dSLionel Sambuc pinsrw $2,(%esi,%ecx,2),%mm0 706*0a6a1f1dSLionel Sambuc pxor 16(%esp,%eax,8),%mm7 707*0a6a1f1dSLionel Sambuc roll $8,%edx 708*0a6a1f1dSLionel Sambuc pxor 144(%esp,%eax,8),%mm6 709*0a6a1f1dSLionel Sambuc pxor %mm3,%mm7 710*0a6a1f1dSLionel Sambuc pxor 400(%esp,%ebp,8),%mm6 711*0a6a1f1dSLionel Sambuc xorb (%esp,%ebp,1),%bl 712*0a6a1f1dSLionel Sambuc movb %dl,%al 713*0a6a1f1dSLionel Sambuc movd %mm7,%ecx 714*0a6a1f1dSLionel Sambuc movzbl %bl,%ebx 715*0a6a1f1dSLionel Sambuc psrlq $8,%mm7 716*0a6a1f1dSLionel Sambuc movq %mm6,%mm3 717*0a6a1f1dSLionel Sambuc movl %eax,%ebp 718*0a6a1f1dSLionel Sambuc psrlq $8,%mm6 719*0a6a1f1dSLionel Sambuc pxor 272(%esp,%edi,8),%mm7 720*0a6a1f1dSLionel Sambuc andb $15,%al 721*0a6a1f1dSLionel Sambuc psllq $56,%mm3 722*0a6a1f1dSLionel Sambuc pxor %mm0,%mm6 723*0a6a1f1dSLionel Sambuc shrl $4,%ebp 724*0a6a1f1dSLionel Sambuc pinsrw $2,(%esi,%ebx,2),%mm2 725*0a6a1f1dSLionel Sambuc pxor 16(%esp,%eax,8),%mm7 726*0a6a1f1dSLionel Sambuc roll $8,%edx 727*0a6a1f1dSLionel Sambuc pxor 144(%esp,%eax,8),%mm6 728*0a6a1f1dSLionel Sambuc pxor %mm3,%mm7 729*0a6a1f1dSLionel Sambuc pxor 400(%esp,%edi,8),%mm6 730*0a6a1f1dSLionel Sambuc xorb (%esp,%edi,1),%cl 731*0a6a1f1dSLionel Sambuc movb %dl,%al 732*0a6a1f1dSLionel Sambuc movd %mm7,%ebx 733*0a6a1f1dSLionel Sambuc movzbl %cl,%ecx 734*0a6a1f1dSLionel Sambuc psrlq $8,%mm7 735*0a6a1f1dSLionel Sambuc movq %mm6,%mm3 736*0a6a1f1dSLionel Sambuc movl %eax,%edi 737*0a6a1f1dSLionel Sambuc psrlq $8,%mm6 738*0a6a1f1dSLionel Sambuc pxor 272(%esp,%ebp,8),%mm7 739*0a6a1f1dSLionel Sambuc andb $15,%al 740*0a6a1f1dSLionel Sambuc psllq $56,%mm3 741*0a6a1f1dSLionel Sambuc pxor %mm2,%mm6 742*0a6a1f1dSLionel Sambuc shrl $4,%edi 743*0a6a1f1dSLionel Sambuc pinsrw $2,(%esi,%ecx,2),%mm1 744*0a6a1f1dSLionel Sambuc pxor 16(%esp,%eax,8),%mm7 745*0a6a1f1dSLionel Sambuc roll $8,%edx 746*0a6a1f1dSLionel Sambuc pxor 144(%esp,%eax,8),%mm6 747*0a6a1f1dSLionel Sambuc pxor %mm3,%mm7 748*0a6a1f1dSLionel Sambuc pxor 400(%esp,%ebp,8),%mm6 749*0a6a1f1dSLionel Sambuc xorb (%esp,%ebp,1),%bl 750*0a6a1f1dSLionel Sambuc movb %dl,%al 751*0a6a1f1dSLionel Sambuc movd %mm7,%ecx 752*0a6a1f1dSLionel Sambuc movzbl %bl,%ebx 753*0a6a1f1dSLionel Sambuc psrlq $8,%mm7 754*0a6a1f1dSLionel Sambuc movq %mm6,%mm3 755*0a6a1f1dSLionel Sambuc movl %eax,%ebp 756*0a6a1f1dSLionel Sambuc psrlq $8,%mm6 757*0a6a1f1dSLionel Sambuc pxor 272(%esp,%edi,8),%mm7 758*0a6a1f1dSLionel Sambuc andb $15,%al 759*0a6a1f1dSLionel Sambuc psllq $56,%mm3 760*0a6a1f1dSLionel Sambuc pxor %mm1,%mm6 761*0a6a1f1dSLionel Sambuc shrl $4,%ebp 762*0a6a1f1dSLionel Sambuc pinsrw $2,(%esi,%ebx,2),%mm0 763*0a6a1f1dSLionel Sambuc pxor 16(%esp,%eax,8),%mm7 764*0a6a1f1dSLionel Sambuc roll $8,%edx 765*0a6a1f1dSLionel Sambuc pxor 144(%esp,%eax,8),%mm6 766*0a6a1f1dSLionel Sambuc pxor %mm3,%mm7 767*0a6a1f1dSLionel Sambuc pxor 400(%esp,%edi,8),%mm6 768*0a6a1f1dSLionel Sambuc xorb (%esp,%edi,1),%cl 769*0a6a1f1dSLionel Sambuc movb %dl,%al 770*0a6a1f1dSLionel Sambuc movl 528(%esp),%edx 771*0a6a1f1dSLionel Sambuc movd %mm7,%ebx 772*0a6a1f1dSLionel Sambuc movzbl %cl,%ecx 773*0a6a1f1dSLionel Sambuc psrlq $8,%mm7 774*0a6a1f1dSLionel Sambuc movq %mm6,%mm3 775*0a6a1f1dSLionel Sambuc movl %eax,%edi 776*0a6a1f1dSLionel Sambuc psrlq $8,%mm6 777*0a6a1f1dSLionel Sambuc pxor 272(%esp,%ebp,8),%mm7 778*0a6a1f1dSLionel Sambuc andb $15,%al 779*0a6a1f1dSLionel Sambuc psllq $56,%mm3 780*0a6a1f1dSLionel Sambuc pxor %mm0,%mm6 781*0a6a1f1dSLionel Sambuc shrl $4,%edi 782*0a6a1f1dSLionel Sambuc pinsrw $2,(%esi,%ecx,2),%mm2 783*0a6a1f1dSLionel Sambuc pxor 16(%esp,%eax,8),%mm7 784*0a6a1f1dSLionel Sambuc roll $8,%edx 785*0a6a1f1dSLionel Sambuc pxor 144(%esp,%eax,8),%mm6 786*0a6a1f1dSLionel Sambuc pxor %mm3,%mm7 787*0a6a1f1dSLionel Sambuc pxor 400(%esp,%ebp,8),%mm6 788*0a6a1f1dSLionel Sambuc xorb (%esp,%ebp,1),%bl 789*0a6a1f1dSLionel Sambuc movb %dl,%al 790*0a6a1f1dSLionel Sambuc movd %mm7,%ecx 791*0a6a1f1dSLionel Sambuc movzbl %bl,%ebx 792*0a6a1f1dSLionel Sambuc psrlq $8,%mm7 793*0a6a1f1dSLionel Sambuc movq %mm6,%mm3 794*0a6a1f1dSLionel Sambuc movl %eax,%ebp 795*0a6a1f1dSLionel Sambuc psrlq $8,%mm6 796*0a6a1f1dSLionel Sambuc pxor 272(%esp,%edi,8),%mm7 797*0a6a1f1dSLionel Sambuc andb $15,%al 798*0a6a1f1dSLionel Sambuc psllq $56,%mm3 799*0a6a1f1dSLionel Sambuc pxor %mm2,%mm6 800*0a6a1f1dSLionel Sambuc shrl $4,%ebp 801*0a6a1f1dSLionel Sambuc pinsrw $2,(%esi,%ebx,2),%mm1 802*0a6a1f1dSLionel Sambuc pxor 16(%esp,%eax,8),%mm7 803*0a6a1f1dSLionel Sambuc roll $8,%edx 804*0a6a1f1dSLionel Sambuc pxor 144(%esp,%eax,8),%mm6 805*0a6a1f1dSLionel Sambuc pxor %mm3,%mm7 806*0a6a1f1dSLionel Sambuc pxor 400(%esp,%edi,8),%mm6 807*0a6a1f1dSLionel Sambuc xorb (%esp,%edi,1),%cl 808*0a6a1f1dSLionel Sambuc movb %dl,%al 809*0a6a1f1dSLionel Sambuc movd %mm7,%ebx 810*0a6a1f1dSLionel Sambuc movzbl %cl,%ecx 811*0a6a1f1dSLionel Sambuc psrlq $8,%mm7 812*0a6a1f1dSLionel Sambuc movq %mm6,%mm3 813*0a6a1f1dSLionel Sambuc movl %eax,%edi 814*0a6a1f1dSLionel Sambuc psrlq $8,%mm6 815*0a6a1f1dSLionel Sambuc pxor 272(%esp,%ebp,8),%mm7 816*0a6a1f1dSLionel Sambuc andb $15,%al 817*0a6a1f1dSLionel Sambuc psllq $56,%mm3 818*0a6a1f1dSLionel Sambuc pxor %mm1,%mm6 819*0a6a1f1dSLionel Sambuc shrl $4,%edi 820*0a6a1f1dSLionel Sambuc pinsrw $2,(%esi,%ecx,2),%mm0 821*0a6a1f1dSLionel Sambuc pxor 16(%esp,%eax,8),%mm7 822*0a6a1f1dSLionel Sambuc roll $8,%edx 823*0a6a1f1dSLionel Sambuc pxor 144(%esp,%eax,8),%mm6 824*0a6a1f1dSLionel Sambuc pxor %mm3,%mm7 825*0a6a1f1dSLionel Sambuc pxor 400(%esp,%ebp,8),%mm6 826*0a6a1f1dSLionel Sambuc xorb (%esp,%ebp,1),%bl 827*0a6a1f1dSLionel Sambuc movb %dl,%al 828*0a6a1f1dSLionel Sambuc movd %mm7,%ecx 829*0a6a1f1dSLionel Sambuc movzbl %bl,%ebx 830*0a6a1f1dSLionel Sambuc psrlq $8,%mm7 831*0a6a1f1dSLionel Sambuc movq %mm6,%mm3 832*0a6a1f1dSLionel Sambuc movl %eax,%ebp 833*0a6a1f1dSLionel Sambuc psrlq $8,%mm6 834*0a6a1f1dSLionel Sambuc pxor 272(%esp,%edi,8),%mm7 835*0a6a1f1dSLionel Sambuc andb $15,%al 836*0a6a1f1dSLionel Sambuc psllq $56,%mm3 837*0a6a1f1dSLionel Sambuc pxor %mm0,%mm6 838*0a6a1f1dSLionel Sambuc shrl $4,%ebp 839*0a6a1f1dSLionel Sambuc pinsrw $2,(%esi,%ebx,2),%mm2 840*0a6a1f1dSLionel Sambuc pxor 16(%esp,%eax,8),%mm7 841*0a6a1f1dSLionel Sambuc roll $8,%edx 842*0a6a1f1dSLionel Sambuc pxor 144(%esp,%eax,8),%mm6 843*0a6a1f1dSLionel Sambuc pxor %mm3,%mm7 844*0a6a1f1dSLionel Sambuc pxor 400(%esp,%edi,8),%mm6 845*0a6a1f1dSLionel Sambuc xorb (%esp,%edi,1),%cl 846*0a6a1f1dSLionel Sambuc movb %dl,%al 847*0a6a1f1dSLionel Sambuc movl 524(%esp),%edx 848*0a6a1f1dSLionel Sambuc movd %mm7,%ebx 849*0a6a1f1dSLionel Sambuc movzbl %cl,%ecx 850*0a6a1f1dSLionel Sambuc psrlq $8,%mm7 851*0a6a1f1dSLionel Sambuc movq %mm6,%mm3 852*0a6a1f1dSLionel Sambuc movl %eax,%edi 853*0a6a1f1dSLionel Sambuc psrlq $8,%mm6 854*0a6a1f1dSLionel Sambuc pxor 272(%esp,%ebp,8),%mm7 855*0a6a1f1dSLionel Sambuc andb $15,%al 856*0a6a1f1dSLionel Sambuc psllq $56,%mm3 857*0a6a1f1dSLionel Sambuc pxor %mm2,%mm6 858*0a6a1f1dSLionel Sambuc shrl $4,%edi 859*0a6a1f1dSLionel Sambuc pinsrw $2,(%esi,%ecx,2),%mm1 860*0a6a1f1dSLionel Sambuc pxor 16(%esp,%eax,8),%mm7 861*0a6a1f1dSLionel Sambuc pxor 144(%esp,%eax,8),%mm6 862*0a6a1f1dSLionel Sambuc xorb (%esp,%ebp,1),%bl 863*0a6a1f1dSLionel Sambuc pxor %mm3,%mm7 864*0a6a1f1dSLionel Sambuc pxor 400(%esp,%ebp,8),%mm6 865*0a6a1f1dSLionel Sambuc movzbl %bl,%ebx 866*0a6a1f1dSLionel Sambuc pxor %mm2,%mm2 867*0a6a1f1dSLionel Sambuc psllq $4,%mm1 868*0a6a1f1dSLionel Sambuc movd %mm7,%ecx 869*0a6a1f1dSLionel Sambuc psrlq $4,%mm7 870*0a6a1f1dSLionel Sambuc movq %mm6,%mm3 871*0a6a1f1dSLionel Sambuc psrlq $4,%mm6 872*0a6a1f1dSLionel Sambuc shll $4,%ecx 873*0a6a1f1dSLionel Sambuc pxor 16(%esp,%edi,8),%mm7 874*0a6a1f1dSLionel Sambuc psllq $60,%mm3 875*0a6a1f1dSLionel Sambuc movzbl %cl,%ecx 876*0a6a1f1dSLionel Sambuc pxor %mm3,%mm7 877*0a6a1f1dSLionel Sambuc pxor 144(%esp,%edi,8),%mm6 878*0a6a1f1dSLionel Sambuc pinsrw $2,(%esi,%ebx,2),%mm0 879*0a6a1f1dSLionel Sambuc pxor %mm1,%mm6 880*0a6a1f1dSLionel Sambuc movd %mm7,%edx 881*0a6a1f1dSLionel Sambuc pinsrw $3,(%esi,%ecx,2),%mm2 882*0a6a1f1dSLionel Sambuc psllq $12,%mm0 883*0a6a1f1dSLionel Sambuc pxor %mm0,%mm6 884*0a6a1f1dSLionel Sambuc psrlq $32,%mm7 885*0a6a1f1dSLionel Sambuc pxor %mm2,%mm6 886*0a6a1f1dSLionel Sambuc movl 548(%esp),%ecx 887*0a6a1f1dSLionel Sambuc movd %mm7,%ebx 888*0a6a1f1dSLionel Sambuc movq %mm6,%mm3 889*0a6a1f1dSLionel Sambuc psllw $8,%mm6 890*0a6a1f1dSLionel Sambuc psrlw $8,%mm3 891*0a6a1f1dSLionel Sambuc por %mm3,%mm6 892*0a6a1f1dSLionel Sambuc bswap %edx 893*0a6a1f1dSLionel Sambuc pshufw $27,%mm6,%mm6 894*0a6a1f1dSLionel Sambuc bswap %ebx 895*0a6a1f1dSLionel Sambuc cmpl 552(%esp),%ecx 896*0a6a1f1dSLionel Sambuc jne .L009outer 897*0a6a1f1dSLionel Sambuc movl 544(%esp),%eax 898*0a6a1f1dSLionel Sambuc movl %edx,12(%eax) 899*0a6a1f1dSLionel Sambuc movl %ebx,8(%eax) 900*0a6a1f1dSLionel Sambuc movq %mm6,(%eax) 901*0a6a1f1dSLionel Sambuc movl 556(%esp),%esp 902ebfedea0SLionel Sambuc emms 903ebfedea0SLionel Sambuc popl %edi 904ebfedea0SLionel Sambuc popl %esi 905ebfedea0SLionel Sambuc popl %ebx 906ebfedea0SLionel Sambuc popl %ebp 907ebfedea0SLionel Sambuc ret 908ebfedea0SLionel Sambuc.size gcm_ghash_4bit_mmx,.-.L_gcm_ghash_4bit_mmx_begin 909*0a6a1f1dSLionel Sambuc.globl gcm_init_clmul 910*0a6a1f1dSLionel Sambuc.type gcm_init_clmul,@function 911*0a6a1f1dSLionel Sambuc.align 16 912*0a6a1f1dSLionel Sambucgcm_init_clmul: 913*0a6a1f1dSLionel Sambuc.L_gcm_init_clmul_begin: 914*0a6a1f1dSLionel Sambuc movl 4(%esp),%edx 915*0a6a1f1dSLionel Sambuc movl 8(%esp),%eax 916*0a6a1f1dSLionel Sambuc call .L010pic 917*0a6a1f1dSLionel Sambuc.L010pic: 918*0a6a1f1dSLionel Sambuc popl %ecx 919*0a6a1f1dSLionel Sambuc leal .Lbswap-.L010pic(%ecx),%ecx 920*0a6a1f1dSLionel Sambuc movdqu (%eax),%xmm2 921*0a6a1f1dSLionel Sambuc pshufd $78,%xmm2,%xmm2 922*0a6a1f1dSLionel Sambuc pshufd $255,%xmm2,%xmm4 923*0a6a1f1dSLionel Sambuc movdqa %xmm2,%xmm3 924*0a6a1f1dSLionel Sambuc psllq $1,%xmm2 925*0a6a1f1dSLionel Sambuc pxor %xmm5,%xmm5 926*0a6a1f1dSLionel Sambuc psrlq $63,%xmm3 927*0a6a1f1dSLionel Sambuc pcmpgtd %xmm4,%xmm5 928*0a6a1f1dSLionel Sambuc pslldq $8,%xmm3 929*0a6a1f1dSLionel Sambuc por %xmm3,%xmm2 930*0a6a1f1dSLionel Sambuc pand 16(%ecx),%xmm5 931*0a6a1f1dSLionel Sambuc pxor %xmm5,%xmm2 932*0a6a1f1dSLionel Sambuc movdqa %xmm2,%xmm0 933*0a6a1f1dSLionel Sambuc movdqa %xmm0,%xmm1 934*0a6a1f1dSLionel Sambuc pshufd $78,%xmm0,%xmm3 935*0a6a1f1dSLionel Sambuc pshufd $78,%xmm2,%xmm4 936*0a6a1f1dSLionel Sambuc pxor %xmm0,%xmm3 937*0a6a1f1dSLionel Sambuc pxor %xmm2,%xmm4 938*0a6a1f1dSLionel Sambuc.byte 102,15,58,68,194,0 939*0a6a1f1dSLionel Sambuc.byte 102,15,58,68,202,17 940*0a6a1f1dSLionel Sambuc.byte 102,15,58,68,220,0 941*0a6a1f1dSLionel Sambuc xorps %xmm0,%xmm3 942*0a6a1f1dSLionel Sambuc xorps %xmm1,%xmm3 943*0a6a1f1dSLionel Sambuc movdqa %xmm3,%xmm4 944*0a6a1f1dSLionel Sambuc psrldq $8,%xmm3 945*0a6a1f1dSLionel Sambuc pslldq $8,%xmm4 946*0a6a1f1dSLionel Sambuc pxor %xmm3,%xmm1 947*0a6a1f1dSLionel Sambuc pxor %xmm4,%xmm0 948*0a6a1f1dSLionel Sambuc movdqa %xmm0,%xmm3 949*0a6a1f1dSLionel Sambuc psllq $1,%xmm0 950*0a6a1f1dSLionel Sambuc pxor %xmm3,%xmm0 951*0a6a1f1dSLionel Sambuc psllq $5,%xmm0 952*0a6a1f1dSLionel Sambuc pxor %xmm3,%xmm0 953*0a6a1f1dSLionel Sambuc psllq $57,%xmm0 954*0a6a1f1dSLionel Sambuc movdqa %xmm0,%xmm4 955*0a6a1f1dSLionel Sambuc pslldq $8,%xmm0 956*0a6a1f1dSLionel Sambuc psrldq $8,%xmm4 957*0a6a1f1dSLionel Sambuc pxor %xmm3,%xmm0 958*0a6a1f1dSLionel Sambuc pxor %xmm4,%xmm1 959*0a6a1f1dSLionel Sambuc movdqa %xmm0,%xmm4 960*0a6a1f1dSLionel Sambuc psrlq $5,%xmm0 961*0a6a1f1dSLionel Sambuc pxor %xmm4,%xmm0 962*0a6a1f1dSLionel Sambuc psrlq $1,%xmm0 963*0a6a1f1dSLionel Sambuc pxor %xmm4,%xmm0 964*0a6a1f1dSLionel Sambuc pxor %xmm1,%xmm4 965*0a6a1f1dSLionel Sambuc psrlq $1,%xmm0 966*0a6a1f1dSLionel Sambuc pxor %xmm4,%xmm0 967*0a6a1f1dSLionel Sambuc movdqu %xmm2,(%edx) 968*0a6a1f1dSLionel Sambuc movdqu %xmm0,16(%edx) 969*0a6a1f1dSLionel Sambuc ret 970*0a6a1f1dSLionel Sambuc.size gcm_init_clmul,.-.L_gcm_init_clmul_begin 971*0a6a1f1dSLionel Sambuc.globl gcm_gmult_clmul 972*0a6a1f1dSLionel Sambuc.type gcm_gmult_clmul,@function 973*0a6a1f1dSLionel Sambuc.align 16 974*0a6a1f1dSLionel Sambucgcm_gmult_clmul: 975*0a6a1f1dSLionel Sambuc.L_gcm_gmult_clmul_begin: 976*0a6a1f1dSLionel Sambuc movl 4(%esp),%eax 977*0a6a1f1dSLionel Sambuc movl 8(%esp),%edx 978*0a6a1f1dSLionel Sambuc call .L011pic 979*0a6a1f1dSLionel Sambuc.L011pic: 980*0a6a1f1dSLionel Sambuc popl %ecx 981*0a6a1f1dSLionel Sambuc leal .Lbswap-.L011pic(%ecx),%ecx 982*0a6a1f1dSLionel Sambuc movdqu (%eax),%xmm0 983*0a6a1f1dSLionel Sambuc movdqa (%ecx),%xmm5 984*0a6a1f1dSLionel Sambuc movups (%edx),%xmm2 985*0a6a1f1dSLionel Sambuc.byte 102,15,56,0,197 986*0a6a1f1dSLionel Sambuc movdqa %xmm0,%xmm1 987*0a6a1f1dSLionel Sambuc pshufd $78,%xmm0,%xmm3 988*0a6a1f1dSLionel Sambuc pshufd $78,%xmm2,%xmm4 989*0a6a1f1dSLionel Sambuc pxor %xmm0,%xmm3 990*0a6a1f1dSLionel Sambuc pxor %xmm2,%xmm4 991*0a6a1f1dSLionel Sambuc.byte 102,15,58,68,194,0 992*0a6a1f1dSLionel Sambuc.byte 102,15,58,68,202,17 993*0a6a1f1dSLionel Sambuc.byte 102,15,58,68,220,0 994*0a6a1f1dSLionel Sambuc xorps %xmm0,%xmm3 995*0a6a1f1dSLionel Sambuc xorps %xmm1,%xmm3 996*0a6a1f1dSLionel Sambuc movdqa %xmm3,%xmm4 997*0a6a1f1dSLionel Sambuc psrldq $8,%xmm3 998*0a6a1f1dSLionel Sambuc pslldq $8,%xmm4 999*0a6a1f1dSLionel Sambuc pxor %xmm3,%xmm1 1000*0a6a1f1dSLionel Sambuc pxor %xmm4,%xmm0 1001*0a6a1f1dSLionel Sambuc movdqa %xmm0,%xmm3 1002*0a6a1f1dSLionel Sambuc psllq $1,%xmm0 1003*0a6a1f1dSLionel Sambuc pxor %xmm3,%xmm0 1004*0a6a1f1dSLionel Sambuc psllq $5,%xmm0 1005*0a6a1f1dSLionel Sambuc pxor %xmm3,%xmm0 1006*0a6a1f1dSLionel Sambuc psllq $57,%xmm0 1007*0a6a1f1dSLionel Sambuc movdqa %xmm0,%xmm4 1008*0a6a1f1dSLionel Sambuc pslldq $8,%xmm0 1009*0a6a1f1dSLionel Sambuc psrldq $8,%xmm4 1010*0a6a1f1dSLionel Sambuc pxor %xmm3,%xmm0 1011*0a6a1f1dSLionel Sambuc pxor %xmm4,%xmm1 1012*0a6a1f1dSLionel Sambuc movdqa %xmm0,%xmm4 1013*0a6a1f1dSLionel Sambuc psrlq $5,%xmm0 1014*0a6a1f1dSLionel Sambuc pxor %xmm4,%xmm0 1015*0a6a1f1dSLionel Sambuc psrlq $1,%xmm0 1016*0a6a1f1dSLionel Sambuc pxor %xmm4,%xmm0 1017*0a6a1f1dSLionel Sambuc pxor %xmm1,%xmm4 1018*0a6a1f1dSLionel Sambuc psrlq $1,%xmm0 1019*0a6a1f1dSLionel Sambuc pxor %xmm4,%xmm0 1020*0a6a1f1dSLionel Sambuc.byte 102,15,56,0,197 1021*0a6a1f1dSLionel Sambuc movdqu %xmm0,(%eax) 1022*0a6a1f1dSLionel Sambuc ret 1023*0a6a1f1dSLionel Sambuc.size gcm_gmult_clmul,.-.L_gcm_gmult_clmul_begin 1024*0a6a1f1dSLionel Sambuc.globl gcm_ghash_clmul 1025*0a6a1f1dSLionel Sambuc.type gcm_ghash_clmul,@function 1026*0a6a1f1dSLionel Sambuc.align 16 1027*0a6a1f1dSLionel Sambucgcm_ghash_clmul: 1028*0a6a1f1dSLionel Sambuc.L_gcm_ghash_clmul_begin: 1029*0a6a1f1dSLionel Sambuc pushl %ebp 1030*0a6a1f1dSLionel Sambuc pushl %ebx 1031*0a6a1f1dSLionel Sambuc pushl %esi 1032*0a6a1f1dSLionel Sambuc pushl %edi 1033*0a6a1f1dSLionel Sambuc movl 20(%esp),%eax 1034*0a6a1f1dSLionel Sambuc movl 24(%esp),%edx 1035*0a6a1f1dSLionel Sambuc movl 28(%esp),%esi 1036*0a6a1f1dSLionel Sambuc movl 32(%esp),%ebx 1037*0a6a1f1dSLionel Sambuc call .L012pic 1038*0a6a1f1dSLionel Sambuc.L012pic: 1039*0a6a1f1dSLionel Sambuc popl %ecx 1040*0a6a1f1dSLionel Sambuc leal .Lbswap-.L012pic(%ecx),%ecx 1041*0a6a1f1dSLionel Sambuc movdqu (%eax),%xmm0 1042*0a6a1f1dSLionel Sambuc movdqa (%ecx),%xmm5 1043*0a6a1f1dSLionel Sambuc movdqu (%edx),%xmm2 1044*0a6a1f1dSLionel Sambuc.byte 102,15,56,0,197 1045*0a6a1f1dSLionel Sambuc subl $16,%ebx 1046*0a6a1f1dSLionel Sambuc jz .L013odd_tail 1047*0a6a1f1dSLionel Sambuc movdqu (%esi),%xmm3 1048*0a6a1f1dSLionel Sambuc movdqu 16(%esi),%xmm6 1049*0a6a1f1dSLionel Sambuc.byte 102,15,56,0,221 1050*0a6a1f1dSLionel Sambuc.byte 102,15,56,0,245 1051*0a6a1f1dSLionel Sambuc pxor %xmm3,%xmm0 1052*0a6a1f1dSLionel Sambuc movdqa %xmm6,%xmm7 1053*0a6a1f1dSLionel Sambuc pshufd $78,%xmm6,%xmm3 1054*0a6a1f1dSLionel Sambuc pshufd $78,%xmm2,%xmm4 1055*0a6a1f1dSLionel Sambuc pxor %xmm6,%xmm3 1056*0a6a1f1dSLionel Sambuc pxor %xmm2,%xmm4 1057*0a6a1f1dSLionel Sambuc.byte 102,15,58,68,242,0 1058*0a6a1f1dSLionel Sambuc.byte 102,15,58,68,250,17 1059*0a6a1f1dSLionel Sambuc.byte 102,15,58,68,220,0 1060*0a6a1f1dSLionel Sambuc xorps %xmm6,%xmm3 1061*0a6a1f1dSLionel Sambuc xorps %xmm7,%xmm3 1062*0a6a1f1dSLionel Sambuc movdqa %xmm3,%xmm4 1063*0a6a1f1dSLionel Sambuc psrldq $8,%xmm3 1064*0a6a1f1dSLionel Sambuc pslldq $8,%xmm4 1065*0a6a1f1dSLionel Sambuc pxor %xmm3,%xmm7 1066*0a6a1f1dSLionel Sambuc pxor %xmm4,%xmm6 1067*0a6a1f1dSLionel Sambuc movups 16(%edx),%xmm2 1068*0a6a1f1dSLionel Sambuc leal 32(%esi),%esi 1069*0a6a1f1dSLionel Sambuc subl $32,%ebx 1070*0a6a1f1dSLionel Sambuc jbe .L014even_tail 1071*0a6a1f1dSLionel Sambuc.L015mod_loop: 1072*0a6a1f1dSLionel Sambuc movdqa %xmm0,%xmm1 1073*0a6a1f1dSLionel Sambuc pshufd $78,%xmm0,%xmm3 1074*0a6a1f1dSLionel Sambuc pshufd $78,%xmm2,%xmm4 1075*0a6a1f1dSLionel Sambuc pxor %xmm0,%xmm3 1076*0a6a1f1dSLionel Sambuc pxor %xmm2,%xmm4 1077*0a6a1f1dSLionel Sambuc.byte 102,15,58,68,194,0 1078*0a6a1f1dSLionel Sambuc.byte 102,15,58,68,202,17 1079*0a6a1f1dSLionel Sambuc.byte 102,15,58,68,220,0 1080*0a6a1f1dSLionel Sambuc xorps %xmm0,%xmm3 1081*0a6a1f1dSLionel Sambuc xorps %xmm1,%xmm3 1082*0a6a1f1dSLionel Sambuc movdqa %xmm3,%xmm4 1083*0a6a1f1dSLionel Sambuc psrldq $8,%xmm3 1084*0a6a1f1dSLionel Sambuc pslldq $8,%xmm4 1085*0a6a1f1dSLionel Sambuc pxor %xmm3,%xmm1 1086*0a6a1f1dSLionel Sambuc pxor %xmm4,%xmm0 1087*0a6a1f1dSLionel Sambuc movdqu (%esi),%xmm3 1088*0a6a1f1dSLionel Sambuc movups (%edx),%xmm2 1089*0a6a1f1dSLionel Sambuc pxor %xmm6,%xmm0 1090*0a6a1f1dSLionel Sambuc pxor %xmm7,%xmm1 1091*0a6a1f1dSLionel Sambuc movdqu 16(%esi),%xmm6 1092*0a6a1f1dSLionel Sambuc.byte 102,15,56,0,221 1093*0a6a1f1dSLionel Sambuc.byte 102,15,56,0,245 1094*0a6a1f1dSLionel Sambuc movdqa %xmm6,%xmm5 1095*0a6a1f1dSLionel Sambuc movdqa %xmm6,%xmm7 1096*0a6a1f1dSLionel Sambuc pxor %xmm3,%xmm1 1097*0a6a1f1dSLionel Sambuc movdqa %xmm0,%xmm3 1098*0a6a1f1dSLionel Sambuc psllq $1,%xmm0 1099*0a6a1f1dSLionel Sambuc pxor %xmm3,%xmm0 1100*0a6a1f1dSLionel Sambuc psllq $5,%xmm0 1101*0a6a1f1dSLionel Sambuc pxor %xmm3,%xmm0 1102*0a6a1f1dSLionel Sambuc.byte 102,15,58,68,242,0 1103*0a6a1f1dSLionel Sambuc psllq $57,%xmm0 1104*0a6a1f1dSLionel Sambuc movdqa %xmm0,%xmm4 1105*0a6a1f1dSLionel Sambuc pslldq $8,%xmm0 1106*0a6a1f1dSLionel Sambuc psrldq $8,%xmm4 1107*0a6a1f1dSLionel Sambuc pxor %xmm3,%xmm0 1108*0a6a1f1dSLionel Sambuc pshufd $78,%xmm5,%xmm3 1109*0a6a1f1dSLionel Sambuc pxor %xmm4,%xmm1 1110*0a6a1f1dSLionel Sambuc pxor %xmm5,%xmm3 1111*0a6a1f1dSLionel Sambuc pshufd $78,%xmm2,%xmm5 1112*0a6a1f1dSLionel Sambuc pxor %xmm2,%xmm5 1113*0a6a1f1dSLionel Sambuc.byte 102,15,58,68,250,17 1114*0a6a1f1dSLionel Sambuc movdqa %xmm0,%xmm4 1115*0a6a1f1dSLionel Sambuc psrlq $5,%xmm0 1116*0a6a1f1dSLionel Sambuc pxor %xmm4,%xmm0 1117*0a6a1f1dSLionel Sambuc psrlq $1,%xmm0 1118*0a6a1f1dSLionel Sambuc pxor %xmm4,%xmm0 1119*0a6a1f1dSLionel Sambuc pxor %xmm1,%xmm4 1120*0a6a1f1dSLionel Sambuc psrlq $1,%xmm0 1121*0a6a1f1dSLionel Sambuc pxor %xmm4,%xmm0 1122*0a6a1f1dSLionel Sambuc.byte 102,15,58,68,221,0 1123*0a6a1f1dSLionel Sambuc movups 16(%edx),%xmm2 1124*0a6a1f1dSLionel Sambuc xorps %xmm6,%xmm3 1125*0a6a1f1dSLionel Sambuc xorps %xmm7,%xmm3 1126*0a6a1f1dSLionel Sambuc movdqa %xmm3,%xmm5 1127*0a6a1f1dSLionel Sambuc psrldq $8,%xmm3 1128*0a6a1f1dSLionel Sambuc pslldq $8,%xmm5 1129*0a6a1f1dSLionel Sambuc pxor %xmm3,%xmm7 1130*0a6a1f1dSLionel Sambuc pxor %xmm5,%xmm6 1131*0a6a1f1dSLionel Sambuc movdqa (%ecx),%xmm5 1132*0a6a1f1dSLionel Sambuc leal 32(%esi),%esi 1133*0a6a1f1dSLionel Sambuc subl $32,%ebx 1134*0a6a1f1dSLionel Sambuc ja .L015mod_loop 1135*0a6a1f1dSLionel Sambuc.L014even_tail: 1136*0a6a1f1dSLionel Sambuc movdqa %xmm0,%xmm1 1137*0a6a1f1dSLionel Sambuc pshufd $78,%xmm0,%xmm3 1138*0a6a1f1dSLionel Sambuc pshufd $78,%xmm2,%xmm4 1139*0a6a1f1dSLionel Sambuc pxor %xmm0,%xmm3 1140*0a6a1f1dSLionel Sambuc pxor %xmm2,%xmm4 1141*0a6a1f1dSLionel Sambuc.byte 102,15,58,68,194,0 1142*0a6a1f1dSLionel Sambuc.byte 102,15,58,68,202,17 1143*0a6a1f1dSLionel Sambuc.byte 102,15,58,68,220,0 1144*0a6a1f1dSLionel Sambuc xorps %xmm0,%xmm3 1145*0a6a1f1dSLionel Sambuc xorps %xmm1,%xmm3 1146*0a6a1f1dSLionel Sambuc movdqa %xmm3,%xmm4 1147*0a6a1f1dSLionel Sambuc psrldq $8,%xmm3 1148*0a6a1f1dSLionel Sambuc pslldq $8,%xmm4 1149*0a6a1f1dSLionel Sambuc pxor %xmm3,%xmm1 1150*0a6a1f1dSLionel Sambuc pxor %xmm4,%xmm0 1151*0a6a1f1dSLionel Sambuc pxor %xmm6,%xmm0 1152*0a6a1f1dSLionel Sambuc pxor %xmm7,%xmm1 1153*0a6a1f1dSLionel Sambuc movdqa %xmm0,%xmm3 1154*0a6a1f1dSLionel Sambuc psllq $1,%xmm0 1155*0a6a1f1dSLionel Sambuc pxor %xmm3,%xmm0 1156*0a6a1f1dSLionel Sambuc psllq $5,%xmm0 1157*0a6a1f1dSLionel Sambuc pxor %xmm3,%xmm0 1158*0a6a1f1dSLionel Sambuc psllq $57,%xmm0 1159*0a6a1f1dSLionel Sambuc movdqa %xmm0,%xmm4 1160*0a6a1f1dSLionel Sambuc pslldq $8,%xmm0 1161*0a6a1f1dSLionel Sambuc psrldq $8,%xmm4 1162*0a6a1f1dSLionel Sambuc pxor %xmm3,%xmm0 1163*0a6a1f1dSLionel Sambuc pxor %xmm4,%xmm1 1164*0a6a1f1dSLionel Sambuc movdqa %xmm0,%xmm4 1165*0a6a1f1dSLionel Sambuc psrlq $5,%xmm0 1166*0a6a1f1dSLionel Sambuc pxor %xmm4,%xmm0 1167*0a6a1f1dSLionel Sambuc psrlq $1,%xmm0 1168*0a6a1f1dSLionel Sambuc pxor %xmm4,%xmm0 1169*0a6a1f1dSLionel Sambuc pxor %xmm1,%xmm4 1170*0a6a1f1dSLionel Sambuc psrlq $1,%xmm0 1171*0a6a1f1dSLionel Sambuc pxor %xmm4,%xmm0 1172*0a6a1f1dSLionel Sambuc testl %ebx,%ebx 1173*0a6a1f1dSLionel Sambuc jnz .L016done 1174*0a6a1f1dSLionel Sambuc movups (%edx),%xmm2 1175*0a6a1f1dSLionel Sambuc.L013odd_tail: 1176*0a6a1f1dSLionel Sambuc movdqu (%esi),%xmm3 1177*0a6a1f1dSLionel Sambuc.byte 102,15,56,0,221 1178*0a6a1f1dSLionel Sambuc pxor %xmm3,%xmm0 1179*0a6a1f1dSLionel Sambuc movdqa %xmm0,%xmm1 1180*0a6a1f1dSLionel Sambuc pshufd $78,%xmm0,%xmm3 1181*0a6a1f1dSLionel Sambuc pshufd $78,%xmm2,%xmm4 1182*0a6a1f1dSLionel Sambuc pxor %xmm0,%xmm3 1183*0a6a1f1dSLionel Sambuc pxor %xmm2,%xmm4 1184*0a6a1f1dSLionel Sambuc.byte 102,15,58,68,194,0 1185*0a6a1f1dSLionel Sambuc.byte 102,15,58,68,202,17 1186*0a6a1f1dSLionel Sambuc.byte 102,15,58,68,220,0 1187*0a6a1f1dSLionel Sambuc xorps %xmm0,%xmm3 1188*0a6a1f1dSLionel Sambuc xorps %xmm1,%xmm3 1189*0a6a1f1dSLionel Sambuc movdqa %xmm3,%xmm4 1190*0a6a1f1dSLionel Sambuc psrldq $8,%xmm3 1191*0a6a1f1dSLionel Sambuc pslldq $8,%xmm4 1192*0a6a1f1dSLionel Sambuc pxor %xmm3,%xmm1 1193*0a6a1f1dSLionel Sambuc pxor %xmm4,%xmm0 1194*0a6a1f1dSLionel Sambuc movdqa %xmm0,%xmm3 1195*0a6a1f1dSLionel Sambuc psllq $1,%xmm0 1196*0a6a1f1dSLionel Sambuc pxor %xmm3,%xmm0 1197*0a6a1f1dSLionel Sambuc psllq $5,%xmm0 1198*0a6a1f1dSLionel Sambuc pxor %xmm3,%xmm0 1199*0a6a1f1dSLionel Sambuc psllq $57,%xmm0 1200*0a6a1f1dSLionel Sambuc movdqa %xmm0,%xmm4 1201*0a6a1f1dSLionel Sambuc pslldq $8,%xmm0 1202*0a6a1f1dSLionel Sambuc psrldq $8,%xmm4 1203*0a6a1f1dSLionel Sambuc pxor %xmm3,%xmm0 1204*0a6a1f1dSLionel Sambuc pxor %xmm4,%xmm1 1205*0a6a1f1dSLionel Sambuc movdqa %xmm0,%xmm4 1206*0a6a1f1dSLionel Sambuc psrlq $5,%xmm0 1207*0a6a1f1dSLionel Sambuc pxor %xmm4,%xmm0 1208*0a6a1f1dSLionel Sambuc psrlq $1,%xmm0 1209*0a6a1f1dSLionel Sambuc pxor %xmm4,%xmm0 1210*0a6a1f1dSLionel Sambuc pxor %xmm1,%xmm4 1211*0a6a1f1dSLionel Sambuc psrlq $1,%xmm0 1212*0a6a1f1dSLionel Sambuc pxor %xmm4,%xmm0 1213*0a6a1f1dSLionel Sambuc.L016done: 1214*0a6a1f1dSLionel Sambuc.byte 102,15,56,0,197 1215*0a6a1f1dSLionel Sambuc movdqu %xmm0,(%eax) 1216*0a6a1f1dSLionel Sambuc popl %edi 1217*0a6a1f1dSLionel Sambuc popl %esi 1218*0a6a1f1dSLionel Sambuc popl %ebx 1219*0a6a1f1dSLionel Sambuc popl %ebp 1220*0a6a1f1dSLionel Sambuc ret 1221*0a6a1f1dSLionel Sambuc.size gcm_ghash_clmul,.-.L_gcm_ghash_clmul_begin 1222*0a6a1f1dSLionel Sambuc.align 64 1223*0a6a1f1dSLionel Sambuc.Lbswap: 1224*0a6a1f1dSLionel Sambuc.byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 1225*0a6a1f1dSLionel Sambuc.byte 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194 1226ebfedea0SLionel Sambuc.align 64 1227ebfedea0SLionel Sambuc.Lrem_4bit: 1228*0a6a1f1dSLionel Sambuc.long 0,0,0,471859200,0,943718400,0,610271232 1229*0a6a1f1dSLionel Sambuc.long 0,1887436800,0,1822425088,0,1220542464,0,1423966208 1230*0a6a1f1dSLionel Sambuc.long 0,3774873600,0,4246732800,0,3644850176,0,3311403008 1231*0a6a1f1dSLionel Sambuc.long 0,2441084928,0,2376073216,0,2847932416,0,3051356160 1232ebfedea0SLionel Sambuc.align 64 1233*0a6a1f1dSLionel Sambuc.Lrem_8bit: 1234ebfedea0SLionel Sambuc.value 0,450,900,582,1800,1738,1164,1358 1235ebfedea0SLionel Sambuc.value 3600,4050,3476,3158,2328,2266,2716,2910 1236ebfedea0SLionel Sambuc.value 7200,7650,8100,7782,6952,6890,6316,6510 1237ebfedea0SLionel Sambuc.value 4656,5106,4532,4214,5432,5370,5820,6014 1238ebfedea0SLionel Sambuc.value 14400,14722,15300,14854,16200,16010,15564,15630 1239ebfedea0SLionel Sambuc.value 13904,14226,13780,13334,12632,12442,13020,13086 1240ebfedea0SLionel Sambuc.value 9312,9634,10212,9766,9064,8874,8428,8494 1241ebfedea0SLionel Sambuc.value 10864,11186,10740,10294,11640,11450,12028,12094 1242ebfedea0SLionel Sambuc.value 28800,28994,29444,29382,30600,30282,29708,30158 1243ebfedea0SLionel Sambuc.value 32400,32594,32020,31958,31128,30810,31260,31710 1244ebfedea0SLionel Sambuc.value 27808,28002,28452,28390,27560,27242,26668,27118 1245ebfedea0SLionel Sambuc.value 25264,25458,24884,24822,26040,25722,26172,26622 1246ebfedea0SLionel Sambuc.value 18624,18690,19268,19078,20424,19978,19532,19854 1247ebfedea0SLionel Sambuc.value 18128,18194,17748,17558,16856,16410,16988,17310 1248ebfedea0SLionel Sambuc.value 21728,21794,22372,22182,21480,21034,20588,20910 1249ebfedea0SLionel Sambuc.value 23280,23346,22900,22710,24056,23610,24188,24510 1250ebfedea0SLionel Sambuc.value 57600,57538,57988,58182,58888,59338,58764,58446 1251ebfedea0SLionel Sambuc.value 61200,61138,60564,60758,59416,59866,60316,59998 1252ebfedea0SLionel Sambuc.value 64800,64738,65188,65382,64040,64490,63916,63598 1253ebfedea0SLionel Sambuc.value 62256,62194,61620,61814,62520,62970,63420,63102 1254ebfedea0SLionel Sambuc.value 55616,55426,56004,56070,56904,57226,56780,56334 1255ebfedea0SLionel Sambuc.value 55120,54930,54484,54550,53336,53658,54236,53790 1256ebfedea0SLionel Sambuc.value 50528,50338,50916,50982,49768,50090,49644,49198 1257ebfedea0SLionel Sambuc.value 52080,51890,51444,51510,52344,52666,53244,52798 1258ebfedea0SLionel Sambuc.value 37248,36930,37380,37830,38536,38730,38156,38094 1259ebfedea0SLionel Sambuc.value 40848,40530,39956,40406,39064,39258,39708,39646 1260ebfedea0SLionel Sambuc.value 36256,35938,36388,36838,35496,35690,35116,35054 1261ebfedea0SLionel Sambuc.value 33712,33394,32820,33270,33976,34170,34620,34558 1262ebfedea0SLionel Sambuc.value 43456,43010,43588,43910,44744,44810,44364,44174 1263ebfedea0SLionel Sambuc.value 42960,42514,42068,42390,41176,41242,41820,41630 1264ebfedea0SLionel Sambuc.value 46560,46114,46692,47014,45800,45866,45420,45230 1265ebfedea0SLionel Sambuc.value 48112,47666,47220,47542,48376,48442,49020,48830 1266ebfedea0SLionel Sambuc.byte 71,72,65,83,72,32,102,111,114,32,120,56,54,44,32,67 1267ebfedea0SLionel Sambuc.byte 82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112 1268ebfedea0SLionel Sambuc.byte 112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62 1269ebfedea0SLionel Sambuc.byte 0 1270