1bc3d5698SJohn Baldwin/* Do not modify. This file is auto-generated from ghash-x86.pl. */ 2bc3d5698SJohn Baldwin#ifdef PIC 3bc3d5698SJohn Baldwin.text 4bc3d5698SJohn Baldwin.globl gcm_gmult_4bit_x86 5bc3d5698SJohn Baldwin.type gcm_gmult_4bit_x86,@function 6bc3d5698SJohn Baldwin.align 16 7bc3d5698SJohn Baldwingcm_gmult_4bit_x86: 8bc3d5698SJohn Baldwin.L_gcm_gmult_4bit_x86_begin: 9*c0855eaaSJohn Baldwin #ifdef __CET__ 10*c0855eaaSJohn Baldwin 11*c0855eaaSJohn Baldwin.byte 243,15,30,251 12*c0855eaaSJohn Baldwin #endif 13*c0855eaaSJohn Baldwin 14bc3d5698SJohn Baldwin pushl %ebp 15bc3d5698SJohn Baldwin pushl %ebx 16bc3d5698SJohn Baldwin pushl %esi 17bc3d5698SJohn Baldwin pushl %edi 18bc3d5698SJohn Baldwin subl $84,%esp 19bc3d5698SJohn Baldwin movl 104(%esp),%edi 20bc3d5698SJohn Baldwin movl 108(%esp),%esi 21bc3d5698SJohn Baldwin movl (%edi),%ebp 22bc3d5698SJohn Baldwin movl 4(%edi),%edx 23bc3d5698SJohn Baldwin movl 8(%edi),%ecx 24bc3d5698SJohn Baldwin movl 12(%edi),%ebx 25bc3d5698SJohn Baldwin movl $0,16(%esp) 26bc3d5698SJohn Baldwin movl $471859200,20(%esp) 27bc3d5698SJohn Baldwin movl $943718400,24(%esp) 28bc3d5698SJohn Baldwin movl $610271232,28(%esp) 29bc3d5698SJohn Baldwin movl $1887436800,32(%esp) 30bc3d5698SJohn Baldwin movl $1822425088,36(%esp) 31bc3d5698SJohn Baldwin movl $1220542464,40(%esp) 32bc3d5698SJohn Baldwin movl $1423966208,44(%esp) 33bc3d5698SJohn Baldwin movl $3774873600,48(%esp) 34bc3d5698SJohn Baldwin movl $4246732800,52(%esp) 35bc3d5698SJohn Baldwin movl $3644850176,56(%esp) 36bc3d5698SJohn Baldwin movl $3311403008,60(%esp) 37bc3d5698SJohn Baldwin movl $2441084928,64(%esp) 38bc3d5698SJohn Baldwin movl $2376073216,68(%esp) 39bc3d5698SJohn Baldwin movl $2847932416,72(%esp) 40bc3d5698SJohn Baldwin movl $3051356160,76(%esp) 41bc3d5698SJohn Baldwin movl %ebp,(%esp) 42bc3d5698SJohn Baldwin movl %edx,4(%esp) 43bc3d5698SJohn Baldwin movl %ecx,8(%esp) 44bc3d5698SJohn Baldwin movl %ebx,12(%esp) 45bc3d5698SJohn Baldwin shrl $20,%ebx 46bc3d5698SJohn Baldwin andl $240,%ebx 47bc3d5698SJohn Baldwin movl 4(%esi,%ebx,1),%ebp 48bc3d5698SJohn Baldwin movl (%esi,%ebx,1),%edx 49bc3d5698SJohn Baldwin movl 12(%esi,%ebx,1),%ecx 50bc3d5698SJohn Baldwin movl 8(%esi,%ebx,1),%ebx 51bc3d5698SJohn Baldwin xorl %eax,%eax 52bc3d5698SJohn Baldwin movl $15,%edi 53bc3d5698SJohn Baldwin jmp .L000x86_loop 54bc3d5698SJohn Baldwin.align 16 55bc3d5698SJohn Baldwin.L000x86_loop: 56bc3d5698SJohn Baldwin movb %bl,%al 57bc3d5698SJohn Baldwin shrdl $4,%ecx,%ebx 58bc3d5698SJohn Baldwin andb $15,%al 59bc3d5698SJohn Baldwin shrdl $4,%edx,%ecx 60bc3d5698SJohn Baldwin shrdl $4,%ebp,%edx 61bc3d5698SJohn Baldwin shrl $4,%ebp 62bc3d5698SJohn Baldwin xorl 16(%esp,%eax,4),%ebp 63bc3d5698SJohn Baldwin movb (%esp,%edi,1),%al 64bc3d5698SJohn Baldwin andb $240,%al 65bc3d5698SJohn Baldwin xorl 8(%esi,%eax,1),%ebx 66bc3d5698SJohn Baldwin xorl 12(%esi,%eax,1),%ecx 67bc3d5698SJohn Baldwin xorl (%esi,%eax,1),%edx 68bc3d5698SJohn Baldwin xorl 4(%esi,%eax,1),%ebp 69bc3d5698SJohn Baldwin decl %edi 70bc3d5698SJohn Baldwin js .L001x86_break 71bc3d5698SJohn Baldwin movb %bl,%al 72bc3d5698SJohn Baldwin shrdl $4,%ecx,%ebx 73bc3d5698SJohn Baldwin andb $15,%al 74bc3d5698SJohn Baldwin shrdl $4,%edx,%ecx 75bc3d5698SJohn Baldwin shrdl $4,%ebp,%edx 76bc3d5698SJohn Baldwin shrl $4,%ebp 77bc3d5698SJohn Baldwin xorl 16(%esp,%eax,4),%ebp 78bc3d5698SJohn Baldwin movb (%esp,%edi,1),%al 79bc3d5698SJohn Baldwin shlb $4,%al 80bc3d5698SJohn Baldwin xorl 8(%esi,%eax,1),%ebx 81bc3d5698SJohn Baldwin xorl 12(%esi,%eax,1),%ecx 82bc3d5698SJohn Baldwin xorl (%esi,%eax,1),%edx 83bc3d5698SJohn Baldwin xorl 4(%esi,%eax,1),%ebp 84bc3d5698SJohn Baldwin jmp .L000x86_loop 85bc3d5698SJohn Baldwin.align 16 86bc3d5698SJohn Baldwin.L001x86_break: 87bc3d5698SJohn Baldwin bswap %ebx 88bc3d5698SJohn Baldwin bswap %ecx 89bc3d5698SJohn Baldwin bswap %edx 90bc3d5698SJohn Baldwin bswap %ebp 91bc3d5698SJohn Baldwin movl 104(%esp),%edi 92bc3d5698SJohn Baldwin movl %ebx,12(%edi) 93bc3d5698SJohn Baldwin movl %ecx,8(%edi) 94bc3d5698SJohn Baldwin movl %edx,4(%edi) 95bc3d5698SJohn Baldwin movl %ebp,(%edi) 96bc3d5698SJohn Baldwin addl $84,%esp 97bc3d5698SJohn Baldwin popl %edi 98bc3d5698SJohn Baldwin popl %esi 99bc3d5698SJohn Baldwin popl %ebx 100bc3d5698SJohn Baldwin popl %ebp 101bc3d5698SJohn Baldwin ret 102bc3d5698SJohn Baldwin.size gcm_gmult_4bit_x86,.-.L_gcm_gmult_4bit_x86_begin 103bc3d5698SJohn Baldwin.globl gcm_ghash_4bit_x86 104bc3d5698SJohn Baldwin.type gcm_ghash_4bit_x86,@function 105bc3d5698SJohn Baldwin.align 16 106bc3d5698SJohn Baldwingcm_ghash_4bit_x86: 107bc3d5698SJohn Baldwin.L_gcm_ghash_4bit_x86_begin: 108*c0855eaaSJohn Baldwin #ifdef __CET__ 109*c0855eaaSJohn Baldwin 110*c0855eaaSJohn Baldwin.byte 243,15,30,251 111*c0855eaaSJohn Baldwin #endif 112*c0855eaaSJohn Baldwin 113bc3d5698SJohn Baldwin pushl %ebp 114bc3d5698SJohn Baldwin pushl %ebx 115bc3d5698SJohn Baldwin pushl %esi 116bc3d5698SJohn Baldwin pushl %edi 117bc3d5698SJohn Baldwin subl $84,%esp 118bc3d5698SJohn Baldwin movl 104(%esp),%ebx 119bc3d5698SJohn Baldwin movl 108(%esp),%esi 120bc3d5698SJohn Baldwin movl 112(%esp),%edi 121bc3d5698SJohn Baldwin movl 116(%esp),%ecx 122bc3d5698SJohn Baldwin addl %edi,%ecx 123bc3d5698SJohn Baldwin movl %ecx,116(%esp) 124bc3d5698SJohn Baldwin movl (%ebx),%ebp 125bc3d5698SJohn Baldwin movl 4(%ebx),%edx 126bc3d5698SJohn Baldwin movl 8(%ebx),%ecx 127bc3d5698SJohn Baldwin movl 12(%ebx),%ebx 128bc3d5698SJohn Baldwin movl $0,16(%esp) 129bc3d5698SJohn Baldwin movl $471859200,20(%esp) 130bc3d5698SJohn Baldwin movl $943718400,24(%esp) 131bc3d5698SJohn Baldwin movl $610271232,28(%esp) 132bc3d5698SJohn Baldwin movl $1887436800,32(%esp) 133bc3d5698SJohn Baldwin movl $1822425088,36(%esp) 134bc3d5698SJohn Baldwin movl $1220542464,40(%esp) 135bc3d5698SJohn Baldwin movl $1423966208,44(%esp) 136bc3d5698SJohn Baldwin movl $3774873600,48(%esp) 137bc3d5698SJohn Baldwin movl $4246732800,52(%esp) 138bc3d5698SJohn Baldwin movl $3644850176,56(%esp) 139bc3d5698SJohn Baldwin movl $3311403008,60(%esp) 140bc3d5698SJohn Baldwin movl $2441084928,64(%esp) 141bc3d5698SJohn Baldwin movl $2376073216,68(%esp) 142bc3d5698SJohn Baldwin movl $2847932416,72(%esp) 143bc3d5698SJohn Baldwin movl $3051356160,76(%esp) 144bc3d5698SJohn Baldwin.align 16 145bc3d5698SJohn Baldwin.L002x86_outer_loop: 146bc3d5698SJohn Baldwin xorl 12(%edi),%ebx 147bc3d5698SJohn Baldwin xorl 8(%edi),%ecx 148bc3d5698SJohn Baldwin xorl 4(%edi),%edx 149bc3d5698SJohn Baldwin xorl (%edi),%ebp 150bc3d5698SJohn Baldwin movl %ebx,12(%esp) 151bc3d5698SJohn Baldwin movl %ecx,8(%esp) 152bc3d5698SJohn Baldwin movl %edx,4(%esp) 153bc3d5698SJohn Baldwin movl %ebp,(%esp) 154bc3d5698SJohn Baldwin shrl $20,%ebx 155bc3d5698SJohn Baldwin andl $240,%ebx 156bc3d5698SJohn Baldwin movl 4(%esi,%ebx,1),%ebp 157bc3d5698SJohn Baldwin movl (%esi,%ebx,1),%edx 158bc3d5698SJohn Baldwin movl 12(%esi,%ebx,1),%ecx 159bc3d5698SJohn Baldwin movl 8(%esi,%ebx,1),%ebx 160bc3d5698SJohn Baldwin xorl %eax,%eax 161bc3d5698SJohn Baldwin movl $15,%edi 162bc3d5698SJohn Baldwin jmp .L003x86_loop 163bc3d5698SJohn Baldwin.align 16 164bc3d5698SJohn Baldwin.L003x86_loop: 165bc3d5698SJohn Baldwin movb %bl,%al 166bc3d5698SJohn Baldwin shrdl $4,%ecx,%ebx 167bc3d5698SJohn Baldwin andb $15,%al 168bc3d5698SJohn Baldwin shrdl $4,%edx,%ecx 169bc3d5698SJohn Baldwin shrdl $4,%ebp,%edx 170bc3d5698SJohn Baldwin shrl $4,%ebp 171bc3d5698SJohn Baldwin xorl 16(%esp,%eax,4),%ebp 172bc3d5698SJohn Baldwin movb (%esp,%edi,1),%al 173bc3d5698SJohn Baldwin andb $240,%al 174bc3d5698SJohn Baldwin xorl 8(%esi,%eax,1),%ebx 175bc3d5698SJohn Baldwin xorl 12(%esi,%eax,1),%ecx 176bc3d5698SJohn Baldwin xorl (%esi,%eax,1),%edx 177bc3d5698SJohn Baldwin xorl 4(%esi,%eax,1),%ebp 178bc3d5698SJohn Baldwin decl %edi 179bc3d5698SJohn Baldwin js .L004x86_break 180bc3d5698SJohn Baldwin movb %bl,%al 181bc3d5698SJohn Baldwin shrdl $4,%ecx,%ebx 182bc3d5698SJohn Baldwin andb $15,%al 183bc3d5698SJohn Baldwin shrdl $4,%edx,%ecx 184bc3d5698SJohn Baldwin shrdl $4,%ebp,%edx 185bc3d5698SJohn Baldwin shrl $4,%ebp 186bc3d5698SJohn Baldwin xorl 16(%esp,%eax,4),%ebp 187bc3d5698SJohn Baldwin movb (%esp,%edi,1),%al 188bc3d5698SJohn Baldwin shlb $4,%al 189bc3d5698SJohn Baldwin xorl 8(%esi,%eax,1),%ebx 190bc3d5698SJohn Baldwin xorl 12(%esi,%eax,1),%ecx 191bc3d5698SJohn Baldwin xorl (%esi,%eax,1),%edx 192bc3d5698SJohn Baldwin xorl 4(%esi,%eax,1),%ebp 193bc3d5698SJohn Baldwin jmp .L003x86_loop 194bc3d5698SJohn Baldwin.align 16 195bc3d5698SJohn Baldwin.L004x86_break: 196bc3d5698SJohn Baldwin bswap %ebx 197bc3d5698SJohn Baldwin bswap %ecx 198bc3d5698SJohn Baldwin bswap %edx 199bc3d5698SJohn Baldwin bswap %ebp 200bc3d5698SJohn Baldwin movl 112(%esp),%edi 201bc3d5698SJohn Baldwin leal 16(%edi),%edi 202bc3d5698SJohn Baldwin cmpl 116(%esp),%edi 203bc3d5698SJohn Baldwin movl %edi,112(%esp) 204bc3d5698SJohn Baldwin jb .L002x86_outer_loop 205bc3d5698SJohn Baldwin movl 104(%esp),%edi 206bc3d5698SJohn Baldwin movl %ebx,12(%edi) 207bc3d5698SJohn Baldwin movl %ecx,8(%edi) 208bc3d5698SJohn Baldwin movl %edx,4(%edi) 209bc3d5698SJohn Baldwin movl %ebp,(%edi) 210bc3d5698SJohn Baldwin addl $84,%esp 211bc3d5698SJohn Baldwin popl %edi 212bc3d5698SJohn Baldwin popl %esi 213bc3d5698SJohn Baldwin popl %ebx 214bc3d5698SJohn Baldwin popl %ebp 215bc3d5698SJohn Baldwin ret 216bc3d5698SJohn Baldwin.size gcm_ghash_4bit_x86,.-.L_gcm_ghash_4bit_x86_begin 217bc3d5698SJohn Baldwin.globl gcm_gmult_4bit_mmx 218bc3d5698SJohn Baldwin.type gcm_gmult_4bit_mmx,@function 219bc3d5698SJohn Baldwin.align 16 220bc3d5698SJohn Baldwingcm_gmult_4bit_mmx: 221bc3d5698SJohn Baldwin.L_gcm_gmult_4bit_mmx_begin: 222*c0855eaaSJohn Baldwin #ifdef __CET__ 223*c0855eaaSJohn Baldwin 224*c0855eaaSJohn Baldwin.byte 243,15,30,251 225*c0855eaaSJohn Baldwin #endif 226*c0855eaaSJohn Baldwin 227bc3d5698SJohn Baldwin pushl %ebp 228bc3d5698SJohn Baldwin pushl %ebx 229bc3d5698SJohn Baldwin pushl %esi 230bc3d5698SJohn Baldwin pushl %edi 231bc3d5698SJohn Baldwin movl 20(%esp),%edi 232bc3d5698SJohn Baldwin movl 24(%esp),%esi 233bc3d5698SJohn Baldwin call .L005pic_point 234bc3d5698SJohn Baldwin.L005pic_point: 235bc3d5698SJohn Baldwin popl %eax 236bc3d5698SJohn Baldwin leal .Lrem_4bit-.L005pic_point(%eax),%eax 237bc3d5698SJohn Baldwin movzbl 15(%edi),%ebx 238bc3d5698SJohn Baldwin xorl %ecx,%ecx 239bc3d5698SJohn Baldwin movl %ebx,%edx 240bc3d5698SJohn Baldwin movb %dl,%cl 241bc3d5698SJohn Baldwin movl $14,%ebp 242bc3d5698SJohn Baldwin shlb $4,%cl 243bc3d5698SJohn Baldwin andl $240,%edx 244bc3d5698SJohn Baldwin movq 8(%esi,%ecx,1),%mm0 245bc3d5698SJohn Baldwin movq (%esi,%ecx,1),%mm1 246bc3d5698SJohn Baldwin movd %mm0,%ebx 247bc3d5698SJohn Baldwin jmp .L006mmx_loop 248bc3d5698SJohn Baldwin.align 16 249bc3d5698SJohn Baldwin.L006mmx_loop: 250bc3d5698SJohn Baldwin psrlq $4,%mm0 251bc3d5698SJohn Baldwin andl $15,%ebx 252bc3d5698SJohn Baldwin movq %mm1,%mm2 253bc3d5698SJohn Baldwin psrlq $4,%mm1 254bc3d5698SJohn Baldwin pxor 8(%esi,%edx,1),%mm0 255bc3d5698SJohn Baldwin movb (%edi,%ebp,1),%cl 256bc3d5698SJohn Baldwin psllq $60,%mm2 257bc3d5698SJohn Baldwin pxor (%eax,%ebx,8),%mm1 258bc3d5698SJohn Baldwin decl %ebp 259bc3d5698SJohn Baldwin movd %mm0,%ebx 260bc3d5698SJohn Baldwin pxor (%esi,%edx,1),%mm1 261bc3d5698SJohn Baldwin movl %ecx,%edx 262bc3d5698SJohn Baldwin pxor %mm2,%mm0 263bc3d5698SJohn Baldwin js .L007mmx_break 264bc3d5698SJohn Baldwin shlb $4,%cl 265bc3d5698SJohn Baldwin andl $15,%ebx 266bc3d5698SJohn Baldwin psrlq $4,%mm0 267bc3d5698SJohn Baldwin andl $240,%edx 268bc3d5698SJohn Baldwin movq %mm1,%mm2 269bc3d5698SJohn Baldwin psrlq $4,%mm1 270bc3d5698SJohn Baldwin pxor 8(%esi,%ecx,1),%mm0 271bc3d5698SJohn Baldwin psllq $60,%mm2 272bc3d5698SJohn Baldwin pxor (%eax,%ebx,8),%mm1 273bc3d5698SJohn Baldwin movd %mm0,%ebx 274bc3d5698SJohn Baldwin pxor (%esi,%ecx,1),%mm1 275bc3d5698SJohn Baldwin pxor %mm2,%mm0 276bc3d5698SJohn Baldwin jmp .L006mmx_loop 277bc3d5698SJohn Baldwin.align 16 278bc3d5698SJohn Baldwin.L007mmx_break: 279bc3d5698SJohn Baldwin shlb $4,%cl 280bc3d5698SJohn Baldwin andl $15,%ebx 281bc3d5698SJohn Baldwin psrlq $4,%mm0 282bc3d5698SJohn Baldwin andl $240,%edx 283bc3d5698SJohn Baldwin movq %mm1,%mm2 284bc3d5698SJohn Baldwin psrlq $4,%mm1 285bc3d5698SJohn Baldwin pxor 8(%esi,%ecx,1),%mm0 286bc3d5698SJohn Baldwin psllq $60,%mm2 287bc3d5698SJohn Baldwin pxor (%eax,%ebx,8),%mm1 288bc3d5698SJohn Baldwin movd %mm0,%ebx 289bc3d5698SJohn Baldwin pxor (%esi,%ecx,1),%mm1 290bc3d5698SJohn Baldwin pxor %mm2,%mm0 291bc3d5698SJohn Baldwin psrlq $4,%mm0 292bc3d5698SJohn Baldwin andl $15,%ebx 293bc3d5698SJohn Baldwin movq %mm1,%mm2 294bc3d5698SJohn Baldwin psrlq $4,%mm1 295bc3d5698SJohn Baldwin pxor 8(%esi,%edx,1),%mm0 296bc3d5698SJohn Baldwin psllq $60,%mm2 297bc3d5698SJohn Baldwin pxor (%eax,%ebx,8),%mm1 298bc3d5698SJohn Baldwin movd %mm0,%ebx 299bc3d5698SJohn Baldwin pxor (%esi,%edx,1),%mm1 300bc3d5698SJohn Baldwin pxor %mm2,%mm0 301bc3d5698SJohn Baldwin psrlq $32,%mm0 302bc3d5698SJohn Baldwin movd %mm1,%edx 303bc3d5698SJohn Baldwin psrlq $32,%mm1 304bc3d5698SJohn Baldwin movd %mm0,%ecx 305bc3d5698SJohn Baldwin movd %mm1,%ebp 306bc3d5698SJohn Baldwin bswap %ebx 307bc3d5698SJohn Baldwin bswap %edx 308bc3d5698SJohn Baldwin bswap %ecx 309bc3d5698SJohn Baldwin bswap %ebp 310bc3d5698SJohn Baldwin emms 311bc3d5698SJohn Baldwin movl %ebx,12(%edi) 312bc3d5698SJohn Baldwin movl %edx,4(%edi) 313bc3d5698SJohn Baldwin movl %ecx,8(%edi) 314bc3d5698SJohn Baldwin movl %ebp,(%edi) 315bc3d5698SJohn Baldwin popl %edi 316bc3d5698SJohn Baldwin popl %esi 317bc3d5698SJohn Baldwin popl %ebx 318bc3d5698SJohn Baldwin popl %ebp 319bc3d5698SJohn Baldwin ret 320bc3d5698SJohn Baldwin.size gcm_gmult_4bit_mmx,.-.L_gcm_gmult_4bit_mmx_begin 321bc3d5698SJohn Baldwin.globl gcm_ghash_4bit_mmx 322bc3d5698SJohn Baldwin.type gcm_ghash_4bit_mmx,@function 323bc3d5698SJohn Baldwin.align 16 324bc3d5698SJohn Baldwingcm_ghash_4bit_mmx: 325bc3d5698SJohn Baldwin.L_gcm_ghash_4bit_mmx_begin: 326*c0855eaaSJohn Baldwin #ifdef __CET__ 327*c0855eaaSJohn Baldwin 328*c0855eaaSJohn Baldwin.byte 243,15,30,251 329*c0855eaaSJohn Baldwin #endif 330*c0855eaaSJohn Baldwin 331bc3d5698SJohn Baldwin pushl %ebp 332bc3d5698SJohn Baldwin pushl %ebx 333bc3d5698SJohn Baldwin pushl %esi 334bc3d5698SJohn Baldwin pushl %edi 335bc3d5698SJohn Baldwin movl 20(%esp),%eax 336bc3d5698SJohn Baldwin movl 24(%esp),%ebx 337bc3d5698SJohn Baldwin movl 28(%esp),%ecx 338bc3d5698SJohn Baldwin movl 32(%esp),%edx 339bc3d5698SJohn Baldwin movl %esp,%ebp 340bc3d5698SJohn Baldwin call .L008pic_point 341bc3d5698SJohn Baldwin.L008pic_point: 342bc3d5698SJohn Baldwin popl %esi 343bc3d5698SJohn Baldwin leal .Lrem_8bit-.L008pic_point(%esi),%esi 344bc3d5698SJohn Baldwin subl $544,%esp 345bc3d5698SJohn Baldwin andl $-64,%esp 346bc3d5698SJohn Baldwin subl $16,%esp 347bc3d5698SJohn Baldwin addl %ecx,%edx 348bc3d5698SJohn Baldwin movl %eax,544(%esp) 349bc3d5698SJohn Baldwin movl %edx,552(%esp) 350bc3d5698SJohn Baldwin movl %ebp,556(%esp) 351bc3d5698SJohn Baldwin addl $128,%ebx 352bc3d5698SJohn Baldwin leal 144(%esp),%edi 353bc3d5698SJohn Baldwin leal 400(%esp),%ebp 354bc3d5698SJohn Baldwin movl -120(%ebx),%edx 355bc3d5698SJohn Baldwin movq -120(%ebx),%mm0 356bc3d5698SJohn Baldwin movq -128(%ebx),%mm3 357bc3d5698SJohn Baldwin shll $4,%edx 358bc3d5698SJohn Baldwin movb %dl,(%esp) 359bc3d5698SJohn Baldwin movl -104(%ebx),%edx 360bc3d5698SJohn Baldwin movq -104(%ebx),%mm2 361bc3d5698SJohn Baldwin movq -112(%ebx),%mm5 362bc3d5698SJohn Baldwin movq %mm0,-128(%edi) 363bc3d5698SJohn Baldwin psrlq $4,%mm0 364bc3d5698SJohn Baldwin movq %mm3,(%edi) 365bc3d5698SJohn Baldwin movq %mm3,%mm7 366bc3d5698SJohn Baldwin psrlq $4,%mm3 367bc3d5698SJohn Baldwin shll $4,%edx 368bc3d5698SJohn Baldwin movb %dl,1(%esp) 369bc3d5698SJohn Baldwin movl -88(%ebx),%edx 370bc3d5698SJohn Baldwin movq -88(%ebx),%mm1 371bc3d5698SJohn Baldwin psllq $60,%mm7 372bc3d5698SJohn Baldwin movq -96(%ebx),%mm4 373bc3d5698SJohn Baldwin por %mm7,%mm0 374bc3d5698SJohn Baldwin movq %mm2,-120(%edi) 375bc3d5698SJohn Baldwin psrlq $4,%mm2 376bc3d5698SJohn Baldwin movq %mm5,8(%edi) 377bc3d5698SJohn Baldwin movq %mm5,%mm6 378bc3d5698SJohn Baldwin movq %mm0,-128(%ebp) 379bc3d5698SJohn Baldwin psrlq $4,%mm5 380bc3d5698SJohn Baldwin movq %mm3,(%ebp) 381bc3d5698SJohn Baldwin shll $4,%edx 382bc3d5698SJohn Baldwin movb %dl,2(%esp) 383bc3d5698SJohn Baldwin movl -72(%ebx),%edx 384bc3d5698SJohn Baldwin movq -72(%ebx),%mm0 385bc3d5698SJohn Baldwin psllq $60,%mm6 386bc3d5698SJohn Baldwin movq -80(%ebx),%mm3 387bc3d5698SJohn Baldwin por %mm6,%mm2 388bc3d5698SJohn Baldwin movq %mm1,-112(%edi) 389bc3d5698SJohn Baldwin psrlq $4,%mm1 390bc3d5698SJohn Baldwin movq %mm4,16(%edi) 391bc3d5698SJohn Baldwin movq %mm4,%mm7 392bc3d5698SJohn Baldwin movq %mm2,-120(%ebp) 393bc3d5698SJohn Baldwin psrlq $4,%mm4 394bc3d5698SJohn Baldwin movq %mm5,8(%ebp) 395bc3d5698SJohn Baldwin shll $4,%edx 396bc3d5698SJohn Baldwin movb %dl,3(%esp) 397bc3d5698SJohn Baldwin movl -56(%ebx),%edx 398bc3d5698SJohn Baldwin movq -56(%ebx),%mm2 399bc3d5698SJohn Baldwin psllq $60,%mm7 400bc3d5698SJohn Baldwin movq -64(%ebx),%mm5 401bc3d5698SJohn Baldwin por %mm7,%mm1 402bc3d5698SJohn Baldwin movq %mm0,-104(%edi) 403bc3d5698SJohn Baldwin psrlq $4,%mm0 404bc3d5698SJohn Baldwin movq %mm3,24(%edi) 405bc3d5698SJohn Baldwin movq %mm3,%mm6 406bc3d5698SJohn Baldwin movq %mm1,-112(%ebp) 407bc3d5698SJohn Baldwin psrlq $4,%mm3 408bc3d5698SJohn Baldwin movq %mm4,16(%ebp) 409bc3d5698SJohn Baldwin shll $4,%edx 410bc3d5698SJohn Baldwin movb %dl,4(%esp) 411bc3d5698SJohn Baldwin movl -40(%ebx),%edx 412bc3d5698SJohn Baldwin movq -40(%ebx),%mm1 413bc3d5698SJohn Baldwin psllq $60,%mm6 414bc3d5698SJohn Baldwin movq -48(%ebx),%mm4 415bc3d5698SJohn Baldwin por %mm6,%mm0 416bc3d5698SJohn Baldwin movq %mm2,-96(%edi) 417bc3d5698SJohn Baldwin psrlq $4,%mm2 418bc3d5698SJohn Baldwin movq %mm5,32(%edi) 419bc3d5698SJohn Baldwin movq %mm5,%mm7 420bc3d5698SJohn Baldwin movq %mm0,-104(%ebp) 421bc3d5698SJohn Baldwin psrlq $4,%mm5 422bc3d5698SJohn Baldwin movq %mm3,24(%ebp) 423bc3d5698SJohn Baldwin shll $4,%edx 424bc3d5698SJohn Baldwin movb %dl,5(%esp) 425bc3d5698SJohn Baldwin movl -24(%ebx),%edx 426bc3d5698SJohn Baldwin movq -24(%ebx),%mm0 427bc3d5698SJohn Baldwin psllq $60,%mm7 428bc3d5698SJohn Baldwin movq -32(%ebx),%mm3 429bc3d5698SJohn Baldwin por %mm7,%mm2 430bc3d5698SJohn Baldwin movq %mm1,-88(%edi) 431bc3d5698SJohn Baldwin psrlq $4,%mm1 432bc3d5698SJohn Baldwin movq %mm4,40(%edi) 433bc3d5698SJohn Baldwin movq %mm4,%mm6 434bc3d5698SJohn Baldwin movq %mm2,-96(%ebp) 435bc3d5698SJohn Baldwin psrlq $4,%mm4 436bc3d5698SJohn Baldwin movq %mm5,32(%ebp) 437bc3d5698SJohn Baldwin shll $4,%edx 438bc3d5698SJohn Baldwin movb %dl,6(%esp) 439bc3d5698SJohn Baldwin movl -8(%ebx),%edx 440bc3d5698SJohn Baldwin movq -8(%ebx),%mm2 441bc3d5698SJohn Baldwin psllq $60,%mm6 442bc3d5698SJohn Baldwin movq -16(%ebx),%mm5 443bc3d5698SJohn Baldwin por %mm6,%mm1 444bc3d5698SJohn Baldwin movq %mm0,-80(%edi) 445bc3d5698SJohn Baldwin psrlq $4,%mm0 446bc3d5698SJohn Baldwin movq %mm3,48(%edi) 447bc3d5698SJohn Baldwin movq %mm3,%mm7 448bc3d5698SJohn Baldwin movq %mm1,-88(%ebp) 449bc3d5698SJohn Baldwin psrlq $4,%mm3 450bc3d5698SJohn Baldwin movq %mm4,40(%ebp) 451bc3d5698SJohn Baldwin shll $4,%edx 452bc3d5698SJohn Baldwin movb %dl,7(%esp) 453bc3d5698SJohn Baldwin movl 8(%ebx),%edx 454bc3d5698SJohn Baldwin movq 8(%ebx),%mm1 455bc3d5698SJohn Baldwin psllq $60,%mm7 456bc3d5698SJohn Baldwin movq (%ebx),%mm4 457bc3d5698SJohn Baldwin por %mm7,%mm0 458bc3d5698SJohn Baldwin movq %mm2,-72(%edi) 459bc3d5698SJohn Baldwin psrlq $4,%mm2 460bc3d5698SJohn Baldwin movq %mm5,56(%edi) 461bc3d5698SJohn Baldwin movq %mm5,%mm6 462bc3d5698SJohn Baldwin movq %mm0,-80(%ebp) 463bc3d5698SJohn Baldwin psrlq $4,%mm5 464bc3d5698SJohn Baldwin movq %mm3,48(%ebp) 465bc3d5698SJohn Baldwin shll $4,%edx 466bc3d5698SJohn Baldwin movb %dl,8(%esp) 467bc3d5698SJohn Baldwin movl 24(%ebx),%edx 468bc3d5698SJohn Baldwin movq 24(%ebx),%mm0 469bc3d5698SJohn Baldwin psllq $60,%mm6 470bc3d5698SJohn Baldwin movq 16(%ebx),%mm3 471bc3d5698SJohn Baldwin por %mm6,%mm2 472bc3d5698SJohn Baldwin movq %mm1,-64(%edi) 473bc3d5698SJohn Baldwin psrlq $4,%mm1 474bc3d5698SJohn Baldwin movq %mm4,64(%edi) 475bc3d5698SJohn Baldwin movq %mm4,%mm7 476bc3d5698SJohn Baldwin movq %mm2,-72(%ebp) 477bc3d5698SJohn Baldwin psrlq $4,%mm4 478bc3d5698SJohn Baldwin movq %mm5,56(%ebp) 479bc3d5698SJohn Baldwin shll $4,%edx 480bc3d5698SJohn Baldwin movb %dl,9(%esp) 481bc3d5698SJohn Baldwin movl 40(%ebx),%edx 482bc3d5698SJohn Baldwin movq 40(%ebx),%mm2 483bc3d5698SJohn Baldwin psllq $60,%mm7 484bc3d5698SJohn Baldwin movq 32(%ebx),%mm5 485bc3d5698SJohn Baldwin por %mm7,%mm1 486bc3d5698SJohn Baldwin movq %mm0,-56(%edi) 487bc3d5698SJohn Baldwin psrlq $4,%mm0 488bc3d5698SJohn Baldwin movq %mm3,72(%edi) 489bc3d5698SJohn Baldwin movq %mm3,%mm6 490bc3d5698SJohn Baldwin movq %mm1,-64(%ebp) 491bc3d5698SJohn Baldwin psrlq $4,%mm3 492bc3d5698SJohn Baldwin movq %mm4,64(%ebp) 493bc3d5698SJohn Baldwin shll $4,%edx 494bc3d5698SJohn Baldwin movb %dl,10(%esp) 495bc3d5698SJohn Baldwin movl 56(%ebx),%edx 496bc3d5698SJohn Baldwin movq 56(%ebx),%mm1 497bc3d5698SJohn Baldwin psllq $60,%mm6 498bc3d5698SJohn Baldwin movq 48(%ebx),%mm4 499bc3d5698SJohn Baldwin por %mm6,%mm0 500bc3d5698SJohn Baldwin movq %mm2,-48(%edi) 501bc3d5698SJohn Baldwin psrlq $4,%mm2 502bc3d5698SJohn Baldwin movq %mm5,80(%edi) 503bc3d5698SJohn Baldwin movq %mm5,%mm7 504bc3d5698SJohn Baldwin movq %mm0,-56(%ebp) 505bc3d5698SJohn Baldwin psrlq $4,%mm5 506bc3d5698SJohn Baldwin movq %mm3,72(%ebp) 507bc3d5698SJohn Baldwin shll $4,%edx 508bc3d5698SJohn Baldwin movb %dl,11(%esp) 509bc3d5698SJohn Baldwin movl 72(%ebx),%edx 510bc3d5698SJohn Baldwin movq 72(%ebx),%mm0 511bc3d5698SJohn Baldwin psllq $60,%mm7 512bc3d5698SJohn Baldwin movq 64(%ebx),%mm3 513bc3d5698SJohn Baldwin por %mm7,%mm2 514bc3d5698SJohn Baldwin movq %mm1,-40(%edi) 515bc3d5698SJohn Baldwin psrlq $4,%mm1 516bc3d5698SJohn Baldwin movq %mm4,88(%edi) 517bc3d5698SJohn Baldwin movq %mm4,%mm6 518bc3d5698SJohn Baldwin movq %mm2,-48(%ebp) 519bc3d5698SJohn Baldwin psrlq $4,%mm4 520bc3d5698SJohn Baldwin movq %mm5,80(%ebp) 521bc3d5698SJohn Baldwin shll $4,%edx 522bc3d5698SJohn Baldwin movb %dl,12(%esp) 523bc3d5698SJohn Baldwin movl 88(%ebx),%edx 524bc3d5698SJohn Baldwin movq 88(%ebx),%mm2 525bc3d5698SJohn Baldwin psllq $60,%mm6 526bc3d5698SJohn Baldwin movq 80(%ebx),%mm5 527bc3d5698SJohn Baldwin por %mm6,%mm1 528bc3d5698SJohn Baldwin movq %mm0,-32(%edi) 529bc3d5698SJohn Baldwin psrlq $4,%mm0 530bc3d5698SJohn Baldwin movq %mm3,96(%edi) 531bc3d5698SJohn Baldwin movq %mm3,%mm7 532bc3d5698SJohn Baldwin movq %mm1,-40(%ebp) 533bc3d5698SJohn Baldwin psrlq $4,%mm3 534bc3d5698SJohn Baldwin movq %mm4,88(%ebp) 535bc3d5698SJohn Baldwin shll $4,%edx 536bc3d5698SJohn Baldwin movb %dl,13(%esp) 537bc3d5698SJohn Baldwin movl 104(%ebx),%edx 538bc3d5698SJohn Baldwin movq 104(%ebx),%mm1 539bc3d5698SJohn Baldwin psllq $60,%mm7 540bc3d5698SJohn Baldwin movq 96(%ebx),%mm4 541bc3d5698SJohn Baldwin por %mm7,%mm0 542bc3d5698SJohn Baldwin movq %mm2,-24(%edi) 543bc3d5698SJohn Baldwin psrlq $4,%mm2 544bc3d5698SJohn Baldwin movq %mm5,104(%edi) 545bc3d5698SJohn Baldwin movq %mm5,%mm6 546bc3d5698SJohn Baldwin movq %mm0,-32(%ebp) 547bc3d5698SJohn Baldwin psrlq $4,%mm5 548bc3d5698SJohn Baldwin movq %mm3,96(%ebp) 549bc3d5698SJohn Baldwin shll $4,%edx 550bc3d5698SJohn Baldwin movb %dl,14(%esp) 551bc3d5698SJohn Baldwin movl 120(%ebx),%edx 552bc3d5698SJohn Baldwin movq 120(%ebx),%mm0 553bc3d5698SJohn Baldwin psllq $60,%mm6 554bc3d5698SJohn Baldwin movq 112(%ebx),%mm3 555bc3d5698SJohn Baldwin por %mm6,%mm2 556bc3d5698SJohn Baldwin movq %mm1,-16(%edi) 557bc3d5698SJohn Baldwin psrlq $4,%mm1 558bc3d5698SJohn Baldwin movq %mm4,112(%edi) 559bc3d5698SJohn Baldwin movq %mm4,%mm7 560bc3d5698SJohn Baldwin movq %mm2,-24(%ebp) 561bc3d5698SJohn Baldwin psrlq $4,%mm4 562bc3d5698SJohn Baldwin movq %mm5,104(%ebp) 563bc3d5698SJohn Baldwin shll $4,%edx 564bc3d5698SJohn Baldwin movb %dl,15(%esp) 565bc3d5698SJohn Baldwin psllq $60,%mm7 566bc3d5698SJohn Baldwin por %mm7,%mm1 567bc3d5698SJohn Baldwin movq %mm0,-8(%edi) 568bc3d5698SJohn Baldwin psrlq $4,%mm0 569bc3d5698SJohn Baldwin movq %mm3,120(%edi) 570bc3d5698SJohn Baldwin movq %mm3,%mm6 571bc3d5698SJohn Baldwin movq %mm1,-16(%ebp) 572bc3d5698SJohn Baldwin psrlq $4,%mm3 573bc3d5698SJohn Baldwin movq %mm4,112(%ebp) 574bc3d5698SJohn Baldwin psllq $60,%mm6 575bc3d5698SJohn Baldwin por %mm6,%mm0 576bc3d5698SJohn Baldwin movq %mm0,-8(%ebp) 577bc3d5698SJohn Baldwin movq %mm3,120(%ebp) 578bc3d5698SJohn Baldwin movq (%eax),%mm6 579bc3d5698SJohn Baldwin movl 8(%eax),%ebx 580bc3d5698SJohn Baldwin movl 12(%eax),%edx 581bc3d5698SJohn Baldwin.align 16 582bc3d5698SJohn Baldwin.L009outer: 583bc3d5698SJohn Baldwin xorl 12(%ecx),%edx 584bc3d5698SJohn Baldwin xorl 8(%ecx),%ebx 585bc3d5698SJohn Baldwin pxor (%ecx),%mm6 586bc3d5698SJohn Baldwin leal 16(%ecx),%ecx 587bc3d5698SJohn Baldwin movl %ebx,536(%esp) 588bc3d5698SJohn Baldwin movq %mm6,528(%esp) 589bc3d5698SJohn Baldwin movl %ecx,548(%esp) 590bc3d5698SJohn Baldwin xorl %eax,%eax 591bc3d5698SJohn Baldwin roll $8,%edx 592bc3d5698SJohn Baldwin movb %dl,%al 593bc3d5698SJohn Baldwin movl %eax,%ebp 594bc3d5698SJohn Baldwin andb $15,%al 595bc3d5698SJohn Baldwin shrl $4,%ebp 596bc3d5698SJohn Baldwin pxor %mm0,%mm0 597bc3d5698SJohn Baldwin roll $8,%edx 598bc3d5698SJohn Baldwin pxor %mm1,%mm1 599bc3d5698SJohn Baldwin pxor %mm2,%mm2 600bc3d5698SJohn Baldwin movq 16(%esp,%eax,8),%mm7 601bc3d5698SJohn Baldwin movq 144(%esp,%eax,8),%mm6 602bc3d5698SJohn Baldwin movb %dl,%al 603bc3d5698SJohn Baldwin movd %mm7,%ebx 604bc3d5698SJohn Baldwin psrlq $8,%mm7 605bc3d5698SJohn Baldwin movq %mm6,%mm3 606bc3d5698SJohn Baldwin movl %eax,%edi 607bc3d5698SJohn Baldwin psrlq $8,%mm6 608bc3d5698SJohn Baldwin pxor 272(%esp,%ebp,8),%mm7 609bc3d5698SJohn Baldwin andb $15,%al 610bc3d5698SJohn Baldwin psllq $56,%mm3 611bc3d5698SJohn Baldwin shrl $4,%edi 612bc3d5698SJohn Baldwin pxor 16(%esp,%eax,8),%mm7 613bc3d5698SJohn Baldwin roll $8,%edx 614bc3d5698SJohn Baldwin pxor 144(%esp,%eax,8),%mm6 615bc3d5698SJohn Baldwin pxor %mm3,%mm7 616bc3d5698SJohn Baldwin pxor 400(%esp,%ebp,8),%mm6 617bc3d5698SJohn Baldwin xorb (%esp,%ebp,1),%bl 618bc3d5698SJohn Baldwin movb %dl,%al 619bc3d5698SJohn Baldwin movd %mm7,%ecx 620bc3d5698SJohn Baldwin movzbl %bl,%ebx 621bc3d5698SJohn Baldwin psrlq $8,%mm7 622bc3d5698SJohn Baldwin movq %mm6,%mm3 623bc3d5698SJohn Baldwin movl %eax,%ebp 624bc3d5698SJohn Baldwin psrlq $8,%mm6 625bc3d5698SJohn Baldwin pxor 272(%esp,%edi,8),%mm7 626bc3d5698SJohn Baldwin andb $15,%al 627bc3d5698SJohn Baldwin psllq $56,%mm3 628bc3d5698SJohn Baldwin shrl $4,%ebp 629bc3d5698SJohn Baldwin pinsrw $2,(%esi,%ebx,2),%mm2 630bc3d5698SJohn Baldwin pxor 16(%esp,%eax,8),%mm7 631bc3d5698SJohn Baldwin roll $8,%edx 632bc3d5698SJohn Baldwin pxor 144(%esp,%eax,8),%mm6 633bc3d5698SJohn Baldwin pxor %mm3,%mm7 634bc3d5698SJohn Baldwin pxor 400(%esp,%edi,8),%mm6 635bc3d5698SJohn Baldwin xorb (%esp,%edi,1),%cl 636bc3d5698SJohn Baldwin movb %dl,%al 637bc3d5698SJohn Baldwin movl 536(%esp),%edx 638bc3d5698SJohn Baldwin movd %mm7,%ebx 639bc3d5698SJohn Baldwin movzbl %cl,%ecx 640bc3d5698SJohn Baldwin psrlq $8,%mm7 641bc3d5698SJohn Baldwin movq %mm6,%mm3 642bc3d5698SJohn Baldwin movl %eax,%edi 643bc3d5698SJohn Baldwin psrlq $8,%mm6 644bc3d5698SJohn Baldwin pxor 272(%esp,%ebp,8),%mm7 645bc3d5698SJohn Baldwin andb $15,%al 646bc3d5698SJohn Baldwin psllq $56,%mm3 647bc3d5698SJohn Baldwin pxor %mm2,%mm6 648bc3d5698SJohn Baldwin shrl $4,%edi 649bc3d5698SJohn Baldwin pinsrw $2,(%esi,%ecx,2),%mm1 650bc3d5698SJohn Baldwin pxor 16(%esp,%eax,8),%mm7 651bc3d5698SJohn Baldwin roll $8,%edx 652bc3d5698SJohn Baldwin pxor 144(%esp,%eax,8),%mm6 653bc3d5698SJohn Baldwin pxor %mm3,%mm7 654bc3d5698SJohn Baldwin pxor 400(%esp,%ebp,8),%mm6 655bc3d5698SJohn Baldwin xorb (%esp,%ebp,1),%bl 656bc3d5698SJohn Baldwin movb %dl,%al 657bc3d5698SJohn Baldwin movd %mm7,%ecx 658bc3d5698SJohn Baldwin movzbl %bl,%ebx 659bc3d5698SJohn Baldwin psrlq $8,%mm7 660bc3d5698SJohn Baldwin movq %mm6,%mm3 661bc3d5698SJohn Baldwin movl %eax,%ebp 662bc3d5698SJohn Baldwin psrlq $8,%mm6 663bc3d5698SJohn Baldwin pxor 272(%esp,%edi,8),%mm7 664bc3d5698SJohn Baldwin andb $15,%al 665bc3d5698SJohn Baldwin psllq $56,%mm3 666bc3d5698SJohn Baldwin pxor %mm1,%mm6 667bc3d5698SJohn Baldwin shrl $4,%ebp 668bc3d5698SJohn Baldwin pinsrw $2,(%esi,%ebx,2),%mm0 669bc3d5698SJohn Baldwin pxor 16(%esp,%eax,8),%mm7 670bc3d5698SJohn Baldwin roll $8,%edx 671bc3d5698SJohn Baldwin pxor 144(%esp,%eax,8),%mm6 672bc3d5698SJohn Baldwin pxor %mm3,%mm7 673bc3d5698SJohn Baldwin pxor 400(%esp,%edi,8),%mm6 674bc3d5698SJohn Baldwin xorb (%esp,%edi,1),%cl 675bc3d5698SJohn Baldwin movb %dl,%al 676bc3d5698SJohn Baldwin movd %mm7,%ebx 677bc3d5698SJohn Baldwin movzbl %cl,%ecx 678bc3d5698SJohn Baldwin psrlq $8,%mm7 679bc3d5698SJohn Baldwin movq %mm6,%mm3 680bc3d5698SJohn Baldwin movl %eax,%edi 681bc3d5698SJohn Baldwin psrlq $8,%mm6 682bc3d5698SJohn Baldwin pxor 272(%esp,%ebp,8),%mm7 683bc3d5698SJohn Baldwin andb $15,%al 684bc3d5698SJohn Baldwin psllq $56,%mm3 685bc3d5698SJohn Baldwin pxor %mm0,%mm6 686bc3d5698SJohn Baldwin shrl $4,%edi 687bc3d5698SJohn Baldwin pinsrw $2,(%esi,%ecx,2),%mm2 688bc3d5698SJohn Baldwin pxor 16(%esp,%eax,8),%mm7 689bc3d5698SJohn Baldwin roll $8,%edx 690bc3d5698SJohn Baldwin pxor 144(%esp,%eax,8),%mm6 691bc3d5698SJohn Baldwin pxor %mm3,%mm7 692bc3d5698SJohn Baldwin pxor 400(%esp,%ebp,8),%mm6 693bc3d5698SJohn Baldwin xorb (%esp,%ebp,1),%bl 694bc3d5698SJohn Baldwin movb %dl,%al 695bc3d5698SJohn Baldwin movd %mm7,%ecx 696bc3d5698SJohn Baldwin movzbl %bl,%ebx 697bc3d5698SJohn Baldwin psrlq $8,%mm7 698bc3d5698SJohn Baldwin movq %mm6,%mm3 699bc3d5698SJohn Baldwin movl %eax,%ebp 700bc3d5698SJohn Baldwin psrlq $8,%mm6 701bc3d5698SJohn Baldwin pxor 272(%esp,%edi,8),%mm7 702bc3d5698SJohn Baldwin andb $15,%al 703bc3d5698SJohn Baldwin psllq $56,%mm3 704bc3d5698SJohn Baldwin pxor %mm2,%mm6 705bc3d5698SJohn Baldwin shrl $4,%ebp 706bc3d5698SJohn Baldwin pinsrw $2,(%esi,%ebx,2),%mm1 707bc3d5698SJohn Baldwin pxor 16(%esp,%eax,8),%mm7 708bc3d5698SJohn Baldwin roll $8,%edx 709bc3d5698SJohn Baldwin pxor 144(%esp,%eax,8),%mm6 710bc3d5698SJohn Baldwin pxor %mm3,%mm7 711bc3d5698SJohn Baldwin pxor 400(%esp,%edi,8),%mm6 712bc3d5698SJohn Baldwin xorb (%esp,%edi,1),%cl 713bc3d5698SJohn Baldwin movb %dl,%al 714bc3d5698SJohn Baldwin movl 532(%esp),%edx 715bc3d5698SJohn Baldwin movd %mm7,%ebx 716bc3d5698SJohn Baldwin movzbl %cl,%ecx 717bc3d5698SJohn Baldwin psrlq $8,%mm7 718bc3d5698SJohn Baldwin movq %mm6,%mm3 719bc3d5698SJohn Baldwin movl %eax,%edi 720bc3d5698SJohn Baldwin psrlq $8,%mm6 721bc3d5698SJohn Baldwin pxor 272(%esp,%ebp,8),%mm7 722bc3d5698SJohn Baldwin andb $15,%al 723bc3d5698SJohn Baldwin psllq $56,%mm3 724bc3d5698SJohn Baldwin pxor %mm1,%mm6 725bc3d5698SJohn Baldwin shrl $4,%edi 726bc3d5698SJohn Baldwin pinsrw $2,(%esi,%ecx,2),%mm0 727bc3d5698SJohn Baldwin pxor 16(%esp,%eax,8),%mm7 728bc3d5698SJohn Baldwin roll $8,%edx 729bc3d5698SJohn Baldwin pxor 144(%esp,%eax,8),%mm6 730bc3d5698SJohn Baldwin pxor %mm3,%mm7 731bc3d5698SJohn Baldwin pxor 400(%esp,%ebp,8),%mm6 732bc3d5698SJohn Baldwin xorb (%esp,%ebp,1),%bl 733bc3d5698SJohn Baldwin movb %dl,%al 734bc3d5698SJohn Baldwin movd %mm7,%ecx 735bc3d5698SJohn Baldwin movzbl %bl,%ebx 736bc3d5698SJohn Baldwin psrlq $8,%mm7 737bc3d5698SJohn Baldwin movq %mm6,%mm3 738bc3d5698SJohn Baldwin movl %eax,%ebp 739bc3d5698SJohn Baldwin psrlq $8,%mm6 740bc3d5698SJohn Baldwin pxor 272(%esp,%edi,8),%mm7 741bc3d5698SJohn Baldwin andb $15,%al 742bc3d5698SJohn Baldwin psllq $56,%mm3 743bc3d5698SJohn Baldwin pxor %mm0,%mm6 744bc3d5698SJohn Baldwin shrl $4,%ebp 745bc3d5698SJohn Baldwin pinsrw $2,(%esi,%ebx,2),%mm2 746bc3d5698SJohn Baldwin pxor 16(%esp,%eax,8),%mm7 747bc3d5698SJohn Baldwin roll $8,%edx 748bc3d5698SJohn Baldwin pxor 144(%esp,%eax,8),%mm6 749bc3d5698SJohn Baldwin pxor %mm3,%mm7 750bc3d5698SJohn Baldwin pxor 400(%esp,%edi,8),%mm6 751bc3d5698SJohn Baldwin xorb (%esp,%edi,1),%cl 752bc3d5698SJohn Baldwin movb %dl,%al 753bc3d5698SJohn Baldwin movd %mm7,%ebx 754bc3d5698SJohn Baldwin movzbl %cl,%ecx 755bc3d5698SJohn Baldwin psrlq $8,%mm7 756bc3d5698SJohn Baldwin movq %mm6,%mm3 757bc3d5698SJohn Baldwin movl %eax,%edi 758bc3d5698SJohn Baldwin psrlq $8,%mm6 759bc3d5698SJohn Baldwin pxor 272(%esp,%ebp,8),%mm7 760bc3d5698SJohn Baldwin andb $15,%al 761bc3d5698SJohn Baldwin psllq $56,%mm3 762bc3d5698SJohn Baldwin pxor %mm2,%mm6 763bc3d5698SJohn Baldwin shrl $4,%edi 764bc3d5698SJohn Baldwin pinsrw $2,(%esi,%ecx,2),%mm1 765bc3d5698SJohn Baldwin pxor 16(%esp,%eax,8),%mm7 766bc3d5698SJohn Baldwin roll $8,%edx 767bc3d5698SJohn Baldwin pxor 144(%esp,%eax,8),%mm6 768bc3d5698SJohn Baldwin pxor %mm3,%mm7 769bc3d5698SJohn Baldwin pxor 400(%esp,%ebp,8),%mm6 770bc3d5698SJohn Baldwin xorb (%esp,%ebp,1),%bl 771bc3d5698SJohn Baldwin movb %dl,%al 772bc3d5698SJohn Baldwin movd %mm7,%ecx 773bc3d5698SJohn Baldwin movzbl %bl,%ebx 774bc3d5698SJohn Baldwin psrlq $8,%mm7 775bc3d5698SJohn Baldwin movq %mm6,%mm3 776bc3d5698SJohn Baldwin movl %eax,%ebp 777bc3d5698SJohn Baldwin psrlq $8,%mm6 778bc3d5698SJohn Baldwin pxor 272(%esp,%edi,8),%mm7 779bc3d5698SJohn Baldwin andb $15,%al 780bc3d5698SJohn Baldwin psllq $56,%mm3 781bc3d5698SJohn Baldwin pxor %mm1,%mm6 782bc3d5698SJohn Baldwin shrl $4,%ebp 783bc3d5698SJohn Baldwin pinsrw $2,(%esi,%ebx,2),%mm0 784bc3d5698SJohn Baldwin pxor 16(%esp,%eax,8),%mm7 785bc3d5698SJohn Baldwin roll $8,%edx 786bc3d5698SJohn Baldwin pxor 144(%esp,%eax,8),%mm6 787bc3d5698SJohn Baldwin pxor %mm3,%mm7 788bc3d5698SJohn Baldwin pxor 400(%esp,%edi,8),%mm6 789bc3d5698SJohn Baldwin xorb (%esp,%edi,1),%cl 790bc3d5698SJohn Baldwin movb %dl,%al 791bc3d5698SJohn Baldwin movl 528(%esp),%edx 792bc3d5698SJohn Baldwin movd %mm7,%ebx 793bc3d5698SJohn Baldwin movzbl %cl,%ecx 794bc3d5698SJohn Baldwin psrlq $8,%mm7 795bc3d5698SJohn Baldwin movq %mm6,%mm3 796bc3d5698SJohn Baldwin movl %eax,%edi 797bc3d5698SJohn Baldwin psrlq $8,%mm6 798bc3d5698SJohn Baldwin pxor 272(%esp,%ebp,8),%mm7 799bc3d5698SJohn Baldwin andb $15,%al 800bc3d5698SJohn Baldwin psllq $56,%mm3 801bc3d5698SJohn Baldwin pxor %mm0,%mm6 802bc3d5698SJohn Baldwin shrl $4,%edi 803bc3d5698SJohn Baldwin pinsrw $2,(%esi,%ecx,2),%mm2 804bc3d5698SJohn Baldwin pxor 16(%esp,%eax,8),%mm7 805bc3d5698SJohn Baldwin roll $8,%edx 806bc3d5698SJohn Baldwin pxor 144(%esp,%eax,8),%mm6 807bc3d5698SJohn Baldwin pxor %mm3,%mm7 808bc3d5698SJohn Baldwin pxor 400(%esp,%ebp,8),%mm6 809bc3d5698SJohn Baldwin xorb (%esp,%ebp,1),%bl 810bc3d5698SJohn Baldwin movb %dl,%al 811bc3d5698SJohn Baldwin movd %mm7,%ecx 812bc3d5698SJohn Baldwin movzbl %bl,%ebx 813bc3d5698SJohn Baldwin psrlq $8,%mm7 814bc3d5698SJohn Baldwin movq %mm6,%mm3 815bc3d5698SJohn Baldwin movl %eax,%ebp 816bc3d5698SJohn Baldwin psrlq $8,%mm6 817bc3d5698SJohn Baldwin pxor 272(%esp,%edi,8),%mm7 818bc3d5698SJohn Baldwin andb $15,%al 819bc3d5698SJohn Baldwin psllq $56,%mm3 820bc3d5698SJohn Baldwin pxor %mm2,%mm6 821bc3d5698SJohn Baldwin shrl $4,%ebp 822bc3d5698SJohn Baldwin pinsrw $2,(%esi,%ebx,2),%mm1 823bc3d5698SJohn Baldwin pxor 16(%esp,%eax,8),%mm7 824bc3d5698SJohn Baldwin roll $8,%edx 825bc3d5698SJohn Baldwin pxor 144(%esp,%eax,8),%mm6 826bc3d5698SJohn Baldwin pxor %mm3,%mm7 827bc3d5698SJohn Baldwin pxor 400(%esp,%edi,8),%mm6 828bc3d5698SJohn Baldwin xorb (%esp,%edi,1),%cl 829bc3d5698SJohn Baldwin movb %dl,%al 830bc3d5698SJohn Baldwin movd %mm7,%ebx 831bc3d5698SJohn Baldwin movzbl %cl,%ecx 832bc3d5698SJohn Baldwin psrlq $8,%mm7 833bc3d5698SJohn Baldwin movq %mm6,%mm3 834bc3d5698SJohn Baldwin movl %eax,%edi 835bc3d5698SJohn Baldwin psrlq $8,%mm6 836bc3d5698SJohn Baldwin pxor 272(%esp,%ebp,8),%mm7 837bc3d5698SJohn Baldwin andb $15,%al 838bc3d5698SJohn Baldwin psllq $56,%mm3 839bc3d5698SJohn Baldwin pxor %mm1,%mm6 840bc3d5698SJohn Baldwin shrl $4,%edi 841bc3d5698SJohn Baldwin pinsrw $2,(%esi,%ecx,2),%mm0 842bc3d5698SJohn Baldwin pxor 16(%esp,%eax,8),%mm7 843bc3d5698SJohn Baldwin roll $8,%edx 844bc3d5698SJohn Baldwin pxor 144(%esp,%eax,8),%mm6 845bc3d5698SJohn Baldwin pxor %mm3,%mm7 846bc3d5698SJohn Baldwin pxor 400(%esp,%ebp,8),%mm6 847bc3d5698SJohn Baldwin xorb (%esp,%ebp,1),%bl 848bc3d5698SJohn Baldwin movb %dl,%al 849bc3d5698SJohn Baldwin movd %mm7,%ecx 850bc3d5698SJohn Baldwin movzbl %bl,%ebx 851bc3d5698SJohn Baldwin psrlq $8,%mm7 852bc3d5698SJohn Baldwin movq %mm6,%mm3 853bc3d5698SJohn Baldwin movl %eax,%ebp 854bc3d5698SJohn Baldwin psrlq $8,%mm6 855bc3d5698SJohn Baldwin pxor 272(%esp,%edi,8),%mm7 856bc3d5698SJohn Baldwin andb $15,%al 857bc3d5698SJohn Baldwin psllq $56,%mm3 858bc3d5698SJohn Baldwin pxor %mm0,%mm6 859bc3d5698SJohn Baldwin shrl $4,%ebp 860bc3d5698SJohn Baldwin pinsrw $2,(%esi,%ebx,2),%mm2 861bc3d5698SJohn Baldwin pxor 16(%esp,%eax,8),%mm7 862bc3d5698SJohn Baldwin roll $8,%edx 863bc3d5698SJohn Baldwin pxor 144(%esp,%eax,8),%mm6 864bc3d5698SJohn Baldwin pxor %mm3,%mm7 865bc3d5698SJohn Baldwin pxor 400(%esp,%edi,8),%mm6 866bc3d5698SJohn Baldwin xorb (%esp,%edi,1),%cl 867bc3d5698SJohn Baldwin movb %dl,%al 868bc3d5698SJohn Baldwin movl 524(%esp),%edx 869bc3d5698SJohn Baldwin movd %mm7,%ebx 870bc3d5698SJohn Baldwin movzbl %cl,%ecx 871bc3d5698SJohn Baldwin psrlq $8,%mm7 872bc3d5698SJohn Baldwin movq %mm6,%mm3 873bc3d5698SJohn Baldwin movl %eax,%edi 874bc3d5698SJohn Baldwin psrlq $8,%mm6 875bc3d5698SJohn Baldwin pxor 272(%esp,%ebp,8),%mm7 876bc3d5698SJohn Baldwin andb $15,%al 877bc3d5698SJohn Baldwin psllq $56,%mm3 878bc3d5698SJohn Baldwin pxor %mm2,%mm6 879bc3d5698SJohn Baldwin shrl $4,%edi 880bc3d5698SJohn Baldwin pinsrw $2,(%esi,%ecx,2),%mm1 881bc3d5698SJohn Baldwin pxor 16(%esp,%eax,8),%mm7 882bc3d5698SJohn Baldwin pxor 144(%esp,%eax,8),%mm6 883bc3d5698SJohn Baldwin xorb (%esp,%ebp,1),%bl 884bc3d5698SJohn Baldwin pxor %mm3,%mm7 885bc3d5698SJohn Baldwin pxor 400(%esp,%ebp,8),%mm6 886bc3d5698SJohn Baldwin movzbl %bl,%ebx 887bc3d5698SJohn Baldwin pxor %mm2,%mm2 888bc3d5698SJohn Baldwin psllq $4,%mm1 889bc3d5698SJohn Baldwin movd %mm7,%ecx 890bc3d5698SJohn Baldwin psrlq $4,%mm7 891bc3d5698SJohn Baldwin movq %mm6,%mm3 892bc3d5698SJohn Baldwin psrlq $4,%mm6 893bc3d5698SJohn Baldwin shll $4,%ecx 894bc3d5698SJohn Baldwin pxor 16(%esp,%edi,8),%mm7 895bc3d5698SJohn Baldwin psllq $60,%mm3 896bc3d5698SJohn Baldwin movzbl %cl,%ecx 897bc3d5698SJohn Baldwin pxor %mm3,%mm7 898bc3d5698SJohn Baldwin pxor 144(%esp,%edi,8),%mm6 899bc3d5698SJohn Baldwin pinsrw $2,(%esi,%ebx,2),%mm0 900bc3d5698SJohn Baldwin pxor %mm1,%mm6 901bc3d5698SJohn Baldwin movd %mm7,%edx 902bc3d5698SJohn Baldwin pinsrw $3,(%esi,%ecx,2),%mm2 903bc3d5698SJohn Baldwin psllq $12,%mm0 904bc3d5698SJohn Baldwin pxor %mm0,%mm6 905bc3d5698SJohn Baldwin psrlq $32,%mm7 906bc3d5698SJohn Baldwin pxor %mm2,%mm6 907bc3d5698SJohn Baldwin movl 548(%esp),%ecx 908bc3d5698SJohn Baldwin movd %mm7,%ebx 909bc3d5698SJohn Baldwin movq %mm6,%mm3 910bc3d5698SJohn Baldwin psllw $8,%mm6 911bc3d5698SJohn Baldwin psrlw $8,%mm3 912bc3d5698SJohn Baldwin por %mm3,%mm6 913bc3d5698SJohn Baldwin bswap %edx 914bc3d5698SJohn Baldwin pshufw $27,%mm6,%mm6 915bc3d5698SJohn Baldwin bswap %ebx 916bc3d5698SJohn Baldwin cmpl 552(%esp),%ecx 917bc3d5698SJohn Baldwin jne .L009outer 918bc3d5698SJohn Baldwin movl 544(%esp),%eax 919bc3d5698SJohn Baldwin movl %edx,12(%eax) 920bc3d5698SJohn Baldwin movl %ebx,8(%eax) 921bc3d5698SJohn Baldwin movq %mm6,(%eax) 922bc3d5698SJohn Baldwin movl 556(%esp),%esp 923bc3d5698SJohn Baldwin emms 924bc3d5698SJohn Baldwin popl %edi 925bc3d5698SJohn Baldwin popl %esi 926bc3d5698SJohn Baldwin popl %ebx 927bc3d5698SJohn Baldwin popl %ebp 928bc3d5698SJohn Baldwin ret 929bc3d5698SJohn Baldwin.size gcm_ghash_4bit_mmx,.-.L_gcm_ghash_4bit_mmx_begin 930bc3d5698SJohn Baldwin.globl gcm_init_clmul 931bc3d5698SJohn Baldwin.type gcm_init_clmul,@function 932bc3d5698SJohn Baldwin.align 16 933bc3d5698SJohn Baldwingcm_init_clmul: 934bc3d5698SJohn Baldwin.L_gcm_init_clmul_begin: 935*c0855eaaSJohn Baldwin #ifdef __CET__ 936*c0855eaaSJohn Baldwin 937*c0855eaaSJohn Baldwin.byte 243,15,30,251 938*c0855eaaSJohn Baldwin #endif 939*c0855eaaSJohn Baldwin 940bc3d5698SJohn Baldwin movl 4(%esp),%edx 941bc3d5698SJohn Baldwin movl 8(%esp),%eax 942bc3d5698SJohn Baldwin call .L010pic 943bc3d5698SJohn Baldwin.L010pic: 944bc3d5698SJohn Baldwin popl %ecx 945bc3d5698SJohn Baldwin leal .Lbswap-.L010pic(%ecx),%ecx 946bc3d5698SJohn Baldwin movdqu (%eax),%xmm2 947bc3d5698SJohn Baldwin pshufd $78,%xmm2,%xmm2 948bc3d5698SJohn Baldwin pshufd $255,%xmm2,%xmm4 949bc3d5698SJohn Baldwin movdqa %xmm2,%xmm3 950bc3d5698SJohn Baldwin psllq $1,%xmm2 951bc3d5698SJohn Baldwin pxor %xmm5,%xmm5 952bc3d5698SJohn Baldwin psrlq $63,%xmm3 953bc3d5698SJohn Baldwin pcmpgtd %xmm4,%xmm5 954bc3d5698SJohn Baldwin pslldq $8,%xmm3 955bc3d5698SJohn Baldwin por %xmm3,%xmm2 956bc3d5698SJohn Baldwin pand 16(%ecx),%xmm5 957bc3d5698SJohn Baldwin pxor %xmm5,%xmm2 958bc3d5698SJohn Baldwin movdqa %xmm2,%xmm0 959bc3d5698SJohn Baldwin movdqa %xmm0,%xmm1 960bc3d5698SJohn Baldwin pshufd $78,%xmm0,%xmm3 961bc3d5698SJohn Baldwin pshufd $78,%xmm2,%xmm4 962bc3d5698SJohn Baldwin pxor %xmm0,%xmm3 963bc3d5698SJohn Baldwin pxor %xmm2,%xmm4 964bc3d5698SJohn Baldwin.byte 102,15,58,68,194,0 965bc3d5698SJohn Baldwin.byte 102,15,58,68,202,17 966bc3d5698SJohn Baldwin.byte 102,15,58,68,220,0 967bc3d5698SJohn Baldwin xorps %xmm0,%xmm3 968bc3d5698SJohn Baldwin xorps %xmm1,%xmm3 969bc3d5698SJohn Baldwin movdqa %xmm3,%xmm4 970bc3d5698SJohn Baldwin psrldq $8,%xmm3 971bc3d5698SJohn Baldwin pslldq $8,%xmm4 972bc3d5698SJohn Baldwin pxor %xmm3,%xmm1 973bc3d5698SJohn Baldwin pxor %xmm4,%xmm0 974bc3d5698SJohn Baldwin movdqa %xmm0,%xmm4 975bc3d5698SJohn Baldwin movdqa %xmm0,%xmm3 976bc3d5698SJohn Baldwin psllq $5,%xmm0 977bc3d5698SJohn Baldwin pxor %xmm0,%xmm3 978bc3d5698SJohn Baldwin psllq $1,%xmm0 979bc3d5698SJohn Baldwin pxor %xmm3,%xmm0 980bc3d5698SJohn Baldwin psllq $57,%xmm0 981bc3d5698SJohn Baldwin movdqa %xmm0,%xmm3 982bc3d5698SJohn Baldwin pslldq $8,%xmm0 983bc3d5698SJohn Baldwin psrldq $8,%xmm3 984bc3d5698SJohn Baldwin pxor %xmm4,%xmm0 985bc3d5698SJohn Baldwin pxor %xmm3,%xmm1 986bc3d5698SJohn Baldwin movdqa %xmm0,%xmm4 987bc3d5698SJohn Baldwin psrlq $1,%xmm0 988bc3d5698SJohn Baldwin pxor %xmm4,%xmm1 989bc3d5698SJohn Baldwin pxor %xmm0,%xmm4 990bc3d5698SJohn Baldwin psrlq $5,%xmm0 991bc3d5698SJohn Baldwin pxor %xmm4,%xmm0 992bc3d5698SJohn Baldwin psrlq $1,%xmm0 993bc3d5698SJohn Baldwin pxor %xmm1,%xmm0 994bc3d5698SJohn Baldwin pshufd $78,%xmm2,%xmm3 995bc3d5698SJohn Baldwin pshufd $78,%xmm0,%xmm4 996bc3d5698SJohn Baldwin pxor %xmm2,%xmm3 997bc3d5698SJohn Baldwin movdqu %xmm2,(%edx) 998bc3d5698SJohn Baldwin pxor %xmm0,%xmm4 999bc3d5698SJohn Baldwin movdqu %xmm0,16(%edx) 1000bc3d5698SJohn Baldwin.byte 102,15,58,15,227,8 1001bc3d5698SJohn Baldwin movdqu %xmm4,32(%edx) 1002bc3d5698SJohn Baldwin ret 1003bc3d5698SJohn Baldwin.size gcm_init_clmul,.-.L_gcm_init_clmul_begin 1004bc3d5698SJohn Baldwin.globl gcm_gmult_clmul 1005bc3d5698SJohn Baldwin.type gcm_gmult_clmul,@function 1006bc3d5698SJohn Baldwin.align 16 1007bc3d5698SJohn Baldwingcm_gmult_clmul: 1008bc3d5698SJohn Baldwin.L_gcm_gmult_clmul_begin: 1009*c0855eaaSJohn Baldwin #ifdef __CET__ 1010*c0855eaaSJohn Baldwin 1011*c0855eaaSJohn Baldwin.byte 243,15,30,251 1012*c0855eaaSJohn Baldwin #endif 1013*c0855eaaSJohn Baldwin 1014bc3d5698SJohn Baldwin movl 4(%esp),%eax 1015bc3d5698SJohn Baldwin movl 8(%esp),%edx 1016bc3d5698SJohn Baldwin call .L011pic 1017bc3d5698SJohn Baldwin.L011pic: 1018bc3d5698SJohn Baldwin popl %ecx 1019bc3d5698SJohn Baldwin leal .Lbswap-.L011pic(%ecx),%ecx 1020bc3d5698SJohn Baldwin movdqu (%eax),%xmm0 1021bc3d5698SJohn Baldwin movdqa (%ecx),%xmm5 1022bc3d5698SJohn Baldwin movups (%edx),%xmm2 1023bc3d5698SJohn Baldwin.byte 102,15,56,0,197 1024bc3d5698SJohn Baldwin movups 32(%edx),%xmm4 1025bc3d5698SJohn Baldwin movdqa %xmm0,%xmm1 1026bc3d5698SJohn Baldwin pshufd $78,%xmm0,%xmm3 1027bc3d5698SJohn Baldwin pxor %xmm0,%xmm3 1028bc3d5698SJohn Baldwin.byte 102,15,58,68,194,0 1029bc3d5698SJohn Baldwin.byte 102,15,58,68,202,17 1030bc3d5698SJohn Baldwin.byte 102,15,58,68,220,0 1031bc3d5698SJohn Baldwin xorps %xmm0,%xmm3 1032bc3d5698SJohn Baldwin xorps %xmm1,%xmm3 1033bc3d5698SJohn Baldwin movdqa %xmm3,%xmm4 1034bc3d5698SJohn Baldwin psrldq $8,%xmm3 1035bc3d5698SJohn Baldwin pslldq $8,%xmm4 1036bc3d5698SJohn Baldwin pxor %xmm3,%xmm1 1037bc3d5698SJohn Baldwin pxor %xmm4,%xmm0 1038bc3d5698SJohn Baldwin movdqa %xmm0,%xmm4 1039bc3d5698SJohn Baldwin movdqa %xmm0,%xmm3 1040bc3d5698SJohn Baldwin psllq $5,%xmm0 1041bc3d5698SJohn Baldwin pxor %xmm0,%xmm3 1042bc3d5698SJohn Baldwin psllq $1,%xmm0 1043bc3d5698SJohn Baldwin pxor %xmm3,%xmm0 1044bc3d5698SJohn Baldwin psllq $57,%xmm0 1045bc3d5698SJohn Baldwin movdqa %xmm0,%xmm3 1046bc3d5698SJohn Baldwin pslldq $8,%xmm0 1047bc3d5698SJohn Baldwin psrldq $8,%xmm3 1048bc3d5698SJohn Baldwin pxor %xmm4,%xmm0 1049bc3d5698SJohn Baldwin pxor %xmm3,%xmm1 1050bc3d5698SJohn Baldwin movdqa %xmm0,%xmm4 1051bc3d5698SJohn Baldwin psrlq $1,%xmm0 1052bc3d5698SJohn Baldwin pxor %xmm4,%xmm1 1053bc3d5698SJohn Baldwin pxor %xmm0,%xmm4 1054bc3d5698SJohn Baldwin psrlq $5,%xmm0 1055bc3d5698SJohn Baldwin pxor %xmm4,%xmm0 1056bc3d5698SJohn Baldwin psrlq $1,%xmm0 1057bc3d5698SJohn Baldwin pxor %xmm1,%xmm0 1058bc3d5698SJohn Baldwin.byte 102,15,56,0,197 1059bc3d5698SJohn Baldwin movdqu %xmm0,(%eax) 1060bc3d5698SJohn Baldwin ret 1061bc3d5698SJohn Baldwin.size gcm_gmult_clmul,.-.L_gcm_gmult_clmul_begin 1062bc3d5698SJohn Baldwin.globl gcm_ghash_clmul 1063bc3d5698SJohn Baldwin.type gcm_ghash_clmul,@function 1064bc3d5698SJohn Baldwin.align 16 1065bc3d5698SJohn Baldwingcm_ghash_clmul: 1066bc3d5698SJohn Baldwin.L_gcm_ghash_clmul_begin: 1067*c0855eaaSJohn Baldwin #ifdef __CET__ 1068*c0855eaaSJohn Baldwin 1069*c0855eaaSJohn Baldwin.byte 243,15,30,251 1070*c0855eaaSJohn Baldwin #endif 1071*c0855eaaSJohn Baldwin 1072bc3d5698SJohn Baldwin pushl %ebp 1073bc3d5698SJohn Baldwin pushl %ebx 1074bc3d5698SJohn Baldwin pushl %esi 1075bc3d5698SJohn Baldwin pushl %edi 1076bc3d5698SJohn Baldwin movl 20(%esp),%eax 1077bc3d5698SJohn Baldwin movl 24(%esp),%edx 1078bc3d5698SJohn Baldwin movl 28(%esp),%esi 1079bc3d5698SJohn Baldwin movl 32(%esp),%ebx 1080bc3d5698SJohn Baldwin call .L012pic 1081bc3d5698SJohn Baldwin.L012pic: 1082bc3d5698SJohn Baldwin popl %ecx 1083bc3d5698SJohn Baldwin leal .Lbswap-.L012pic(%ecx),%ecx 1084bc3d5698SJohn Baldwin movdqu (%eax),%xmm0 1085bc3d5698SJohn Baldwin movdqa (%ecx),%xmm5 1086bc3d5698SJohn Baldwin movdqu (%edx),%xmm2 1087bc3d5698SJohn Baldwin.byte 102,15,56,0,197 1088bc3d5698SJohn Baldwin subl $16,%ebx 1089bc3d5698SJohn Baldwin jz .L013odd_tail 1090bc3d5698SJohn Baldwin movdqu (%esi),%xmm3 1091bc3d5698SJohn Baldwin movdqu 16(%esi),%xmm6 1092bc3d5698SJohn Baldwin.byte 102,15,56,0,221 1093bc3d5698SJohn Baldwin.byte 102,15,56,0,245 1094bc3d5698SJohn Baldwin movdqu 32(%edx),%xmm5 1095bc3d5698SJohn Baldwin pxor %xmm3,%xmm0 1096bc3d5698SJohn Baldwin pshufd $78,%xmm6,%xmm3 1097bc3d5698SJohn Baldwin movdqa %xmm6,%xmm7 1098bc3d5698SJohn Baldwin pxor %xmm6,%xmm3 1099bc3d5698SJohn Baldwin leal 32(%esi),%esi 1100bc3d5698SJohn Baldwin.byte 102,15,58,68,242,0 1101bc3d5698SJohn Baldwin.byte 102,15,58,68,250,17 1102bc3d5698SJohn Baldwin.byte 102,15,58,68,221,0 1103bc3d5698SJohn Baldwin movups 16(%edx),%xmm2 1104bc3d5698SJohn Baldwin nop 1105bc3d5698SJohn Baldwin subl $32,%ebx 1106bc3d5698SJohn Baldwin jbe .L014even_tail 1107bc3d5698SJohn Baldwin jmp .L015mod_loop 1108bc3d5698SJohn Baldwin.align 32 1109bc3d5698SJohn Baldwin.L015mod_loop: 1110bc3d5698SJohn Baldwin pshufd $78,%xmm0,%xmm4 1111bc3d5698SJohn Baldwin movdqa %xmm0,%xmm1 1112bc3d5698SJohn Baldwin pxor %xmm0,%xmm4 1113bc3d5698SJohn Baldwin nop 1114bc3d5698SJohn Baldwin.byte 102,15,58,68,194,0 1115bc3d5698SJohn Baldwin.byte 102,15,58,68,202,17 1116bc3d5698SJohn Baldwin.byte 102,15,58,68,229,16 1117bc3d5698SJohn Baldwin movups (%edx),%xmm2 1118bc3d5698SJohn Baldwin xorps %xmm6,%xmm0 1119bc3d5698SJohn Baldwin movdqa (%ecx),%xmm5 1120bc3d5698SJohn Baldwin xorps %xmm7,%xmm1 1121bc3d5698SJohn Baldwin movdqu (%esi),%xmm7 1122bc3d5698SJohn Baldwin pxor %xmm0,%xmm3 1123bc3d5698SJohn Baldwin movdqu 16(%esi),%xmm6 1124bc3d5698SJohn Baldwin pxor %xmm1,%xmm3 1125bc3d5698SJohn Baldwin.byte 102,15,56,0,253 1126bc3d5698SJohn Baldwin pxor %xmm3,%xmm4 1127bc3d5698SJohn Baldwin movdqa %xmm4,%xmm3 1128bc3d5698SJohn Baldwin psrldq $8,%xmm4 1129bc3d5698SJohn Baldwin pslldq $8,%xmm3 1130bc3d5698SJohn Baldwin pxor %xmm4,%xmm1 1131bc3d5698SJohn Baldwin pxor %xmm3,%xmm0 1132bc3d5698SJohn Baldwin.byte 102,15,56,0,245 1133bc3d5698SJohn Baldwin pxor %xmm7,%xmm1 1134bc3d5698SJohn Baldwin movdqa %xmm6,%xmm7 1135bc3d5698SJohn Baldwin movdqa %xmm0,%xmm4 1136bc3d5698SJohn Baldwin movdqa %xmm0,%xmm3 1137bc3d5698SJohn Baldwin psllq $5,%xmm0 1138bc3d5698SJohn Baldwin pxor %xmm0,%xmm3 1139bc3d5698SJohn Baldwin psllq $1,%xmm0 1140bc3d5698SJohn Baldwin pxor %xmm3,%xmm0 1141bc3d5698SJohn Baldwin.byte 102,15,58,68,242,0 1142bc3d5698SJohn Baldwin movups 32(%edx),%xmm5 1143bc3d5698SJohn Baldwin psllq $57,%xmm0 1144bc3d5698SJohn Baldwin movdqa %xmm0,%xmm3 1145bc3d5698SJohn Baldwin pslldq $8,%xmm0 1146bc3d5698SJohn Baldwin psrldq $8,%xmm3 1147bc3d5698SJohn Baldwin pxor %xmm4,%xmm0 1148bc3d5698SJohn Baldwin pxor %xmm3,%xmm1 1149bc3d5698SJohn Baldwin pshufd $78,%xmm7,%xmm3 1150bc3d5698SJohn Baldwin movdqa %xmm0,%xmm4 1151bc3d5698SJohn Baldwin psrlq $1,%xmm0 1152bc3d5698SJohn Baldwin pxor %xmm7,%xmm3 1153bc3d5698SJohn Baldwin pxor %xmm4,%xmm1 1154bc3d5698SJohn Baldwin.byte 102,15,58,68,250,17 1155bc3d5698SJohn Baldwin movups 16(%edx),%xmm2 1156bc3d5698SJohn Baldwin pxor %xmm0,%xmm4 1157bc3d5698SJohn Baldwin psrlq $5,%xmm0 1158bc3d5698SJohn Baldwin pxor %xmm4,%xmm0 1159bc3d5698SJohn Baldwin psrlq $1,%xmm0 1160bc3d5698SJohn Baldwin pxor %xmm1,%xmm0 1161bc3d5698SJohn Baldwin.byte 102,15,58,68,221,0 1162bc3d5698SJohn Baldwin leal 32(%esi),%esi 1163bc3d5698SJohn Baldwin subl $32,%ebx 1164bc3d5698SJohn Baldwin ja .L015mod_loop 1165bc3d5698SJohn Baldwin.L014even_tail: 1166bc3d5698SJohn Baldwin pshufd $78,%xmm0,%xmm4 1167bc3d5698SJohn Baldwin movdqa %xmm0,%xmm1 1168bc3d5698SJohn Baldwin pxor %xmm0,%xmm4 1169bc3d5698SJohn Baldwin.byte 102,15,58,68,194,0 1170bc3d5698SJohn Baldwin.byte 102,15,58,68,202,17 1171bc3d5698SJohn Baldwin.byte 102,15,58,68,229,16 1172bc3d5698SJohn Baldwin movdqa (%ecx),%xmm5 1173bc3d5698SJohn Baldwin xorps %xmm6,%xmm0 1174bc3d5698SJohn Baldwin xorps %xmm7,%xmm1 1175bc3d5698SJohn Baldwin pxor %xmm0,%xmm3 1176bc3d5698SJohn Baldwin pxor %xmm1,%xmm3 1177bc3d5698SJohn Baldwin pxor %xmm3,%xmm4 1178bc3d5698SJohn Baldwin movdqa %xmm4,%xmm3 1179bc3d5698SJohn Baldwin psrldq $8,%xmm4 1180bc3d5698SJohn Baldwin pslldq $8,%xmm3 1181bc3d5698SJohn Baldwin pxor %xmm4,%xmm1 1182bc3d5698SJohn Baldwin pxor %xmm3,%xmm0 1183bc3d5698SJohn Baldwin movdqa %xmm0,%xmm4 1184bc3d5698SJohn Baldwin movdqa %xmm0,%xmm3 1185bc3d5698SJohn Baldwin psllq $5,%xmm0 1186bc3d5698SJohn Baldwin pxor %xmm0,%xmm3 1187bc3d5698SJohn Baldwin psllq $1,%xmm0 1188bc3d5698SJohn Baldwin pxor %xmm3,%xmm0 1189bc3d5698SJohn Baldwin psllq $57,%xmm0 1190bc3d5698SJohn Baldwin movdqa %xmm0,%xmm3 1191bc3d5698SJohn Baldwin pslldq $8,%xmm0 1192bc3d5698SJohn Baldwin psrldq $8,%xmm3 1193bc3d5698SJohn Baldwin pxor %xmm4,%xmm0 1194bc3d5698SJohn Baldwin pxor %xmm3,%xmm1 1195bc3d5698SJohn Baldwin movdqa %xmm0,%xmm4 1196bc3d5698SJohn Baldwin psrlq $1,%xmm0 1197bc3d5698SJohn Baldwin pxor %xmm4,%xmm1 1198bc3d5698SJohn Baldwin pxor %xmm0,%xmm4 1199bc3d5698SJohn Baldwin psrlq $5,%xmm0 1200bc3d5698SJohn Baldwin pxor %xmm4,%xmm0 1201bc3d5698SJohn Baldwin psrlq $1,%xmm0 1202bc3d5698SJohn Baldwin pxor %xmm1,%xmm0 1203bc3d5698SJohn Baldwin testl %ebx,%ebx 1204bc3d5698SJohn Baldwin jnz .L016done 1205bc3d5698SJohn Baldwin movups (%edx),%xmm2 1206bc3d5698SJohn Baldwin.L013odd_tail: 1207bc3d5698SJohn Baldwin movdqu (%esi),%xmm3 1208bc3d5698SJohn Baldwin.byte 102,15,56,0,221 1209bc3d5698SJohn Baldwin pxor %xmm3,%xmm0 1210bc3d5698SJohn Baldwin movdqa %xmm0,%xmm1 1211bc3d5698SJohn Baldwin pshufd $78,%xmm0,%xmm3 1212bc3d5698SJohn Baldwin pshufd $78,%xmm2,%xmm4 1213bc3d5698SJohn Baldwin pxor %xmm0,%xmm3 1214bc3d5698SJohn Baldwin pxor %xmm2,%xmm4 1215bc3d5698SJohn Baldwin.byte 102,15,58,68,194,0 1216bc3d5698SJohn Baldwin.byte 102,15,58,68,202,17 1217bc3d5698SJohn Baldwin.byte 102,15,58,68,220,0 1218bc3d5698SJohn Baldwin xorps %xmm0,%xmm3 1219bc3d5698SJohn Baldwin xorps %xmm1,%xmm3 1220bc3d5698SJohn Baldwin movdqa %xmm3,%xmm4 1221bc3d5698SJohn Baldwin psrldq $8,%xmm3 1222bc3d5698SJohn Baldwin pslldq $8,%xmm4 1223bc3d5698SJohn Baldwin pxor %xmm3,%xmm1 1224bc3d5698SJohn Baldwin pxor %xmm4,%xmm0 1225bc3d5698SJohn Baldwin movdqa %xmm0,%xmm4 1226bc3d5698SJohn Baldwin movdqa %xmm0,%xmm3 1227bc3d5698SJohn Baldwin psllq $5,%xmm0 1228bc3d5698SJohn Baldwin pxor %xmm0,%xmm3 1229bc3d5698SJohn Baldwin psllq $1,%xmm0 1230bc3d5698SJohn Baldwin pxor %xmm3,%xmm0 1231bc3d5698SJohn Baldwin psllq $57,%xmm0 1232bc3d5698SJohn Baldwin movdqa %xmm0,%xmm3 1233bc3d5698SJohn Baldwin pslldq $8,%xmm0 1234bc3d5698SJohn Baldwin psrldq $8,%xmm3 1235bc3d5698SJohn Baldwin pxor %xmm4,%xmm0 1236bc3d5698SJohn Baldwin pxor %xmm3,%xmm1 1237bc3d5698SJohn Baldwin movdqa %xmm0,%xmm4 1238bc3d5698SJohn Baldwin psrlq $1,%xmm0 1239bc3d5698SJohn Baldwin pxor %xmm4,%xmm1 1240bc3d5698SJohn Baldwin pxor %xmm0,%xmm4 1241bc3d5698SJohn Baldwin psrlq $5,%xmm0 1242bc3d5698SJohn Baldwin pxor %xmm4,%xmm0 1243bc3d5698SJohn Baldwin psrlq $1,%xmm0 1244bc3d5698SJohn Baldwin pxor %xmm1,%xmm0 1245bc3d5698SJohn Baldwin.L016done: 1246bc3d5698SJohn Baldwin.byte 102,15,56,0,197 1247bc3d5698SJohn Baldwin movdqu %xmm0,(%eax) 1248bc3d5698SJohn Baldwin popl %edi 1249bc3d5698SJohn Baldwin popl %esi 1250bc3d5698SJohn Baldwin popl %ebx 1251bc3d5698SJohn Baldwin popl %ebp 1252bc3d5698SJohn Baldwin ret 1253bc3d5698SJohn Baldwin.size gcm_ghash_clmul,.-.L_gcm_ghash_clmul_begin 1254bc3d5698SJohn Baldwin.align 64 1255bc3d5698SJohn Baldwin.Lbswap: 1256bc3d5698SJohn Baldwin.byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 1257bc3d5698SJohn Baldwin.byte 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194 1258bc3d5698SJohn Baldwin.align 64 1259bc3d5698SJohn Baldwin.Lrem_8bit: 1260bc3d5698SJohn Baldwin.value 0,450,900,582,1800,1738,1164,1358 1261bc3d5698SJohn Baldwin.value 3600,4050,3476,3158,2328,2266,2716,2910 1262bc3d5698SJohn Baldwin.value 7200,7650,8100,7782,6952,6890,6316,6510 1263bc3d5698SJohn Baldwin.value 4656,5106,4532,4214,5432,5370,5820,6014 1264bc3d5698SJohn Baldwin.value 14400,14722,15300,14854,16200,16010,15564,15630 1265bc3d5698SJohn Baldwin.value 13904,14226,13780,13334,12632,12442,13020,13086 1266bc3d5698SJohn Baldwin.value 9312,9634,10212,9766,9064,8874,8428,8494 1267bc3d5698SJohn Baldwin.value 10864,11186,10740,10294,11640,11450,12028,12094 1268bc3d5698SJohn Baldwin.value 28800,28994,29444,29382,30600,30282,29708,30158 1269bc3d5698SJohn Baldwin.value 32400,32594,32020,31958,31128,30810,31260,31710 1270bc3d5698SJohn Baldwin.value 27808,28002,28452,28390,27560,27242,26668,27118 1271bc3d5698SJohn Baldwin.value 25264,25458,24884,24822,26040,25722,26172,26622 1272bc3d5698SJohn Baldwin.value 18624,18690,19268,19078,20424,19978,19532,19854 1273bc3d5698SJohn Baldwin.value 18128,18194,17748,17558,16856,16410,16988,17310 1274bc3d5698SJohn Baldwin.value 21728,21794,22372,22182,21480,21034,20588,20910 1275bc3d5698SJohn Baldwin.value 23280,23346,22900,22710,24056,23610,24188,24510 1276bc3d5698SJohn Baldwin.value 57600,57538,57988,58182,58888,59338,58764,58446 1277bc3d5698SJohn Baldwin.value 61200,61138,60564,60758,59416,59866,60316,59998 1278bc3d5698SJohn Baldwin.value 64800,64738,65188,65382,64040,64490,63916,63598 1279bc3d5698SJohn Baldwin.value 62256,62194,61620,61814,62520,62970,63420,63102 1280bc3d5698SJohn Baldwin.value 55616,55426,56004,56070,56904,57226,56780,56334 1281bc3d5698SJohn Baldwin.value 55120,54930,54484,54550,53336,53658,54236,53790 1282bc3d5698SJohn Baldwin.value 50528,50338,50916,50982,49768,50090,49644,49198 1283bc3d5698SJohn Baldwin.value 52080,51890,51444,51510,52344,52666,53244,52798 1284bc3d5698SJohn Baldwin.value 37248,36930,37380,37830,38536,38730,38156,38094 1285bc3d5698SJohn Baldwin.value 40848,40530,39956,40406,39064,39258,39708,39646 1286bc3d5698SJohn Baldwin.value 36256,35938,36388,36838,35496,35690,35116,35054 1287bc3d5698SJohn Baldwin.value 33712,33394,32820,33270,33976,34170,34620,34558 1288bc3d5698SJohn Baldwin.value 43456,43010,43588,43910,44744,44810,44364,44174 1289bc3d5698SJohn Baldwin.value 42960,42514,42068,42390,41176,41242,41820,41630 1290bc3d5698SJohn Baldwin.value 46560,46114,46692,47014,45800,45866,45420,45230 1291bc3d5698SJohn Baldwin.value 48112,47666,47220,47542,48376,48442,49020,48830 1292bc3d5698SJohn Baldwin.align 64 1293bc3d5698SJohn Baldwin.Lrem_4bit: 1294bc3d5698SJohn Baldwin.long 0,0,0,471859200,0,943718400,0,610271232 1295bc3d5698SJohn Baldwin.long 0,1887436800,0,1822425088,0,1220542464,0,1423966208 1296bc3d5698SJohn Baldwin.long 0,3774873600,0,4246732800,0,3644850176,0,3311403008 1297bc3d5698SJohn Baldwin.long 0,2441084928,0,2376073216,0,2847932416,0,3051356160 1298bc3d5698SJohn Baldwin.byte 71,72,65,83,72,32,102,111,114,32,120,56,54,44,32,67 1299bc3d5698SJohn Baldwin.byte 82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112 1300bc3d5698SJohn Baldwin.byte 112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62 1301bc3d5698SJohn Baldwin.byte 0 1302*c0855eaaSJohn Baldwin 1303*c0855eaaSJohn Baldwin .section ".note.gnu.property", "a" 1304*c0855eaaSJohn Baldwin .p2align 2 1305*c0855eaaSJohn Baldwin .long 1f - 0f 1306*c0855eaaSJohn Baldwin .long 4f - 1f 1307*c0855eaaSJohn Baldwin .long 5 1308*c0855eaaSJohn Baldwin0: 1309*c0855eaaSJohn Baldwin .asciz "GNU" 1310*c0855eaaSJohn Baldwin1: 1311*c0855eaaSJohn Baldwin .p2align 2 1312*c0855eaaSJohn Baldwin .long 0xc0000002 1313*c0855eaaSJohn Baldwin .long 3f - 2f 1314*c0855eaaSJohn Baldwin2: 1315*c0855eaaSJohn Baldwin .long 3 1316*c0855eaaSJohn Baldwin3: 1317*c0855eaaSJohn Baldwin .p2align 2 1318*c0855eaaSJohn Baldwin4: 1319bc3d5698SJohn Baldwin#else 1320bc3d5698SJohn Baldwin.text 1321bc3d5698SJohn Baldwin.globl gcm_gmult_4bit_x86 1322bc3d5698SJohn Baldwin.type gcm_gmult_4bit_x86,@function 1323bc3d5698SJohn Baldwin.align 16 1324bc3d5698SJohn Baldwingcm_gmult_4bit_x86: 1325bc3d5698SJohn Baldwin.L_gcm_gmult_4bit_x86_begin: 1326*c0855eaaSJohn Baldwin #ifdef __CET__ 1327*c0855eaaSJohn Baldwin 1328*c0855eaaSJohn Baldwin.byte 243,15,30,251 1329*c0855eaaSJohn Baldwin #endif 1330*c0855eaaSJohn Baldwin 1331bc3d5698SJohn Baldwin pushl %ebp 1332bc3d5698SJohn Baldwin pushl %ebx 1333bc3d5698SJohn Baldwin pushl %esi 1334bc3d5698SJohn Baldwin pushl %edi 1335bc3d5698SJohn Baldwin subl $84,%esp 1336bc3d5698SJohn Baldwin movl 104(%esp),%edi 1337bc3d5698SJohn Baldwin movl 108(%esp),%esi 1338bc3d5698SJohn Baldwin movl (%edi),%ebp 1339bc3d5698SJohn Baldwin movl 4(%edi),%edx 1340bc3d5698SJohn Baldwin movl 8(%edi),%ecx 1341bc3d5698SJohn Baldwin movl 12(%edi),%ebx 1342bc3d5698SJohn Baldwin movl $0,16(%esp) 1343bc3d5698SJohn Baldwin movl $471859200,20(%esp) 1344bc3d5698SJohn Baldwin movl $943718400,24(%esp) 1345bc3d5698SJohn Baldwin movl $610271232,28(%esp) 1346bc3d5698SJohn Baldwin movl $1887436800,32(%esp) 1347bc3d5698SJohn Baldwin movl $1822425088,36(%esp) 1348bc3d5698SJohn Baldwin movl $1220542464,40(%esp) 1349bc3d5698SJohn Baldwin movl $1423966208,44(%esp) 1350bc3d5698SJohn Baldwin movl $3774873600,48(%esp) 1351bc3d5698SJohn Baldwin movl $4246732800,52(%esp) 1352bc3d5698SJohn Baldwin movl $3644850176,56(%esp) 1353bc3d5698SJohn Baldwin movl $3311403008,60(%esp) 1354bc3d5698SJohn Baldwin movl $2441084928,64(%esp) 1355bc3d5698SJohn Baldwin movl $2376073216,68(%esp) 1356bc3d5698SJohn Baldwin movl $2847932416,72(%esp) 1357bc3d5698SJohn Baldwin movl $3051356160,76(%esp) 1358bc3d5698SJohn Baldwin movl %ebp,(%esp) 1359bc3d5698SJohn Baldwin movl %edx,4(%esp) 1360bc3d5698SJohn Baldwin movl %ecx,8(%esp) 1361bc3d5698SJohn Baldwin movl %ebx,12(%esp) 1362bc3d5698SJohn Baldwin shrl $20,%ebx 1363bc3d5698SJohn Baldwin andl $240,%ebx 1364bc3d5698SJohn Baldwin movl 4(%esi,%ebx,1),%ebp 1365bc3d5698SJohn Baldwin movl (%esi,%ebx,1),%edx 1366bc3d5698SJohn Baldwin movl 12(%esi,%ebx,1),%ecx 1367bc3d5698SJohn Baldwin movl 8(%esi,%ebx,1),%ebx 1368bc3d5698SJohn Baldwin xorl %eax,%eax 1369bc3d5698SJohn Baldwin movl $15,%edi 1370bc3d5698SJohn Baldwin jmp .L000x86_loop 1371bc3d5698SJohn Baldwin.align 16 1372bc3d5698SJohn Baldwin.L000x86_loop: 1373bc3d5698SJohn Baldwin movb %bl,%al 1374bc3d5698SJohn Baldwin shrdl $4,%ecx,%ebx 1375bc3d5698SJohn Baldwin andb $15,%al 1376bc3d5698SJohn Baldwin shrdl $4,%edx,%ecx 1377bc3d5698SJohn Baldwin shrdl $4,%ebp,%edx 1378bc3d5698SJohn Baldwin shrl $4,%ebp 1379bc3d5698SJohn Baldwin xorl 16(%esp,%eax,4),%ebp 1380bc3d5698SJohn Baldwin movb (%esp,%edi,1),%al 1381bc3d5698SJohn Baldwin andb $240,%al 1382bc3d5698SJohn Baldwin xorl 8(%esi,%eax,1),%ebx 1383bc3d5698SJohn Baldwin xorl 12(%esi,%eax,1),%ecx 1384bc3d5698SJohn Baldwin xorl (%esi,%eax,1),%edx 1385bc3d5698SJohn Baldwin xorl 4(%esi,%eax,1),%ebp 1386bc3d5698SJohn Baldwin decl %edi 1387bc3d5698SJohn Baldwin js .L001x86_break 1388bc3d5698SJohn Baldwin movb %bl,%al 1389bc3d5698SJohn Baldwin shrdl $4,%ecx,%ebx 1390bc3d5698SJohn Baldwin andb $15,%al 1391bc3d5698SJohn Baldwin shrdl $4,%edx,%ecx 1392bc3d5698SJohn Baldwin shrdl $4,%ebp,%edx 1393bc3d5698SJohn Baldwin shrl $4,%ebp 1394bc3d5698SJohn Baldwin xorl 16(%esp,%eax,4),%ebp 1395bc3d5698SJohn Baldwin movb (%esp,%edi,1),%al 1396bc3d5698SJohn Baldwin shlb $4,%al 1397bc3d5698SJohn Baldwin xorl 8(%esi,%eax,1),%ebx 1398bc3d5698SJohn Baldwin xorl 12(%esi,%eax,1),%ecx 1399bc3d5698SJohn Baldwin xorl (%esi,%eax,1),%edx 1400bc3d5698SJohn Baldwin xorl 4(%esi,%eax,1),%ebp 1401bc3d5698SJohn Baldwin jmp .L000x86_loop 1402bc3d5698SJohn Baldwin.align 16 1403bc3d5698SJohn Baldwin.L001x86_break: 1404bc3d5698SJohn Baldwin bswap %ebx 1405bc3d5698SJohn Baldwin bswap %ecx 1406bc3d5698SJohn Baldwin bswap %edx 1407bc3d5698SJohn Baldwin bswap %ebp 1408bc3d5698SJohn Baldwin movl 104(%esp),%edi 1409bc3d5698SJohn Baldwin movl %ebx,12(%edi) 1410bc3d5698SJohn Baldwin movl %ecx,8(%edi) 1411bc3d5698SJohn Baldwin movl %edx,4(%edi) 1412bc3d5698SJohn Baldwin movl %ebp,(%edi) 1413bc3d5698SJohn Baldwin addl $84,%esp 1414bc3d5698SJohn Baldwin popl %edi 1415bc3d5698SJohn Baldwin popl %esi 1416bc3d5698SJohn Baldwin popl %ebx 1417bc3d5698SJohn Baldwin popl %ebp 1418bc3d5698SJohn Baldwin ret 1419bc3d5698SJohn Baldwin.size gcm_gmult_4bit_x86,.-.L_gcm_gmult_4bit_x86_begin 1420bc3d5698SJohn Baldwin.globl gcm_ghash_4bit_x86 1421bc3d5698SJohn Baldwin.type gcm_ghash_4bit_x86,@function 1422bc3d5698SJohn Baldwin.align 16 1423bc3d5698SJohn Baldwingcm_ghash_4bit_x86: 1424bc3d5698SJohn Baldwin.L_gcm_ghash_4bit_x86_begin: 1425*c0855eaaSJohn Baldwin #ifdef __CET__ 1426*c0855eaaSJohn Baldwin 1427*c0855eaaSJohn Baldwin.byte 243,15,30,251 1428*c0855eaaSJohn Baldwin #endif 1429*c0855eaaSJohn Baldwin 1430bc3d5698SJohn Baldwin pushl %ebp 1431bc3d5698SJohn Baldwin pushl %ebx 1432bc3d5698SJohn Baldwin pushl %esi 1433bc3d5698SJohn Baldwin pushl %edi 1434bc3d5698SJohn Baldwin subl $84,%esp 1435bc3d5698SJohn Baldwin movl 104(%esp),%ebx 1436bc3d5698SJohn Baldwin movl 108(%esp),%esi 1437bc3d5698SJohn Baldwin movl 112(%esp),%edi 1438bc3d5698SJohn Baldwin movl 116(%esp),%ecx 1439bc3d5698SJohn Baldwin addl %edi,%ecx 1440bc3d5698SJohn Baldwin movl %ecx,116(%esp) 1441bc3d5698SJohn Baldwin movl (%ebx),%ebp 1442bc3d5698SJohn Baldwin movl 4(%ebx),%edx 1443bc3d5698SJohn Baldwin movl 8(%ebx),%ecx 1444bc3d5698SJohn Baldwin movl 12(%ebx),%ebx 1445bc3d5698SJohn Baldwin movl $0,16(%esp) 1446bc3d5698SJohn Baldwin movl $471859200,20(%esp) 1447bc3d5698SJohn Baldwin movl $943718400,24(%esp) 1448bc3d5698SJohn Baldwin movl $610271232,28(%esp) 1449bc3d5698SJohn Baldwin movl $1887436800,32(%esp) 1450bc3d5698SJohn Baldwin movl $1822425088,36(%esp) 1451bc3d5698SJohn Baldwin movl $1220542464,40(%esp) 1452bc3d5698SJohn Baldwin movl $1423966208,44(%esp) 1453bc3d5698SJohn Baldwin movl $3774873600,48(%esp) 1454bc3d5698SJohn Baldwin movl $4246732800,52(%esp) 1455bc3d5698SJohn Baldwin movl $3644850176,56(%esp) 1456bc3d5698SJohn Baldwin movl $3311403008,60(%esp) 1457bc3d5698SJohn Baldwin movl $2441084928,64(%esp) 1458bc3d5698SJohn Baldwin movl $2376073216,68(%esp) 1459bc3d5698SJohn Baldwin movl $2847932416,72(%esp) 1460bc3d5698SJohn Baldwin movl $3051356160,76(%esp) 1461bc3d5698SJohn Baldwin.align 16 1462bc3d5698SJohn Baldwin.L002x86_outer_loop: 1463bc3d5698SJohn Baldwin xorl 12(%edi),%ebx 1464bc3d5698SJohn Baldwin xorl 8(%edi),%ecx 1465bc3d5698SJohn Baldwin xorl 4(%edi),%edx 1466bc3d5698SJohn Baldwin xorl (%edi),%ebp 1467bc3d5698SJohn Baldwin movl %ebx,12(%esp) 1468bc3d5698SJohn Baldwin movl %ecx,8(%esp) 1469bc3d5698SJohn Baldwin movl %edx,4(%esp) 1470bc3d5698SJohn Baldwin movl %ebp,(%esp) 1471bc3d5698SJohn Baldwin shrl $20,%ebx 1472bc3d5698SJohn Baldwin andl $240,%ebx 1473bc3d5698SJohn Baldwin movl 4(%esi,%ebx,1),%ebp 1474bc3d5698SJohn Baldwin movl (%esi,%ebx,1),%edx 1475bc3d5698SJohn Baldwin movl 12(%esi,%ebx,1),%ecx 1476bc3d5698SJohn Baldwin movl 8(%esi,%ebx,1),%ebx 1477bc3d5698SJohn Baldwin xorl %eax,%eax 1478bc3d5698SJohn Baldwin movl $15,%edi 1479bc3d5698SJohn Baldwin jmp .L003x86_loop 1480bc3d5698SJohn Baldwin.align 16 1481bc3d5698SJohn Baldwin.L003x86_loop: 1482bc3d5698SJohn Baldwin movb %bl,%al 1483bc3d5698SJohn Baldwin shrdl $4,%ecx,%ebx 1484bc3d5698SJohn Baldwin andb $15,%al 1485bc3d5698SJohn Baldwin shrdl $4,%edx,%ecx 1486bc3d5698SJohn Baldwin shrdl $4,%ebp,%edx 1487bc3d5698SJohn Baldwin shrl $4,%ebp 1488bc3d5698SJohn Baldwin xorl 16(%esp,%eax,4),%ebp 1489bc3d5698SJohn Baldwin movb (%esp,%edi,1),%al 1490bc3d5698SJohn Baldwin andb $240,%al 1491bc3d5698SJohn Baldwin xorl 8(%esi,%eax,1),%ebx 1492bc3d5698SJohn Baldwin xorl 12(%esi,%eax,1),%ecx 1493bc3d5698SJohn Baldwin xorl (%esi,%eax,1),%edx 1494bc3d5698SJohn Baldwin xorl 4(%esi,%eax,1),%ebp 1495bc3d5698SJohn Baldwin decl %edi 1496bc3d5698SJohn Baldwin js .L004x86_break 1497bc3d5698SJohn Baldwin movb %bl,%al 1498bc3d5698SJohn Baldwin shrdl $4,%ecx,%ebx 1499bc3d5698SJohn Baldwin andb $15,%al 1500bc3d5698SJohn Baldwin shrdl $4,%edx,%ecx 1501bc3d5698SJohn Baldwin shrdl $4,%ebp,%edx 1502bc3d5698SJohn Baldwin shrl $4,%ebp 1503bc3d5698SJohn Baldwin xorl 16(%esp,%eax,4),%ebp 1504bc3d5698SJohn Baldwin movb (%esp,%edi,1),%al 1505bc3d5698SJohn Baldwin shlb $4,%al 1506bc3d5698SJohn Baldwin xorl 8(%esi,%eax,1),%ebx 1507bc3d5698SJohn Baldwin xorl 12(%esi,%eax,1),%ecx 1508bc3d5698SJohn Baldwin xorl (%esi,%eax,1),%edx 1509bc3d5698SJohn Baldwin xorl 4(%esi,%eax,1),%ebp 1510bc3d5698SJohn Baldwin jmp .L003x86_loop 1511bc3d5698SJohn Baldwin.align 16 1512bc3d5698SJohn Baldwin.L004x86_break: 1513bc3d5698SJohn Baldwin bswap %ebx 1514bc3d5698SJohn Baldwin bswap %ecx 1515bc3d5698SJohn Baldwin bswap %edx 1516bc3d5698SJohn Baldwin bswap %ebp 1517bc3d5698SJohn Baldwin movl 112(%esp),%edi 1518bc3d5698SJohn Baldwin leal 16(%edi),%edi 1519bc3d5698SJohn Baldwin cmpl 116(%esp),%edi 1520bc3d5698SJohn Baldwin movl %edi,112(%esp) 1521bc3d5698SJohn Baldwin jb .L002x86_outer_loop 1522bc3d5698SJohn Baldwin movl 104(%esp),%edi 1523bc3d5698SJohn Baldwin movl %ebx,12(%edi) 1524bc3d5698SJohn Baldwin movl %ecx,8(%edi) 1525bc3d5698SJohn Baldwin movl %edx,4(%edi) 1526bc3d5698SJohn Baldwin movl %ebp,(%edi) 1527bc3d5698SJohn Baldwin addl $84,%esp 1528bc3d5698SJohn Baldwin popl %edi 1529bc3d5698SJohn Baldwin popl %esi 1530bc3d5698SJohn Baldwin popl %ebx 1531bc3d5698SJohn Baldwin popl %ebp 1532bc3d5698SJohn Baldwin ret 1533bc3d5698SJohn Baldwin.size gcm_ghash_4bit_x86,.-.L_gcm_ghash_4bit_x86_begin 1534bc3d5698SJohn Baldwin.globl gcm_gmult_4bit_mmx 1535bc3d5698SJohn Baldwin.type gcm_gmult_4bit_mmx,@function 1536bc3d5698SJohn Baldwin.align 16 1537bc3d5698SJohn Baldwingcm_gmult_4bit_mmx: 1538bc3d5698SJohn Baldwin.L_gcm_gmult_4bit_mmx_begin: 1539*c0855eaaSJohn Baldwin #ifdef __CET__ 1540*c0855eaaSJohn Baldwin 1541*c0855eaaSJohn Baldwin.byte 243,15,30,251 1542*c0855eaaSJohn Baldwin #endif 1543*c0855eaaSJohn Baldwin 1544bc3d5698SJohn Baldwin pushl %ebp 1545bc3d5698SJohn Baldwin pushl %ebx 1546bc3d5698SJohn Baldwin pushl %esi 1547bc3d5698SJohn Baldwin pushl %edi 1548bc3d5698SJohn Baldwin movl 20(%esp),%edi 1549bc3d5698SJohn Baldwin movl 24(%esp),%esi 1550bc3d5698SJohn Baldwin call .L005pic_point 1551bc3d5698SJohn Baldwin.L005pic_point: 1552bc3d5698SJohn Baldwin popl %eax 1553bc3d5698SJohn Baldwin leal .Lrem_4bit-.L005pic_point(%eax),%eax 1554bc3d5698SJohn Baldwin movzbl 15(%edi),%ebx 1555bc3d5698SJohn Baldwin xorl %ecx,%ecx 1556bc3d5698SJohn Baldwin movl %ebx,%edx 1557bc3d5698SJohn Baldwin movb %dl,%cl 1558bc3d5698SJohn Baldwin movl $14,%ebp 1559bc3d5698SJohn Baldwin shlb $4,%cl 1560bc3d5698SJohn Baldwin andl $240,%edx 1561bc3d5698SJohn Baldwin movq 8(%esi,%ecx,1),%mm0 1562bc3d5698SJohn Baldwin movq (%esi,%ecx,1),%mm1 1563bc3d5698SJohn Baldwin movd %mm0,%ebx 1564bc3d5698SJohn Baldwin jmp .L006mmx_loop 1565bc3d5698SJohn Baldwin.align 16 1566bc3d5698SJohn Baldwin.L006mmx_loop: 1567bc3d5698SJohn Baldwin psrlq $4,%mm0 1568bc3d5698SJohn Baldwin andl $15,%ebx 1569bc3d5698SJohn Baldwin movq %mm1,%mm2 1570bc3d5698SJohn Baldwin psrlq $4,%mm1 1571bc3d5698SJohn Baldwin pxor 8(%esi,%edx,1),%mm0 1572bc3d5698SJohn Baldwin movb (%edi,%ebp,1),%cl 1573bc3d5698SJohn Baldwin psllq $60,%mm2 1574bc3d5698SJohn Baldwin pxor (%eax,%ebx,8),%mm1 1575bc3d5698SJohn Baldwin decl %ebp 1576bc3d5698SJohn Baldwin movd %mm0,%ebx 1577bc3d5698SJohn Baldwin pxor (%esi,%edx,1),%mm1 1578bc3d5698SJohn Baldwin movl %ecx,%edx 1579bc3d5698SJohn Baldwin pxor %mm2,%mm0 1580bc3d5698SJohn Baldwin js .L007mmx_break 1581bc3d5698SJohn Baldwin shlb $4,%cl 1582bc3d5698SJohn Baldwin andl $15,%ebx 1583bc3d5698SJohn Baldwin psrlq $4,%mm0 1584bc3d5698SJohn Baldwin andl $240,%edx 1585bc3d5698SJohn Baldwin movq %mm1,%mm2 1586bc3d5698SJohn Baldwin psrlq $4,%mm1 1587bc3d5698SJohn Baldwin pxor 8(%esi,%ecx,1),%mm0 1588bc3d5698SJohn Baldwin psllq $60,%mm2 1589bc3d5698SJohn Baldwin pxor (%eax,%ebx,8),%mm1 1590bc3d5698SJohn Baldwin movd %mm0,%ebx 1591bc3d5698SJohn Baldwin pxor (%esi,%ecx,1),%mm1 1592bc3d5698SJohn Baldwin pxor %mm2,%mm0 1593bc3d5698SJohn Baldwin jmp .L006mmx_loop 1594bc3d5698SJohn Baldwin.align 16 1595bc3d5698SJohn Baldwin.L007mmx_break: 1596bc3d5698SJohn Baldwin shlb $4,%cl 1597bc3d5698SJohn Baldwin andl $15,%ebx 1598bc3d5698SJohn Baldwin psrlq $4,%mm0 1599bc3d5698SJohn Baldwin andl $240,%edx 1600bc3d5698SJohn Baldwin movq %mm1,%mm2 1601bc3d5698SJohn Baldwin psrlq $4,%mm1 1602bc3d5698SJohn Baldwin pxor 8(%esi,%ecx,1),%mm0 1603bc3d5698SJohn Baldwin psllq $60,%mm2 1604bc3d5698SJohn Baldwin pxor (%eax,%ebx,8),%mm1 1605bc3d5698SJohn Baldwin movd %mm0,%ebx 1606bc3d5698SJohn Baldwin pxor (%esi,%ecx,1),%mm1 1607bc3d5698SJohn Baldwin pxor %mm2,%mm0 1608bc3d5698SJohn Baldwin psrlq $4,%mm0 1609bc3d5698SJohn Baldwin andl $15,%ebx 1610bc3d5698SJohn Baldwin movq %mm1,%mm2 1611bc3d5698SJohn Baldwin psrlq $4,%mm1 1612bc3d5698SJohn Baldwin pxor 8(%esi,%edx,1),%mm0 1613bc3d5698SJohn Baldwin psllq $60,%mm2 1614bc3d5698SJohn Baldwin pxor (%eax,%ebx,8),%mm1 1615bc3d5698SJohn Baldwin movd %mm0,%ebx 1616bc3d5698SJohn Baldwin pxor (%esi,%edx,1),%mm1 1617bc3d5698SJohn Baldwin pxor %mm2,%mm0 1618bc3d5698SJohn Baldwin psrlq $32,%mm0 1619bc3d5698SJohn Baldwin movd %mm1,%edx 1620bc3d5698SJohn Baldwin psrlq $32,%mm1 1621bc3d5698SJohn Baldwin movd %mm0,%ecx 1622bc3d5698SJohn Baldwin movd %mm1,%ebp 1623bc3d5698SJohn Baldwin bswap %ebx 1624bc3d5698SJohn Baldwin bswap %edx 1625bc3d5698SJohn Baldwin bswap %ecx 1626bc3d5698SJohn Baldwin bswap %ebp 1627bc3d5698SJohn Baldwin emms 1628bc3d5698SJohn Baldwin movl %ebx,12(%edi) 1629bc3d5698SJohn Baldwin movl %edx,4(%edi) 1630bc3d5698SJohn Baldwin movl %ecx,8(%edi) 1631bc3d5698SJohn Baldwin movl %ebp,(%edi) 1632bc3d5698SJohn Baldwin popl %edi 1633bc3d5698SJohn Baldwin popl %esi 1634bc3d5698SJohn Baldwin popl %ebx 1635bc3d5698SJohn Baldwin popl %ebp 1636bc3d5698SJohn Baldwin ret 1637bc3d5698SJohn Baldwin.size gcm_gmult_4bit_mmx,.-.L_gcm_gmult_4bit_mmx_begin 1638bc3d5698SJohn Baldwin.globl gcm_ghash_4bit_mmx 1639bc3d5698SJohn Baldwin.type gcm_ghash_4bit_mmx,@function 1640bc3d5698SJohn Baldwin.align 16 1641bc3d5698SJohn Baldwingcm_ghash_4bit_mmx: 1642bc3d5698SJohn Baldwin.L_gcm_ghash_4bit_mmx_begin: 1643*c0855eaaSJohn Baldwin #ifdef __CET__ 1644*c0855eaaSJohn Baldwin 1645*c0855eaaSJohn Baldwin.byte 243,15,30,251 1646*c0855eaaSJohn Baldwin #endif 1647*c0855eaaSJohn Baldwin 1648bc3d5698SJohn Baldwin pushl %ebp 1649bc3d5698SJohn Baldwin pushl %ebx 1650bc3d5698SJohn Baldwin pushl %esi 1651bc3d5698SJohn Baldwin pushl %edi 1652bc3d5698SJohn Baldwin movl 20(%esp),%eax 1653bc3d5698SJohn Baldwin movl 24(%esp),%ebx 1654bc3d5698SJohn Baldwin movl 28(%esp),%ecx 1655bc3d5698SJohn Baldwin movl 32(%esp),%edx 1656bc3d5698SJohn Baldwin movl %esp,%ebp 1657bc3d5698SJohn Baldwin call .L008pic_point 1658bc3d5698SJohn Baldwin.L008pic_point: 1659bc3d5698SJohn Baldwin popl %esi 1660bc3d5698SJohn Baldwin leal .Lrem_8bit-.L008pic_point(%esi),%esi 1661bc3d5698SJohn Baldwin subl $544,%esp 1662bc3d5698SJohn Baldwin andl $-64,%esp 1663bc3d5698SJohn Baldwin subl $16,%esp 1664bc3d5698SJohn Baldwin addl %ecx,%edx 1665bc3d5698SJohn Baldwin movl %eax,544(%esp) 1666bc3d5698SJohn Baldwin movl %edx,552(%esp) 1667bc3d5698SJohn Baldwin movl %ebp,556(%esp) 1668bc3d5698SJohn Baldwin addl $128,%ebx 1669bc3d5698SJohn Baldwin leal 144(%esp),%edi 1670bc3d5698SJohn Baldwin leal 400(%esp),%ebp 1671bc3d5698SJohn Baldwin movl -120(%ebx),%edx 1672bc3d5698SJohn Baldwin movq -120(%ebx),%mm0 1673bc3d5698SJohn Baldwin movq -128(%ebx),%mm3 1674bc3d5698SJohn Baldwin shll $4,%edx 1675bc3d5698SJohn Baldwin movb %dl,(%esp) 1676bc3d5698SJohn Baldwin movl -104(%ebx),%edx 1677bc3d5698SJohn Baldwin movq -104(%ebx),%mm2 1678bc3d5698SJohn Baldwin movq -112(%ebx),%mm5 1679bc3d5698SJohn Baldwin movq %mm0,-128(%edi) 1680bc3d5698SJohn Baldwin psrlq $4,%mm0 1681bc3d5698SJohn Baldwin movq %mm3,(%edi) 1682bc3d5698SJohn Baldwin movq %mm3,%mm7 1683bc3d5698SJohn Baldwin psrlq $4,%mm3 1684bc3d5698SJohn Baldwin shll $4,%edx 1685bc3d5698SJohn Baldwin movb %dl,1(%esp) 1686bc3d5698SJohn Baldwin movl -88(%ebx),%edx 1687bc3d5698SJohn Baldwin movq -88(%ebx),%mm1 1688bc3d5698SJohn Baldwin psllq $60,%mm7 1689bc3d5698SJohn Baldwin movq -96(%ebx),%mm4 1690bc3d5698SJohn Baldwin por %mm7,%mm0 1691bc3d5698SJohn Baldwin movq %mm2,-120(%edi) 1692bc3d5698SJohn Baldwin psrlq $4,%mm2 1693bc3d5698SJohn Baldwin movq %mm5,8(%edi) 1694bc3d5698SJohn Baldwin movq %mm5,%mm6 1695bc3d5698SJohn Baldwin movq %mm0,-128(%ebp) 1696bc3d5698SJohn Baldwin psrlq $4,%mm5 1697bc3d5698SJohn Baldwin movq %mm3,(%ebp) 1698bc3d5698SJohn Baldwin shll $4,%edx 1699bc3d5698SJohn Baldwin movb %dl,2(%esp) 1700bc3d5698SJohn Baldwin movl -72(%ebx),%edx 1701bc3d5698SJohn Baldwin movq -72(%ebx),%mm0 1702bc3d5698SJohn Baldwin psllq $60,%mm6 1703bc3d5698SJohn Baldwin movq -80(%ebx),%mm3 1704bc3d5698SJohn Baldwin por %mm6,%mm2 1705bc3d5698SJohn Baldwin movq %mm1,-112(%edi) 1706bc3d5698SJohn Baldwin psrlq $4,%mm1 1707bc3d5698SJohn Baldwin movq %mm4,16(%edi) 1708bc3d5698SJohn Baldwin movq %mm4,%mm7 1709bc3d5698SJohn Baldwin movq %mm2,-120(%ebp) 1710bc3d5698SJohn Baldwin psrlq $4,%mm4 1711bc3d5698SJohn Baldwin movq %mm5,8(%ebp) 1712bc3d5698SJohn Baldwin shll $4,%edx 1713bc3d5698SJohn Baldwin movb %dl,3(%esp) 1714bc3d5698SJohn Baldwin movl -56(%ebx),%edx 1715bc3d5698SJohn Baldwin movq -56(%ebx),%mm2 1716bc3d5698SJohn Baldwin psllq $60,%mm7 1717bc3d5698SJohn Baldwin movq -64(%ebx),%mm5 1718bc3d5698SJohn Baldwin por %mm7,%mm1 1719bc3d5698SJohn Baldwin movq %mm0,-104(%edi) 1720bc3d5698SJohn Baldwin psrlq $4,%mm0 1721bc3d5698SJohn Baldwin movq %mm3,24(%edi) 1722bc3d5698SJohn Baldwin movq %mm3,%mm6 1723bc3d5698SJohn Baldwin movq %mm1,-112(%ebp) 1724bc3d5698SJohn Baldwin psrlq $4,%mm3 1725bc3d5698SJohn Baldwin movq %mm4,16(%ebp) 1726bc3d5698SJohn Baldwin shll $4,%edx 1727bc3d5698SJohn Baldwin movb %dl,4(%esp) 1728bc3d5698SJohn Baldwin movl -40(%ebx),%edx 1729bc3d5698SJohn Baldwin movq -40(%ebx),%mm1 1730bc3d5698SJohn Baldwin psllq $60,%mm6 1731bc3d5698SJohn Baldwin movq -48(%ebx),%mm4 1732bc3d5698SJohn Baldwin por %mm6,%mm0 1733bc3d5698SJohn Baldwin movq %mm2,-96(%edi) 1734bc3d5698SJohn Baldwin psrlq $4,%mm2 1735bc3d5698SJohn Baldwin movq %mm5,32(%edi) 1736bc3d5698SJohn Baldwin movq %mm5,%mm7 1737bc3d5698SJohn Baldwin movq %mm0,-104(%ebp) 1738bc3d5698SJohn Baldwin psrlq $4,%mm5 1739bc3d5698SJohn Baldwin movq %mm3,24(%ebp) 1740bc3d5698SJohn Baldwin shll $4,%edx 1741bc3d5698SJohn Baldwin movb %dl,5(%esp) 1742bc3d5698SJohn Baldwin movl -24(%ebx),%edx 1743bc3d5698SJohn Baldwin movq -24(%ebx),%mm0 1744bc3d5698SJohn Baldwin psllq $60,%mm7 1745bc3d5698SJohn Baldwin movq -32(%ebx),%mm3 1746bc3d5698SJohn Baldwin por %mm7,%mm2 1747bc3d5698SJohn Baldwin movq %mm1,-88(%edi) 1748bc3d5698SJohn Baldwin psrlq $4,%mm1 1749bc3d5698SJohn Baldwin movq %mm4,40(%edi) 1750bc3d5698SJohn Baldwin movq %mm4,%mm6 1751bc3d5698SJohn Baldwin movq %mm2,-96(%ebp) 1752bc3d5698SJohn Baldwin psrlq $4,%mm4 1753bc3d5698SJohn Baldwin movq %mm5,32(%ebp) 1754bc3d5698SJohn Baldwin shll $4,%edx 1755bc3d5698SJohn Baldwin movb %dl,6(%esp) 1756bc3d5698SJohn Baldwin movl -8(%ebx),%edx 1757bc3d5698SJohn Baldwin movq -8(%ebx),%mm2 1758bc3d5698SJohn Baldwin psllq $60,%mm6 1759bc3d5698SJohn Baldwin movq -16(%ebx),%mm5 1760bc3d5698SJohn Baldwin por %mm6,%mm1 1761bc3d5698SJohn Baldwin movq %mm0,-80(%edi) 1762bc3d5698SJohn Baldwin psrlq $4,%mm0 1763bc3d5698SJohn Baldwin movq %mm3,48(%edi) 1764bc3d5698SJohn Baldwin movq %mm3,%mm7 1765bc3d5698SJohn Baldwin movq %mm1,-88(%ebp) 1766bc3d5698SJohn Baldwin psrlq $4,%mm3 1767bc3d5698SJohn Baldwin movq %mm4,40(%ebp) 1768bc3d5698SJohn Baldwin shll $4,%edx 1769bc3d5698SJohn Baldwin movb %dl,7(%esp) 1770bc3d5698SJohn Baldwin movl 8(%ebx),%edx 1771bc3d5698SJohn Baldwin movq 8(%ebx),%mm1 1772bc3d5698SJohn Baldwin psllq $60,%mm7 1773bc3d5698SJohn Baldwin movq (%ebx),%mm4 1774bc3d5698SJohn Baldwin por %mm7,%mm0 1775bc3d5698SJohn Baldwin movq %mm2,-72(%edi) 1776bc3d5698SJohn Baldwin psrlq $4,%mm2 1777bc3d5698SJohn Baldwin movq %mm5,56(%edi) 1778bc3d5698SJohn Baldwin movq %mm5,%mm6 1779bc3d5698SJohn Baldwin movq %mm0,-80(%ebp) 1780bc3d5698SJohn Baldwin psrlq $4,%mm5 1781bc3d5698SJohn Baldwin movq %mm3,48(%ebp) 1782bc3d5698SJohn Baldwin shll $4,%edx 1783bc3d5698SJohn Baldwin movb %dl,8(%esp) 1784bc3d5698SJohn Baldwin movl 24(%ebx),%edx 1785bc3d5698SJohn Baldwin movq 24(%ebx),%mm0 1786bc3d5698SJohn Baldwin psllq $60,%mm6 1787bc3d5698SJohn Baldwin movq 16(%ebx),%mm3 1788bc3d5698SJohn Baldwin por %mm6,%mm2 1789bc3d5698SJohn Baldwin movq %mm1,-64(%edi) 1790bc3d5698SJohn Baldwin psrlq $4,%mm1 1791bc3d5698SJohn Baldwin movq %mm4,64(%edi) 1792bc3d5698SJohn Baldwin movq %mm4,%mm7 1793bc3d5698SJohn Baldwin movq %mm2,-72(%ebp) 1794bc3d5698SJohn Baldwin psrlq $4,%mm4 1795bc3d5698SJohn Baldwin movq %mm5,56(%ebp) 1796bc3d5698SJohn Baldwin shll $4,%edx 1797bc3d5698SJohn Baldwin movb %dl,9(%esp) 1798bc3d5698SJohn Baldwin movl 40(%ebx),%edx 1799bc3d5698SJohn Baldwin movq 40(%ebx),%mm2 1800bc3d5698SJohn Baldwin psllq $60,%mm7 1801bc3d5698SJohn Baldwin movq 32(%ebx),%mm5 1802bc3d5698SJohn Baldwin por %mm7,%mm1 1803bc3d5698SJohn Baldwin movq %mm0,-56(%edi) 1804bc3d5698SJohn Baldwin psrlq $4,%mm0 1805bc3d5698SJohn Baldwin movq %mm3,72(%edi) 1806bc3d5698SJohn Baldwin movq %mm3,%mm6 1807bc3d5698SJohn Baldwin movq %mm1,-64(%ebp) 1808bc3d5698SJohn Baldwin psrlq $4,%mm3 1809bc3d5698SJohn Baldwin movq %mm4,64(%ebp) 1810bc3d5698SJohn Baldwin shll $4,%edx 1811bc3d5698SJohn Baldwin movb %dl,10(%esp) 1812bc3d5698SJohn Baldwin movl 56(%ebx),%edx 1813bc3d5698SJohn Baldwin movq 56(%ebx),%mm1 1814bc3d5698SJohn Baldwin psllq $60,%mm6 1815bc3d5698SJohn Baldwin movq 48(%ebx),%mm4 1816bc3d5698SJohn Baldwin por %mm6,%mm0 1817bc3d5698SJohn Baldwin movq %mm2,-48(%edi) 1818bc3d5698SJohn Baldwin psrlq $4,%mm2 1819bc3d5698SJohn Baldwin movq %mm5,80(%edi) 1820bc3d5698SJohn Baldwin movq %mm5,%mm7 1821bc3d5698SJohn Baldwin movq %mm0,-56(%ebp) 1822bc3d5698SJohn Baldwin psrlq $4,%mm5 1823bc3d5698SJohn Baldwin movq %mm3,72(%ebp) 1824bc3d5698SJohn Baldwin shll $4,%edx 1825bc3d5698SJohn Baldwin movb %dl,11(%esp) 1826bc3d5698SJohn Baldwin movl 72(%ebx),%edx 1827bc3d5698SJohn Baldwin movq 72(%ebx),%mm0 1828bc3d5698SJohn Baldwin psllq $60,%mm7 1829bc3d5698SJohn Baldwin movq 64(%ebx),%mm3 1830bc3d5698SJohn Baldwin por %mm7,%mm2 1831bc3d5698SJohn Baldwin movq %mm1,-40(%edi) 1832bc3d5698SJohn Baldwin psrlq $4,%mm1 1833bc3d5698SJohn Baldwin movq %mm4,88(%edi) 1834bc3d5698SJohn Baldwin movq %mm4,%mm6 1835bc3d5698SJohn Baldwin movq %mm2,-48(%ebp) 1836bc3d5698SJohn Baldwin psrlq $4,%mm4 1837bc3d5698SJohn Baldwin movq %mm5,80(%ebp) 1838bc3d5698SJohn Baldwin shll $4,%edx 1839bc3d5698SJohn Baldwin movb %dl,12(%esp) 1840bc3d5698SJohn Baldwin movl 88(%ebx),%edx 1841bc3d5698SJohn Baldwin movq 88(%ebx),%mm2 1842bc3d5698SJohn Baldwin psllq $60,%mm6 1843bc3d5698SJohn Baldwin movq 80(%ebx),%mm5 1844bc3d5698SJohn Baldwin por %mm6,%mm1 1845bc3d5698SJohn Baldwin movq %mm0,-32(%edi) 1846bc3d5698SJohn Baldwin psrlq $4,%mm0 1847bc3d5698SJohn Baldwin movq %mm3,96(%edi) 1848bc3d5698SJohn Baldwin movq %mm3,%mm7 1849bc3d5698SJohn Baldwin movq %mm1,-40(%ebp) 1850bc3d5698SJohn Baldwin psrlq $4,%mm3 1851bc3d5698SJohn Baldwin movq %mm4,88(%ebp) 1852bc3d5698SJohn Baldwin shll $4,%edx 1853bc3d5698SJohn Baldwin movb %dl,13(%esp) 1854bc3d5698SJohn Baldwin movl 104(%ebx),%edx 1855bc3d5698SJohn Baldwin movq 104(%ebx),%mm1 1856bc3d5698SJohn Baldwin psllq $60,%mm7 1857bc3d5698SJohn Baldwin movq 96(%ebx),%mm4 1858bc3d5698SJohn Baldwin por %mm7,%mm0 1859bc3d5698SJohn Baldwin movq %mm2,-24(%edi) 1860bc3d5698SJohn Baldwin psrlq $4,%mm2 1861bc3d5698SJohn Baldwin movq %mm5,104(%edi) 1862bc3d5698SJohn Baldwin movq %mm5,%mm6 1863bc3d5698SJohn Baldwin movq %mm0,-32(%ebp) 1864bc3d5698SJohn Baldwin psrlq $4,%mm5 1865bc3d5698SJohn Baldwin movq %mm3,96(%ebp) 1866bc3d5698SJohn Baldwin shll $4,%edx 1867bc3d5698SJohn Baldwin movb %dl,14(%esp) 1868bc3d5698SJohn Baldwin movl 120(%ebx),%edx 1869bc3d5698SJohn Baldwin movq 120(%ebx),%mm0 1870bc3d5698SJohn Baldwin psllq $60,%mm6 1871bc3d5698SJohn Baldwin movq 112(%ebx),%mm3 1872bc3d5698SJohn Baldwin por %mm6,%mm2 1873bc3d5698SJohn Baldwin movq %mm1,-16(%edi) 1874bc3d5698SJohn Baldwin psrlq $4,%mm1 1875bc3d5698SJohn Baldwin movq %mm4,112(%edi) 1876bc3d5698SJohn Baldwin movq %mm4,%mm7 1877bc3d5698SJohn Baldwin movq %mm2,-24(%ebp) 1878bc3d5698SJohn Baldwin psrlq $4,%mm4 1879bc3d5698SJohn Baldwin movq %mm5,104(%ebp) 1880bc3d5698SJohn Baldwin shll $4,%edx 1881bc3d5698SJohn Baldwin movb %dl,15(%esp) 1882bc3d5698SJohn Baldwin psllq $60,%mm7 1883bc3d5698SJohn Baldwin por %mm7,%mm1 1884bc3d5698SJohn Baldwin movq %mm0,-8(%edi) 1885bc3d5698SJohn Baldwin psrlq $4,%mm0 1886bc3d5698SJohn Baldwin movq %mm3,120(%edi) 1887bc3d5698SJohn Baldwin movq %mm3,%mm6 1888bc3d5698SJohn Baldwin movq %mm1,-16(%ebp) 1889bc3d5698SJohn Baldwin psrlq $4,%mm3 1890bc3d5698SJohn Baldwin movq %mm4,112(%ebp) 1891bc3d5698SJohn Baldwin psllq $60,%mm6 1892bc3d5698SJohn Baldwin por %mm6,%mm0 1893bc3d5698SJohn Baldwin movq %mm0,-8(%ebp) 1894bc3d5698SJohn Baldwin movq %mm3,120(%ebp) 1895bc3d5698SJohn Baldwin movq (%eax),%mm6 1896bc3d5698SJohn Baldwin movl 8(%eax),%ebx 1897bc3d5698SJohn Baldwin movl 12(%eax),%edx 1898bc3d5698SJohn Baldwin.align 16 1899bc3d5698SJohn Baldwin.L009outer: 1900bc3d5698SJohn Baldwin xorl 12(%ecx),%edx 1901bc3d5698SJohn Baldwin xorl 8(%ecx),%ebx 1902bc3d5698SJohn Baldwin pxor (%ecx),%mm6 1903bc3d5698SJohn Baldwin leal 16(%ecx),%ecx 1904bc3d5698SJohn Baldwin movl %ebx,536(%esp) 1905bc3d5698SJohn Baldwin movq %mm6,528(%esp) 1906bc3d5698SJohn Baldwin movl %ecx,548(%esp) 1907bc3d5698SJohn Baldwin xorl %eax,%eax 1908bc3d5698SJohn Baldwin roll $8,%edx 1909bc3d5698SJohn Baldwin movb %dl,%al 1910bc3d5698SJohn Baldwin movl %eax,%ebp 1911bc3d5698SJohn Baldwin andb $15,%al 1912bc3d5698SJohn Baldwin shrl $4,%ebp 1913bc3d5698SJohn Baldwin pxor %mm0,%mm0 1914bc3d5698SJohn Baldwin roll $8,%edx 1915bc3d5698SJohn Baldwin pxor %mm1,%mm1 1916bc3d5698SJohn Baldwin pxor %mm2,%mm2 1917bc3d5698SJohn Baldwin movq 16(%esp,%eax,8),%mm7 1918bc3d5698SJohn Baldwin movq 144(%esp,%eax,8),%mm6 1919bc3d5698SJohn Baldwin movb %dl,%al 1920bc3d5698SJohn Baldwin movd %mm7,%ebx 1921bc3d5698SJohn Baldwin psrlq $8,%mm7 1922bc3d5698SJohn Baldwin movq %mm6,%mm3 1923bc3d5698SJohn Baldwin movl %eax,%edi 1924bc3d5698SJohn Baldwin psrlq $8,%mm6 1925bc3d5698SJohn Baldwin pxor 272(%esp,%ebp,8),%mm7 1926bc3d5698SJohn Baldwin andb $15,%al 1927bc3d5698SJohn Baldwin psllq $56,%mm3 1928bc3d5698SJohn Baldwin shrl $4,%edi 1929bc3d5698SJohn Baldwin pxor 16(%esp,%eax,8),%mm7 1930bc3d5698SJohn Baldwin roll $8,%edx 1931bc3d5698SJohn Baldwin pxor 144(%esp,%eax,8),%mm6 1932bc3d5698SJohn Baldwin pxor %mm3,%mm7 1933bc3d5698SJohn Baldwin pxor 400(%esp,%ebp,8),%mm6 1934bc3d5698SJohn Baldwin xorb (%esp,%ebp,1),%bl 1935bc3d5698SJohn Baldwin movb %dl,%al 1936bc3d5698SJohn Baldwin movd %mm7,%ecx 1937bc3d5698SJohn Baldwin movzbl %bl,%ebx 1938bc3d5698SJohn Baldwin psrlq $8,%mm7 1939bc3d5698SJohn Baldwin movq %mm6,%mm3 1940bc3d5698SJohn Baldwin movl %eax,%ebp 1941bc3d5698SJohn Baldwin psrlq $8,%mm6 1942bc3d5698SJohn Baldwin pxor 272(%esp,%edi,8),%mm7 1943bc3d5698SJohn Baldwin andb $15,%al 1944bc3d5698SJohn Baldwin psllq $56,%mm3 1945bc3d5698SJohn Baldwin shrl $4,%ebp 1946bc3d5698SJohn Baldwin pinsrw $2,(%esi,%ebx,2),%mm2 1947bc3d5698SJohn Baldwin pxor 16(%esp,%eax,8),%mm7 1948bc3d5698SJohn Baldwin roll $8,%edx 1949bc3d5698SJohn Baldwin pxor 144(%esp,%eax,8),%mm6 1950bc3d5698SJohn Baldwin pxor %mm3,%mm7 1951bc3d5698SJohn Baldwin pxor 400(%esp,%edi,8),%mm6 1952bc3d5698SJohn Baldwin xorb (%esp,%edi,1),%cl 1953bc3d5698SJohn Baldwin movb %dl,%al 1954bc3d5698SJohn Baldwin movl 536(%esp),%edx 1955bc3d5698SJohn Baldwin movd %mm7,%ebx 1956bc3d5698SJohn Baldwin movzbl %cl,%ecx 1957bc3d5698SJohn Baldwin psrlq $8,%mm7 1958bc3d5698SJohn Baldwin movq %mm6,%mm3 1959bc3d5698SJohn Baldwin movl %eax,%edi 1960bc3d5698SJohn Baldwin psrlq $8,%mm6 1961bc3d5698SJohn Baldwin pxor 272(%esp,%ebp,8),%mm7 1962bc3d5698SJohn Baldwin andb $15,%al 1963bc3d5698SJohn Baldwin psllq $56,%mm3 1964bc3d5698SJohn Baldwin pxor %mm2,%mm6 1965bc3d5698SJohn Baldwin shrl $4,%edi 1966bc3d5698SJohn Baldwin pinsrw $2,(%esi,%ecx,2),%mm1 1967bc3d5698SJohn Baldwin pxor 16(%esp,%eax,8),%mm7 1968bc3d5698SJohn Baldwin roll $8,%edx 1969bc3d5698SJohn Baldwin pxor 144(%esp,%eax,8),%mm6 1970bc3d5698SJohn Baldwin pxor %mm3,%mm7 1971bc3d5698SJohn Baldwin pxor 400(%esp,%ebp,8),%mm6 1972bc3d5698SJohn Baldwin xorb (%esp,%ebp,1),%bl 1973bc3d5698SJohn Baldwin movb %dl,%al 1974bc3d5698SJohn Baldwin movd %mm7,%ecx 1975bc3d5698SJohn Baldwin movzbl %bl,%ebx 1976bc3d5698SJohn Baldwin psrlq $8,%mm7 1977bc3d5698SJohn Baldwin movq %mm6,%mm3 1978bc3d5698SJohn Baldwin movl %eax,%ebp 1979bc3d5698SJohn Baldwin psrlq $8,%mm6 1980bc3d5698SJohn Baldwin pxor 272(%esp,%edi,8),%mm7 1981bc3d5698SJohn Baldwin andb $15,%al 1982bc3d5698SJohn Baldwin psllq $56,%mm3 1983bc3d5698SJohn Baldwin pxor %mm1,%mm6 1984bc3d5698SJohn Baldwin shrl $4,%ebp 1985bc3d5698SJohn Baldwin pinsrw $2,(%esi,%ebx,2),%mm0 1986bc3d5698SJohn Baldwin pxor 16(%esp,%eax,8),%mm7 1987bc3d5698SJohn Baldwin roll $8,%edx 1988bc3d5698SJohn Baldwin pxor 144(%esp,%eax,8),%mm6 1989bc3d5698SJohn Baldwin pxor %mm3,%mm7 1990bc3d5698SJohn Baldwin pxor 400(%esp,%edi,8),%mm6 1991bc3d5698SJohn Baldwin xorb (%esp,%edi,1),%cl 1992bc3d5698SJohn Baldwin movb %dl,%al 1993bc3d5698SJohn Baldwin movd %mm7,%ebx 1994bc3d5698SJohn Baldwin movzbl %cl,%ecx 1995bc3d5698SJohn Baldwin psrlq $8,%mm7 1996bc3d5698SJohn Baldwin movq %mm6,%mm3 1997bc3d5698SJohn Baldwin movl %eax,%edi 1998bc3d5698SJohn Baldwin psrlq $8,%mm6 1999bc3d5698SJohn Baldwin pxor 272(%esp,%ebp,8),%mm7 2000bc3d5698SJohn Baldwin andb $15,%al 2001bc3d5698SJohn Baldwin psllq $56,%mm3 2002bc3d5698SJohn Baldwin pxor %mm0,%mm6 2003bc3d5698SJohn Baldwin shrl $4,%edi 2004bc3d5698SJohn Baldwin pinsrw $2,(%esi,%ecx,2),%mm2 2005bc3d5698SJohn Baldwin pxor 16(%esp,%eax,8),%mm7 2006bc3d5698SJohn Baldwin roll $8,%edx 2007bc3d5698SJohn Baldwin pxor 144(%esp,%eax,8),%mm6 2008bc3d5698SJohn Baldwin pxor %mm3,%mm7 2009bc3d5698SJohn Baldwin pxor 400(%esp,%ebp,8),%mm6 2010bc3d5698SJohn Baldwin xorb (%esp,%ebp,1),%bl 2011bc3d5698SJohn Baldwin movb %dl,%al 2012bc3d5698SJohn Baldwin movd %mm7,%ecx 2013bc3d5698SJohn Baldwin movzbl %bl,%ebx 2014bc3d5698SJohn Baldwin psrlq $8,%mm7 2015bc3d5698SJohn Baldwin movq %mm6,%mm3 2016bc3d5698SJohn Baldwin movl %eax,%ebp 2017bc3d5698SJohn Baldwin psrlq $8,%mm6 2018bc3d5698SJohn Baldwin pxor 272(%esp,%edi,8),%mm7 2019bc3d5698SJohn Baldwin andb $15,%al 2020bc3d5698SJohn Baldwin psllq $56,%mm3 2021bc3d5698SJohn Baldwin pxor %mm2,%mm6 2022bc3d5698SJohn Baldwin shrl $4,%ebp 2023bc3d5698SJohn Baldwin pinsrw $2,(%esi,%ebx,2),%mm1 2024bc3d5698SJohn Baldwin pxor 16(%esp,%eax,8),%mm7 2025bc3d5698SJohn Baldwin roll $8,%edx 2026bc3d5698SJohn Baldwin pxor 144(%esp,%eax,8),%mm6 2027bc3d5698SJohn Baldwin pxor %mm3,%mm7 2028bc3d5698SJohn Baldwin pxor 400(%esp,%edi,8),%mm6 2029bc3d5698SJohn Baldwin xorb (%esp,%edi,1),%cl 2030bc3d5698SJohn Baldwin movb %dl,%al 2031bc3d5698SJohn Baldwin movl 532(%esp),%edx 2032bc3d5698SJohn Baldwin movd %mm7,%ebx 2033bc3d5698SJohn Baldwin movzbl %cl,%ecx 2034bc3d5698SJohn Baldwin psrlq $8,%mm7 2035bc3d5698SJohn Baldwin movq %mm6,%mm3 2036bc3d5698SJohn Baldwin movl %eax,%edi 2037bc3d5698SJohn Baldwin psrlq $8,%mm6 2038bc3d5698SJohn Baldwin pxor 272(%esp,%ebp,8),%mm7 2039bc3d5698SJohn Baldwin andb $15,%al 2040bc3d5698SJohn Baldwin psllq $56,%mm3 2041bc3d5698SJohn Baldwin pxor %mm1,%mm6 2042bc3d5698SJohn Baldwin shrl $4,%edi 2043bc3d5698SJohn Baldwin pinsrw $2,(%esi,%ecx,2),%mm0 2044bc3d5698SJohn Baldwin pxor 16(%esp,%eax,8),%mm7 2045bc3d5698SJohn Baldwin roll $8,%edx 2046bc3d5698SJohn Baldwin pxor 144(%esp,%eax,8),%mm6 2047bc3d5698SJohn Baldwin pxor %mm3,%mm7 2048bc3d5698SJohn Baldwin pxor 400(%esp,%ebp,8),%mm6 2049bc3d5698SJohn Baldwin xorb (%esp,%ebp,1),%bl 2050bc3d5698SJohn Baldwin movb %dl,%al 2051bc3d5698SJohn Baldwin movd %mm7,%ecx 2052bc3d5698SJohn Baldwin movzbl %bl,%ebx 2053bc3d5698SJohn Baldwin psrlq $8,%mm7 2054bc3d5698SJohn Baldwin movq %mm6,%mm3 2055bc3d5698SJohn Baldwin movl %eax,%ebp 2056bc3d5698SJohn Baldwin psrlq $8,%mm6 2057bc3d5698SJohn Baldwin pxor 272(%esp,%edi,8),%mm7 2058bc3d5698SJohn Baldwin andb $15,%al 2059bc3d5698SJohn Baldwin psllq $56,%mm3 2060bc3d5698SJohn Baldwin pxor %mm0,%mm6 2061bc3d5698SJohn Baldwin shrl $4,%ebp 2062bc3d5698SJohn Baldwin pinsrw $2,(%esi,%ebx,2),%mm2 2063bc3d5698SJohn Baldwin pxor 16(%esp,%eax,8),%mm7 2064bc3d5698SJohn Baldwin roll $8,%edx 2065bc3d5698SJohn Baldwin pxor 144(%esp,%eax,8),%mm6 2066bc3d5698SJohn Baldwin pxor %mm3,%mm7 2067bc3d5698SJohn Baldwin pxor 400(%esp,%edi,8),%mm6 2068bc3d5698SJohn Baldwin xorb (%esp,%edi,1),%cl 2069bc3d5698SJohn Baldwin movb %dl,%al 2070bc3d5698SJohn Baldwin movd %mm7,%ebx 2071bc3d5698SJohn Baldwin movzbl %cl,%ecx 2072bc3d5698SJohn Baldwin psrlq $8,%mm7 2073bc3d5698SJohn Baldwin movq %mm6,%mm3 2074bc3d5698SJohn Baldwin movl %eax,%edi 2075bc3d5698SJohn Baldwin psrlq $8,%mm6 2076bc3d5698SJohn Baldwin pxor 272(%esp,%ebp,8),%mm7 2077bc3d5698SJohn Baldwin andb $15,%al 2078bc3d5698SJohn Baldwin psllq $56,%mm3 2079bc3d5698SJohn Baldwin pxor %mm2,%mm6 2080bc3d5698SJohn Baldwin shrl $4,%edi 2081bc3d5698SJohn Baldwin pinsrw $2,(%esi,%ecx,2),%mm1 2082bc3d5698SJohn Baldwin pxor 16(%esp,%eax,8),%mm7 2083bc3d5698SJohn Baldwin roll $8,%edx 2084bc3d5698SJohn Baldwin pxor 144(%esp,%eax,8),%mm6 2085bc3d5698SJohn Baldwin pxor %mm3,%mm7 2086bc3d5698SJohn Baldwin pxor 400(%esp,%ebp,8),%mm6 2087bc3d5698SJohn Baldwin xorb (%esp,%ebp,1),%bl 2088bc3d5698SJohn Baldwin movb %dl,%al 2089bc3d5698SJohn Baldwin movd %mm7,%ecx 2090bc3d5698SJohn Baldwin movzbl %bl,%ebx 2091bc3d5698SJohn Baldwin psrlq $8,%mm7 2092bc3d5698SJohn Baldwin movq %mm6,%mm3 2093bc3d5698SJohn Baldwin movl %eax,%ebp 2094bc3d5698SJohn Baldwin psrlq $8,%mm6 2095bc3d5698SJohn Baldwin pxor 272(%esp,%edi,8),%mm7 2096bc3d5698SJohn Baldwin andb $15,%al 2097bc3d5698SJohn Baldwin psllq $56,%mm3 2098bc3d5698SJohn Baldwin pxor %mm1,%mm6 2099bc3d5698SJohn Baldwin shrl $4,%ebp 2100bc3d5698SJohn Baldwin pinsrw $2,(%esi,%ebx,2),%mm0 2101bc3d5698SJohn Baldwin pxor 16(%esp,%eax,8),%mm7 2102bc3d5698SJohn Baldwin roll $8,%edx 2103bc3d5698SJohn Baldwin pxor 144(%esp,%eax,8),%mm6 2104bc3d5698SJohn Baldwin pxor %mm3,%mm7 2105bc3d5698SJohn Baldwin pxor 400(%esp,%edi,8),%mm6 2106bc3d5698SJohn Baldwin xorb (%esp,%edi,1),%cl 2107bc3d5698SJohn Baldwin movb %dl,%al 2108bc3d5698SJohn Baldwin movl 528(%esp),%edx 2109bc3d5698SJohn Baldwin movd %mm7,%ebx 2110bc3d5698SJohn Baldwin movzbl %cl,%ecx 2111bc3d5698SJohn Baldwin psrlq $8,%mm7 2112bc3d5698SJohn Baldwin movq %mm6,%mm3 2113bc3d5698SJohn Baldwin movl %eax,%edi 2114bc3d5698SJohn Baldwin psrlq $8,%mm6 2115bc3d5698SJohn Baldwin pxor 272(%esp,%ebp,8),%mm7 2116bc3d5698SJohn Baldwin andb $15,%al 2117bc3d5698SJohn Baldwin psllq $56,%mm3 2118bc3d5698SJohn Baldwin pxor %mm0,%mm6 2119bc3d5698SJohn Baldwin shrl $4,%edi 2120bc3d5698SJohn Baldwin pinsrw $2,(%esi,%ecx,2),%mm2 2121bc3d5698SJohn Baldwin pxor 16(%esp,%eax,8),%mm7 2122bc3d5698SJohn Baldwin roll $8,%edx 2123bc3d5698SJohn Baldwin pxor 144(%esp,%eax,8),%mm6 2124bc3d5698SJohn Baldwin pxor %mm3,%mm7 2125bc3d5698SJohn Baldwin pxor 400(%esp,%ebp,8),%mm6 2126bc3d5698SJohn Baldwin xorb (%esp,%ebp,1),%bl 2127bc3d5698SJohn Baldwin movb %dl,%al 2128bc3d5698SJohn Baldwin movd %mm7,%ecx 2129bc3d5698SJohn Baldwin movzbl %bl,%ebx 2130bc3d5698SJohn Baldwin psrlq $8,%mm7 2131bc3d5698SJohn Baldwin movq %mm6,%mm3 2132bc3d5698SJohn Baldwin movl %eax,%ebp 2133bc3d5698SJohn Baldwin psrlq $8,%mm6 2134bc3d5698SJohn Baldwin pxor 272(%esp,%edi,8),%mm7 2135bc3d5698SJohn Baldwin andb $15,%al 2136bc3d5698SJohn Baldwin psllq $56,%mm3 2137bc3d5698SJohn Baldwin pxor %mm2,%mm6 2138bc3d5698SJohn Baldwin shrl $4,%ebp 2139bc3d5698SJohn Baldwin pinsrw $2,(%esi,%ebx,2),%mm1 2140bc3d5698SJohn Baldwin pxor 16(%esp,%eax,8),%mm7 2141bc3d5698SJohn Baldwin roll $8,%edx 2142bc3d5698SJohn Baldwin pxor 144(%esp,%eax,8),%mm6 2143bc3d5698SJohn Baldwin pxor %mm3,%mm7 2144bc3d5698SJohn Baldwin pxor 400(%esp,%edi,8),%mm6 2145bc3d5698SJohn Baldwin xorb (%esp,%edi,1),%cl 2146bc3d5698SJohn Baldwin movb %dl,%al 2147bc3d5698SJohn Baldwin movd %mm7,%ebx 2148bc3d5698SJohn Baldwin movzbl %cl,%ecx 2149bc3d5698SJohn Baldwin psrlq $8,%mm7 2150bc3d5698SJohn Baldwin movq %mm6,%mm3 2151bc3d5698SJohn Baldwin movl %eax,%edi 2152bc3d5698SJohn Baldwin psrlq $8,%mm6 2153bc3d5698SJohn Baldwin pxor 272(%esp,%ebp,8),%mm7 2154bc3d5698SJohn Baldwin andb $15,%al 2155bc3d5698SJohn Baldwin psllq $56,%mm3 2156bc3d5698SJohn Baldwin pxor %mm1,%mm6 2157bc3d5698SJohn Baldwin shrl $4,%edi 2158bc3d5698SJohn Baldwin pinsrw $2,(%esi,%ecx,2),%mm0 2159bc3d5698SJohn Baldwin pxor 16(%esp,%eax,8),%mm7 2160bc3d5698SJohn Baldwin roll $8,%edx 2161bc3d5698SJohn Baldwin pxor 144(%esp,%eax,8),%mm6 2162bc3d5698SJohn Baldwin pxor %mm3,%mm7 2163bc3d5698SJohn Baldwin pxor 400(%esp,%ebp,8),%mm6 2164bc3d5698SJohn Baldwin xorb (%esp,%ebp,1),%bl 2165bc3d5698SJohn Baldwin movb %dl,%al 2166bc3d5698SJohn Baldwin movd %mm7,%ecx 2167bc3d5698SJohn Baldwin movzbl %bl,%ebx 2168bc3d5698SJohn Baldwin psrlq $8,%mm7 2169bc3d5698SJohn Baldwin movq %mm6,%mm3 2170bc3d5698SJohn Baldwin movl %eax,%ebp 2171bc3d5698SJohn Baldwin psrlq $8,%mm6 2172bc3d5698SJohn Baldwin pxor 272(%esp,%edi,8),%mm7 2173bc3d5698SJohn Baldwin andb $15,%al 2174bc3d5698SJohn Baldwin psllq $56,%mm3 2175bc3d5698SJohn Baldwin pxor %mm0,%mm6 2176bc3d5698SJohn Baldwin shrl $4,%ebp 2177bc3d5698SJohn Baldwin pinsrw $2,(%esi,%ebx,2),%mm2 2178bc3d5698SJohn Baldwin pxor 16(%esp,%eax,8),%mm7 2179bc3d5698SJohn Baldwin roll $8,%edx 2180bc3d5698SJohn Baldwin pxor 144(%esp,%eax,8),%mm6 2181bc3d5698SJohn Baldwin pxor %mm3,%mm7 2182bc3d5698SJohn Baldwin pxor 400(%esp,%edi,8),%mm6 2183bc3d5698SJohn Baldwin xorb (%esp,%edi,1),%cl 2184bc3d5698SJohn Baldwin movb %dl,%al 2185bc3d5698SJohn Baldwin movl 524(%esp),%edx 2186bc3d5698SJohn Baldwin movd %mm7,%ebx 2187bc3d5698SJohn Baldwin movzbl %cl,%ecx 2188bc3d5698SJohn Baldwin psrlq $8,%mm7 2189bc3d5698SJohn Baldwin movq %mm6,%mm3 2190bc3d5698SJohn Baldwin movl %eax,%edi 2191bc3d5698SJohn Baldwin psrlq $8,%mm6 2192bc3d5698SJohn Baldwin pxor 272(%esp,%ebp,8),%mm7 2193bc3d5698SJohn Baldwin andb $15,%al 2194bc3d5698SJohn Baldwin psllq $56,%mm3 2195bc3d5698SJohn Baldwin pxor %mm2,%mm6 2196bc3d5698SJohn Baldwin shrl $4,%edi 2197bc3d5698SJohn Baldwin pinsrw $2,(%esi,%ecx,2),%mm1 2198bc3d5698SJohn Baldwin pxor 16(%esp,%eax,8),%mm7 2199bc3d5698SJohn Baldwin pxor 144(%esp,%eax,8),%mm6 2200bc3d5698SJohn Baldwin xorb (%esp,%ebp,1),%bl 2201bc3d5698SJohn Baldwin pxor %mm3,%mm7 2202bc3d5698SJohn Baldwin pxor 400(%esp,%ebp,8),%mm6 2203bc3d5698SJohn Baldwin movzbl %bl,%ebx 2204bc3d5698SJohn Baldwin pxor %mm2,%mm2 2205bc3d5698SJohn Baldwin psllq $4,%mm1 2206bc3d5698SJohn Baldwin movd %mm7,%ecx 2207bc3d5698SJohn Baldwin psrlq $4,%mm7 2208bc3d5698SJohn Baldwin movq %mm6,%mm3 2209bc3d5698SJohn Baldwin psrlq $4,%mm6 2210bc3d5698SJohn Baldwin shll $4,%ecx 2211bc3d5698SJohn Baldwin pxor 16(%esp,%edi,8),%mm7 2212bc3d5698SJohn Baldwin psllq $60,%mm3 2213bc3d5698SJohn Baldwin movzbl %cl,%ecx 2214bc3d5698SJohn Baldwin pxor %mm3,%mm7 2215bc3d5698SJohn Baldwin pxor 144(%esp,%edi,8),%mm6 2216bc3d5698SJohn Baldwin pinsrw $2,(%esi,%ebx,2),%mm0 2217bc3d5698SJohn Baldwin pxor %mm1,%mm6 2218bc3d5698SJohn Baldwin movd %mm7,%edx 2219bc3d5698SJohn Baldwin pinsrw $3,(%esi,%ecx,2),%mm2 2220bc3d5698SJohn Baldwin psllq $12,%mm0 2221bc3d5698SJohn Baldwin pxor %mm0,%mm6 2222bc3d5698SJohn Baldwin psrlq $32,%mm7 2223bc3d5698SJohn Baldwin pxor %mm2,%mm6 2224bc3d5698SJohn Baldwin movl 548(%esp),%ecx 2225bc3d5698SJohn Baldwin movd %mm7,%ebx 2226bc3d5698SJohn Baldwin movq %mm6,%mm3 2227bc3d5698SJohn Baldwin psllw $8,%mm6 2228bc3d5698SJohn Baldwin psrlw $8,%mm3 2229bc3d5698SJohn Baldwin por %mm3,%mm6 2230bc3d5698SJohn Baldwin bswap %edx 2231bc3d5698SJohn Baldwin pshufw $27,%mm6,%mm6 2232bc3d5698SJohn Baldwin bswap %ebx 2233bc3d5698SJohn Baldwin cmpl 552(%esp),%ecx 2234bc3d5698SJohn Baldwin jne .L009outer 2235bc3d5698SJohn Baldwin movl 544(%esp),%eax 2236bc3d5698SJohn Baldwin movl %edx,12(%eax) 2237bc3d5698SJohn Baldwin movl %ebx,8(%eax) 2238bc3d5698SJohn Baldwin movq %mm6,(%eax) 2239bc3d5698SJohn Baldwin movl 556(%esp),%esp 2240bc3d5698SJohn Baldwin emms 2241bc3d5698SJohn Baldwin popl %edi 2242bc3d5698SJohn Baldwin popl %esi 2243bc3d5698SJohn Baldwin popl %ebx 2244bc3d5698SJohn Baldwin popl %ebp 2245bc3d5698SJohn Baldwin ret 2246bc3d5698SJohn Baldwin.size gcm_ghash_4bit_mmx,.-.L_gcm_ghash_4bit_mmx_begin 2247bc3d5698SJohn Baldwin.globl gcm_init_clmul 2248bc3d5698SJohn Baldwin.type gcm_init_clmul,@function 2249bc3d5698SJohn Baldwin.align 16 2250bc3d5698SJohn Baldwingcm_init_clmul: 2251bc3d5698SJohn Baldwin.L_gcm_init_clmul_begin: 2252*c0855eaaSJohn Baldwin #ifdef __CET__ 2253*c0855eaaSJohn Baldwin 2254*c0855eaaSJohn Baldwin.byte 243,15,30,251 2255*c0855eaaSJohn Baldwin #endif 2256*c0855eaaSJohn Baldwin 2257bc3d5698SJohn Baldwin movl 4(%esp),%edx 2258bc3d5698SJohn Baldwin movl 8(%esp),%eax 2259bc3d5698SJohn Baldwin call .L010pic 2260bc3d5698SJohn Baldwin.L010pic: 2261bc3d5698SJohn Baldwin popl %ecx 2262bc3d5698SJohn Baldwin leal .Lbswap-.L010pic(%ecx),%ecx 2263bc3d5698SJohn Baldwin movdqu (%eax),%xmm2 2264bc3d5698SJohn Baldwin pshufd $78,%xmm2,%xmm2 2265bc3d5698SJohn Baldwin pshufd $255,%xmm2,%xmm4 2266bc3d5698SJohn Baldwin movdqa %xmm2,%xmm3 2267bc3d5698SJohn Baldwin psllq $1,%xmm2 2268bc3d5698SJohn Baldwin pxor %xmm5,%xmm5 2269bc3d5698SJohn Baldwin psrlq $63,%xmm3 2270bc3d5698SJohn Baldwin pcmpgtd %xmm4,%xmm5 2271bc3d5698SJohn Baldwin pslldq $8,%xmm3 2272bc3d5698SJohn Baldwin por %xmm3,%xmm2 2273bc3d5698SJohn Baldwin pand 16(%ecx),%xmm5 2274bc3d5698SJohn Baldwin pxor %xmm5,%xmm2 2275bc3d5698SJohn Baldwin movdqa %xmm2,%xmm0 2276bc3d5698SJohn Baldwin movdqa %xmm0,%xmm1 2277bc3d5698SJohn Baldwin pshufd $78,%xmm0,%xmm3 2278bc3d5698SJohn Baldwin pshufd $78,%xmm2,%xmm4 2279bc3d5698SJohn Baldwin pxor %xmm0,%xmm3 2280bc3d5698SJohn Baldwin pxor %xmm2,%xmm4 2281bc3d5698SJohn Baldwin.byte 102,15,58,68,194,0 2282bc3d5698SJohn Baldwin.byte 102,15,58,68,202,17 2283bc3d5698SJohn Baldwin.byte 102,15,58,68,220,0 2284bc3d5698SJohn Baldwin xorps %xmm0,%xmm3 2285bc3d5698SJohn Baldwin xorps %xmm1,%xmm3 2286bc3d5698SJohn Baldwin movdqa %xmm3,%xmm4 2287bc3d5698SJohn Baldwin psrldq $8,%xmm3 2288bc3d5698SJohn Baldwin pslldq $8,%xmm4 2289bc3d5698SJohn Baldwin pxor %xmm3,%xmm1 2290bc3d5698SJohn Baldwin pxor %xmm4,%xmm0 2291bc3d5698SJohn Baldwin movdqa %xmm0,%xmm4 2292bc3d5698SJohn Baldwin movdqa %xmm0,%xmm3 2293bc3d5698SJohn Baldwin psllq $5,%xmm0 2294bc3d5698SJohn Baldwin pxor %xmm0,%xmm3 2295bc3d5698SJohn Baldwin psllq $1,%xmm0 2296bc3d5698SJohn Baldwin pxor %xmm3,%xmm0 2297bc3d5698SJohn Baldwin psllq $57,%xmm0 2298bc3d5698SJohn Baldwin movdqa %xmm0,%xmm3 2299bc3d5698SJohn Baldwin pslldq $8,%xmm0 2300bc3d5698SJohn Baldwin psrldq $8,%xmm3 2301bc3d5698SJohn Baldwin pxor %xmm4,%xmm0 2302bc3d5698SJohn Baldwin pxor %xmm3,%xmm1 2303bc3d5698SJohn Baldwin movdqa %xmm0,%xmm4 2304bc3d5698SJohn Baldwin psrlq $1,%xmm0 2305bc3d5698SJohn Baldwin pxor %xmm4,%xmm1 2306bc3d5698SJohn Baldwin pxor %xmm0,%xmm4 2307bc3d5698SJohn Baldwin psrlq $5,%xmm0 2308bc3d5698SJohn Baldwin pxor %xmm4,%xmm0 2309bc3d5698SJohn Baldwin psrlq $1,%xmm0 2310bc3d5698SJohn Baldwin pxor %xmm1,%xmm0 2311bc3d5698SJohn Baldwin pshufd $78,%xmm2,%xmm3 2312bc3d5698SJohn Baldwin pshufd $78,%xmm0,%xmm4 2313bc3d5698SJohn Baldwin pxor %xmm2,%xmm3 2314bc3d5698SJohn Baldwin movdqu %xmm2,(%edx) 2315bc3d5698SJohn Baldwin pxor %xmm0,%xmm4 2316bc3d5698SJohn Baldwin movdqu %xmm0,16(%edx) 2317bc3d5698SJohn Baldwin.byte 102,15,58,15,227,8 2318bc3d5698SJohn Baldwin movdqu %xmm4,32(%edx) 2319bc3d5698SJohn Baldwin ret 2320bc3d5698SJohn Baldwin.size gcm_init_clmul,.-.L_gcm_init_clmul_begin 2321bc3d5698SJohn Baldwin.globl gcm_gmult_clmul 2322bc3d5698SJohn Baldwin.type gcm_gmult_clmul,@function 2323bc3d5698SJohn Baldwin.align 16 2324bc3d5698SJohn Baldwingcm_gmult_clmul: 2325bc3d5698SJohn Baldwin.L_gcm_gmult_clmul_begin: 2326*c0855eaaSJohn Baldwin #ifdef __CET__ 2327*c0855eaaSJohn Baldwin 2328*c0855eaaSJohn Baldwin.byte 243,15,30,251 2329*c0855eaaSJohn Baldwin #endif 2330*c0855eaaSJohn Baldwin 2331bc3d5698SJohn Baldwin movl 4(%esp),%eax 2332bc3d5698SJohn Baldwin movl 8(%esp),%edx 2333bc3d5698SJohn Baldwin call .L011pic 2334bc3d5698SJohn Baldwin.L011pic: 2335bc3d5698SJohn Baldwin popl %ecx 2336bc3d5698SJohn Baldwin leal .Lbswap-.L011pic(%ecx),%ecx 2337bc3d5698SJohn Baldwin movdqu (%eax),%xmm0 2338bc3d5698SJohn Baldwin movdqa (%ecx),%xmm5 2339bc3d5698SJohn Baldwin movups (%edx),%xmm2 2340bc3d5698SJohn Baldwin.byte 102,15,56,0,197 2341bc3d5698SJohn Baldwin movups 32(%edx),%xmm4 2342bc3d5698SJohn Baldwin movdqa %xmm0,%xmm1 2343bc3d5698SJohn Baldwin pshufd $78,%xmm0,%xmm3 2344bc3d5698SJohn Baldwin pxor %xmm0,%xmm3 2345bc3d5698SJohn Baldwin.byte 102,15,58,68,194,0 2346bc3d5698SJohn Baldwin.byte 102,15,58,68,202,17 2347bc3d5698SJohn Baldwin.byte 102,15,58,68,220,0 2348bc3d5698SJohn Baldwin xorps %xmm0,%xmm3 2349bc3d5698SJohn Baldwin xorps %xmm1,%xmm3 2350bc3d5698SJohn Baldwin movdqa %xmm3,%xmm4 2351bc3d5698SJohn Baldwin psrldq $8,%xmm3 2352bc3d5698SJohn Baldwin pslldq $8,%xmm4 2353bc3d5698SJohn Baldwin pxor %xmm3,%xmm1 2354bc3d5698SJohn Baldwin pxor %xmm4,%xmm0 2355bc3d5698SJohn Baldwin movdqa %xmm0,%xmm4 2356bc3d5698SJohn Baldwin movdqa %xmm0,%xmm3 2357bc3d5698SJohn Baldwin psllq $5,%xmm0 2358bc3d5698SJohn Baldwin pxor %xmm0,%xmm3 2359bc3d5698SJohn Baldwin psllq $1,%xmm0 2360bc3d5698SJohn Baldwin pxor %xmm3,%xmm0 2361bc3d5698SJohn Baldwin psllq $57,%xmm0 2362bc3d5698SJohn Baldwin movdqa %xmm0,%xmm3 2363bc3d5698SJohn Baldwin pslldq $8,%xmm0 2364bc3d5698SJohn Baldwin psrldq $8,%xmm3 2365bc3d5698SJohn Baldwin pxor %xmm4,%xmm0 2366bc3d5698SJohn Baldwin pxor %xmm3,%xmm1 2367bc3d5698SJohn Baldwin movdqa %xmm0,%xmm4 2368bc3d5698SJohn Baldwin psrlq $1,%xmm0 2369bc3d5698SJohn Baldwin pxor %xmm4,%xmm1 2370bc3d5698SJohn Baldwin pxor %xmm0,%xmm4 2371bc3d5698SJohn Baldwin psrlq $5,%xmm0 2372bc3d5698SJohn Baldwin pxor %xmm4,%xmm0 2373bc3d5698SJohn Baldwin psrlq $1,%xmm0 2374bc3d5698SJohn Baldwin pxor %xmm1,%xmm0 2375bc3d5698SJohn Baldwin.byte 102,15,56,0,197 2376bc3d5698SJohn Baldwin movdqu %xmm0,(%eax) 2377bc3d5698SJohn Baldwin ret 2378bc3d5698SJohn Baldwin.size gcm_gmult_clmul,.-.L_gcm_gmult_clmul_begin 2379bc3d5698SJohn Baldwin.globl gcm_ghash_clmul 2380bc3d5698SJohn Baldwin.type gcm_ghash_clmul,@function 2381bc3d5698SJohn Baldwin.align 16 2382bc3d5698SJohn Baldwingcm_ghash_clmul: 2383bc3d5698SJohn Baldwin.L_gcm_ghash_clmul_begin: 2384*c0855eaaSJohn Baldwin #ifdef __CET__ 2385*c0855eaaSJohn Baldwin 2386*c0855eaaSJohn Baldwin.byte 243,15,30,251 2387*c0855eaaSJohn Baldwin #endif 2388*c0855eaaSJohn Baldwin 2389bc3d5698SJohn Baldwin pushl %ebp 2390bc3d5698SJohn Baldwin pushl %ebx 2391bc3d5698SJohn Baldwin pushl %esi 2392bc3d5698SJohn Baldwin pushl %edi 2393bc3d5698SJohn Baldwin movl 20(%esp),%eax 2394bc3d5698SJohn Baldwin movl 24(%esp),%edx 2395bc3d5698SJohn Baldwin movl 28(%esp),%esi 2396bc3d5698SJohn Baldwin movl 32(%esp),%ebx 2397bc3d5698SJohn Baldwin call .L012pic 2398bc3d5698SJohn Baldwin.L012pic: 2399bc3d5698SJohn Baldwin popl %ecx 2400bc3d5698SJohn Baldwin leal .Lbswap-.L012pic(%ecx),%ecx 2401bc3d5698SJohn Baldwin movdqu (%eax),%xmm0 2402bc3d5698SJohn Baldwin movdqa (%ecx),%xmm5 2403bc3d5698SJohn Baldwin movdqu (%edx),%xmm2 2404bc3d5698SJohn Baldwin.byte 102,15,56,0,197 2405bc3d5698SJohn Baldwin subl $16,%ebx 2406bc3d5698SJohn Baldwin jz .L013odd_tail 2407bc3d5698SJohn Baldwin movdqu (%esi),%xmm3 2408bc3d5698SJohn Baldwin movdqu 16(%esi),%xmm6 2409bc3d5698SJohn Baldwin.byte 102,15,56,0,221 2410bc3d5698SJohn Baldwin.byte 102,15,56,0,245 2411bc3d5698SJohn Baldwin movdqu 32(%edx),%xmm5 2412bc3d5698SJohn Baldwin pxor %xmm3,%xmm0 2413bc3d5698SJohn Baldwin pshufd $78,%xmm6,%xmm3 2414bc3d5698SJohn Baldwin movdqa %xmm6,%xmm7 2415bc3d5698SJohn Baldwin pxor %xmm6,%xmm3 2416bc3d5698SJohn Baldwin leal 32(%esi),%esi 2417bc3d5698SJohn Baldwin.byte 102,15,58,68,242,0 2418bc3d5698SJohn Baldwin.byte 102,15,58,68,250,17 2419bc3d5698SJohn Baldwin.byte 102,15,58,68,221,0 2420bc3d5698SJohn Baldwin movups 16(%edx),%xmm2 2421bc3d5698SJohn Baldwin nop 2422bc3d5698SJohn Baldwin subl $32,%ebx 2423bc3d5698SJohn Baldwin jbe .L014even_tail 2424bc3d5698SJohn Baldwin jmp .L015mod_loop 2425bc3d5698SJohn Baldwin.align 32 2426bc3d5698SJohn Baldwin.L015mod_loop: 2427bc3d5698SJohn Baldwin pshufd $78,%xmm0,%xmm4 2428bc3d5698SJohn Baldwin movdqa %xmm0,%xmm1 2429bc3d5698SJohn Baldwin pxor %xmm0,%xmm4 2430bc3d5698SJohn Baldwin nop 2431bc3d5698SJohn Baldwin.byte 102,15,58,68,194,0 2432bc3d5698SJohn Baldwin.byte 102,15,58,68,202,17 2433bc3d5698SJohn Baldwin.byte 102,15,58,68,229,16 2434bc3d5698SJohn Baldwin movups (%edx),%xmm2 2435bc3d5698SJohn Baldwin xorps %xmm6,%xmm0 2436bc3d5698SJohn Baldwin movdqa (%ecx),%xmm5 2437bc3d5698SJohn Baldwin xorps %xmm7,%xmm1 2438bc3d5698SJohn Baldwin movdqu (%esi),%xmm7 2439bc3d5698SJohn Baldwin pxor %xmm0,%xmm3 2440bc3d5698SJohn Baldwin movdqu 16(%esi),%xmm6 2441bc3d5698SJohn Baldwin pxor %xmm1,%xmm3 2442bc3d5698SJohn Baldwin.byte 102,15,56,0,253 2443bc3d5698SJohn Baldwin pxor %xmm3,%xmm4 2444bc3d5698SJohn Baldwin movdqa %xmm4,%xmm3 2445bc3d5698SJohn Baldwin psrldq $8,%xmm4 2446bc3d5698SJohn Baldwin pslldq $8,%xmm3 2447bc3d5698SJohn Baldwin pxor %xmm4,%xmm1 2448bc3d5698SJohn Baldwin pxor %xmm3,%xmm0 2449bc3d5698SJohn Baldwin.byte 102,15,56,0,245 2450bc3d5698SJohn Baldwin pxor %xmm7,%xmm1 2451bc3d5698SJohn Baldwin movdqa %xmm6,%xmm7 2452bc3d5698SJohn Baldwin movdqa %xmm0,%xmm4 2453bc3d5698SJohn Baldwin movdqa %xmm0,%xmm3 2454bc3d5698SJohn Baldwin psllq $5,%xmm0 2455bc3d5698SJohn Baldwin pxor %xmm0,%xmm3 2456bc3d5698SJohn Baldwin psllq $1,%xmm0 2457bc3d5698SJohn Baldwin pxor %xmm3,%xmm0 2458bc3d5698SJohn Baldwin.byte 102,15,58,68,242,0 2459bc3d5698SJohn Baldwin movups 32(%edx),%xmm5 2460bc3d5698SJohn Baldwin psllq $57,%xmm0 2461bc3d5698SJohn Baldwin movdqa %xmm0,%xmm3 2462bc3d5698SJohn Baldwin pslldq $8,%xmm0 2463bc3d5698SJohn Baldwin psrldq $8,%xmm3 2464bc3d5698SJohn Baldwin pxor %xmm4,%xmm0 2465bc3d5698SJohn Baldwin pxor %xmm3,%xmm1 2466bc3d5698SJohn Baldwin pshufd $78,%xmm7,%xmm3 2467bc3d5698SJohn Baldwin movdqa %xmm0,%xmm4 2468bc3d5698SJohn Baldwin psrlq $1,%xmm0 2469bc3d5698SJohn Baldwin pxor %xmm7,%xmm3 2470bc3d5698SJohn Baldwin pxor %xmm4,%xmm1 2471bc3d5698SJohn Baldwin.byte 102,15,58,68,250,17 2472bc3d5698SJohn Baldwin movups 16(%edx),%xmm2 2473bc3d5698SJohn Baldwin pxor %xmm0,%xmm4 2474bc3d5698SJohn Baldwin psrlq $5,%xmm0 2475bc3d5698SJohn Baldwin pxor %xmm4,%xmm0 2476bc3d5698SJohn Baldwin psrlq $1,%xmm0 2477bc3d5698SJohn Baldwin pxor %xmm1,%xmm0 2478bc3d5698SJohn Baldwin.byte 102,15,58,68,221,0 2479bc3d5698SJohn Baldwin leal 32(%esi),%esi 2480bc3d5698SJohn Baldwin subl $32,%ebx 2481bc3d5698SJohn Baldwin ja .L015mod_loop 2482bc3d5698SJohn Baldwin.L014even_tail: 2483bc3d5698SJohn Baldwin pshufd $78,%xmm0,%xmm4 2484bc3d5698SJohn Baldwin movdqa %xmm0,%xmm1 2485bc3d5698SJohn Baldwin pxor %xmm0,%xmm4 2486bc3d5698SJohn Baldwin.byte 102,15,58,68,194,0 2487bc3d5698SJohn Baldwin.byte 102,15,58,68,202,17 2488bc3d5698SJohn Baldwin.byte 102,15,58,68,229,16 2489bc3d5698SJohn Baldwin movdqa (%ecx),%xmm5 2490bc3d5698SJohn Baldwin xorps %xmm6,%xmm0 2491bc3d5698SJohn Baldwin xorps %xmm7,%xmm1 2492bc3d5698SJohn Baldwin pxor %xmm0,%xmm3 2493bc3d5698SJohn Baldwin pxor %xmm1,%xmm3 2494bc3d5698SJohn Baldwin pxor %xmm3,%xmm4 2495bc3d5698SJohn Baldwin movdqa %xmm4,%xmm3 2496bc3d5698SJohn Baldwin psrldq $8,%xmm4 2497bc3d5698SJohn Baldwin pslldq $8,%xmm3 2498bc3d5698SJohn Baldwin pxor %xmm4,%xmm1 2499bc3d5698SJohn Baldwin pxor %xmm3,%xmm0 2500bc3d5698SJohn Baldwin movdqa %xmm0,%xmm4 2501bc3d5698SJohn Baldwin movdqa %xmm0,%xmm3 2502bc3d5698SJohn Baldwin psllq $5,%xmm0 2503bc3d5698SJohn Baldwin pxor %xmm0,%xmm3 2504bc3d5698SJohn Baldwin psllq $1,%xmm0 2505bc3d5698SJohn Baldwin pxor %xmm3,%xmm0 2506bc3d5698SJohn Baldwin psllq $57,%xmm0 2507bc3d5698SJohn Baldwin movdqa %xmm0,%xmm3 2508bc3d5698SJohn Baldwin pslldq $8,%xmm0 2509bc3d5698SJohn Baldwin psrldq $8,%xmm3 2510bc3d5698SJohn Baldwin pxor %xmm4,%xmm0 2511bc3d5698SJohn Baldwin pxor %xmm3,%xmm1 2512bc3d5698SJohn Baldwin movdqa %xmm0,%xmm4 2513bc3d5698SJohn Baldwin psrlq $1,%xmm0 2514bc3d5698SJohn Baldwin pxor %xmm4,%xmm1 2515bc3d5698SJohn Baldwin pxor %xmm0,%xmm4 2516bc3d5698SJohn Baldwin psrlq $5,%xmm0 2517bc3d5698SJohn Baldwin pxor %xmm4,%xmm0 2518bc3d5698SJohn Baldwin psrlq $1,%xmm0 2519bc3d5698SJohn Baldwin pxor %xmm1,%xmm0 2520bc3d5698SJohn Baldwin testl %ebx,%ebx 2521bc3d5698SJohn Baldwin jnz .L016done 2522bc3d5698SJohn Baldwin movups (%edx),%xmm2 2523bc3d5698SJohn Baldwin.L013odd_tail: 2524bc3d5698SJohn Baldwin movdqu (%esi),%xmm3 2525bc3d5698SJohn Baldwin.byte 102,15,56,0,221 2526bc3d5698SJohn Baldwin pxor %xmm3,%xmm0 2527bc3d5698SJohn Baldwin movdqa %xmm0,%xmm1 2528bc3d5698SJohn Baldwin pshufd $78,%xmm0,%xmm3 2529bc3d5698SJohn Baldwin pshufd $78,%xmm2,%xmm4 2530bc3d5698SJohn Baldwin pxor %xmm0,%xmm3 2531bc3d5698SJohn Baldwin pxor %xmm2,%xmm4 2532bc3d5698SJohn Baldwin.byte 102,15,58,68,194,0 2533bc3d5698SJohn Baldwin.byte 102,15,58,68,202,17 2534bc3d5698SJohn Baldwin.byte 102,15,58,68,220,0 2535bc3d5698SJohn Baldwin xorps %xmm0,%xmm3 2536bc3d5698SJohn Baldwin xorps %xmm1,%xmm3 2537bc3d5698SJohn Baldwin movdqa %xmm3,%xmm4 2538bc3d5698SJohn Baldwin psrldq $8,%xmm3 2539bc3d5698SJohn Baldwin pslldq $8,%xmm4 2540bc3d5698SJohn Baldwin pxor %xmm3,%xmm1 2541bc3d5698SJohn Baldwin pxor %xmm4,%xmm0 2542bc3d5698SJohn Baldwin movdqa %xmm0,%xmm4 2543bc3d5698SJohn Baldwin movdqa %xmm0,%xmm3 2544bc3d5698SJohn Baldwin psllq $5,%xmm0 2545bc3d5698SJohn Baldwin pxor %xmm0,%xmm3 2546bc3d5698SJohn Baldwin psllq $1,%xmm0 2547bc3d5698SJohn Baldwin pxor %xmm3,%xmm0 2548bc3d5698SJohn Baldwin psllq $57,%xmm0 2549bc3d5698SJohn Baldwin movdqa %xmm0,%xmm3 2550bc3d5698SJohn Baldwin pslldq $8,%xmm0 2551bc3d5698SJohn Baldwin psrldq $8,%xmm3 2552bc3d5698SJohn Baldwin pxor %xmm4,%xmm0 2553bc3d5698SJohn Baldwin pxor %xmm3,%xmm1 2554bc3d5698SJohn Baldwin movdqa %xmm0,%xmm4 2555bc3d5698SJohn Baldwin psrlq $1,%xmm0 2556bc3d5698SJohn Baldwin pxor %xmm4,%xmm1 2557bc3d5698SJohn Baldwin pxor %xmm0,%xmm4 2558bc3d5698SJohn Baldwin psrlq $5,%xmm0 2559bc3d5698SJohn Baldwin pxor %xmm4,%xmm0 2560bc3d5698SJohn Baldwin psrlq $1,%xmm0 2561bc3d5698SJohn Baldwin pxor %xmm1,%xmm0 2562bc3d5698SJohn Baldwin.L016done: 2563bc3d5698SJohn Baldwin.byte 102,15,56,0,197 2564bc3d5698SJohn Baldwin movdqu %xmm0,(%eax) 2565bc3d5698SJohn Baldwin popl %edi 2566bc3d5698SJohn Baldwin popl %esi 2567bc3d5698SJohn Baldwin popl %ebx 2568bc3d5698SJohn Baldwin popl %ebp 2569bc3d5698SJohn Baldwin ret 2570bc3d5698SJohn Baldwin.size gcm_ghash_clmul,.-.L_gcm_ghash_clmul_begin 2571bc3d5698SJohn Baldwin.align 64 2572bc3d5698SJohn Baldwin.Lbswap: 2573bc3d5698SJohn Baldwin.byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 2574bc3d5698SJohn Baldwin.byte 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194 2575bc3d5698SJohn Baldwin.align 64 2576bc3d5698SJohn Baldwin.Lrem_8bit: 2577bc3d5698SJohn Baldwin.value 0,450,900,582,1800,1738,1164,1358 2578bc3d5698SJohn Baldwin.value 3600,4050,3476,3158,2328,2266,2716,2910 2579bc3d5698SJohn Baldwin.value 7200,7650,8100,7782,6952,6890,6316,6510 2580bc3d5698SJohn Baldwin.value 4656,5106,4532,4214,5432,5370,5820,6014 2581bc3d5698SJohn Baldwin.value 14400,14722,15300,14854,16200,16010,15564,15630 2582bc3d5698SJohn Baldwin.value 13904,14226,13780,13334,12632,12442,13020,13086 2583bc3d5698SJohn Baldwin.value 9312,9634,10212,9766,9064,8874,8428,8494 2584bc3d5698SJohn Baldwin.value 10864,11186,10740,10294,11640,11450,12028,12094 2585bc3d5698SJohn Baldwin.value 28800,28994,29444,29382,30600,30282,29708,30158 2586bc3d5698SJohn Baldwin.value 32400,32594,32020,31958,31128,30810,31260,31710 2587bc3d5698SJohn Baldwin.value 27808,28002,28452,28390,27560,27242,26668,27118 2588bc3d5698SJohn Baldwin.value 25264,25458,24884,24822,26040,25722,26172,26622 2589bc3d5698SJohn Baldwin.value 18624,18690,19268,19078,20424,19978,19532,19854 2590bc3d5698SJohn Baldwin.value 18128,18194,17748,17558,16856,16410,16988,17310 2591bc3d5698SJohn Baldwin.value 21728,21794,22372,22182,21480,21034,20588,20910 2592bc3d5698SJohn Baldwin.value 23280,23346,22900,22710,24056,23610,24188,24510 2593bc3d5698SJohn Baldwin.value 57600,57538,57988,58182,58888,59338,58764,58446 2594bc3d5698SJohn Baldwin.value 61200,61138,60564,60758,59416,59866,60316,59998 2595bc3d5698SJohn Baldwin.value 64800,64738,65188,65382,64040,64490,63916,63598 2596bc3d5698SJohn Baldwin.value 62256,62194,61620,61814,62520,62970,63420,63102 2597bc3d5698SJohn Baldwin.value 55616,55426,56004,56070,56904,57226,56780,56334 2598bc3d5698SJohn Baldwin.value 55120,54930,54484,54550,53336,53658,54236,53790 2599bc3d5698SJohn Baldwin.value 50528,50338,50916,50982,49768,50090,49644,49198 2600bc3d5698SJohn Baldwin.value 52080,51890,51444,51510,52344,52666,53244,52798 2601bc3d5698SJohn Baldwin.value 37248,36930,37380,37830,38536,38730,38156,38094 2602bc3d5698SJohn Baldwin.value 40848,40530,39956,40406,39064,39258,39708,39646 2603bc3d5698SJohn Baldwin.value 36256,35938,36388,36838,35496,35690,35116,35054 2604bc3d5698SJohn Baldwin.value 33712,33394,32820,33270,33976,34170,34620,34558 2605bc3d5698SJohn Baldwin.value 43456,43010,43588,43910,44744,44810,44364,44174 2606bc3d5698SJohn Baldwin.value 42960,42514,42068,42390,41176,41242,41820,41630 2607bc3d5698SJohn Baldwin.value 46560,46114,46692,47014,45800,45866,45420,45230 2608bc3d5698SJohn Baldwin.value 48112,47666,47220,47542,48376,48442,49020,48830 2609bc3d5698SJohn Baldwin.align 64 2610bc3d5698SJohn Baldwin.Lrem_4bit: 2611bc3d5698SJohn Baldwin.long 0,0,0,471859200,0,943718400,0,610271232 2612bc3d5698SJohn Baldwin.long 0,1887436800,0,1822425088,0,1220542464,0,1423966208 2613bc3d5698SJohn Baldwin.long 0,3774873600,0,4246732800,0,3644850176,0,3311403008 2614bc3d5698SJohn Baldwin.long 0,2441084928,0,2376073216,0,2847932416,0,3051356160 2615bc3d5698SJohn Baldwin.byte 71,72,65,83,72,32,102,111,114,32,120,56,54,44,32,67 2616bc3d5698SJohn Baldwin.byte 82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112 2617bc3d5698SJohn Baldwin.byte 112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62 2618bc3d5698SJohn Baldwin.byte 0 2619*c0855eaaSJohn Baldwin 2620*c0855eaaSJohn Baldwin .section ".note.gnu.property", "a" 2621*c0855eaaSJohn Baldwin .p2align 2 2622*c0855eaaSJohn Baldwin .long 1f - 0f 2623*c0855eaaSJohn Baldwin .long 4f - 1f 2624*c0855eaaSJohn Baldwin .long 5 2625*c0855eaaSJohn Baldwin0: 2626*c0855eaaSJohn Baldwin .asciz "GNU" 2627*c0855eaaSJohn Baldwin1: 2628*c0855eaaSJohn Baldwin .p2align 2 2629*c0855eaaSJohn Baldwin .long 0xc0000002 2630*c0855eaaSJohn Baldwin .long 3f - 2f 2631*c0855eaaSJohn Baldwin2: 2632*c0855eaaSJohn Baldwin .long 3 2633*c0855eaaSJohn Baldwin3: 2634*c0855eaaSJohn Baldwin .p2align 2 2635*c0855eaaSJohn Baldwin4: 2636bc3d5698SJohn Baldwin#endif 2637