1*8fb009dcSAndroid Build Coastguard Worker// This file is generated from a similarly-named Perl script in the BoringSSL 2*8fb009dcSAndroid Build Coastguard Worker// source tree. Do not edit by hand. 3*8fb009dcSAndroid Build Coastguard Worker 4*8fb009dcSAndroid Build Coastguard Worker#include <openssl/asm_base.h> 5*8fb009dcSAndroid Build Coastguard Worker 6*8fb009dcSAndroid Build Coastguard Worker#if !defined(OPENSSL_NO_ASM) && defined(OPENSSL_X86) && defined(__ELF__) 7*8fb009dcSAndroid Build Coastguard Worker.text 8*8fb009dcSAndroid Build Coastguard Worker.globl gcm_init_clmul 9*8fb009dcSAndroid Build Coastguard Worker.hidden gcm_init_clmul 10*8fb009dcSAndroid Build Coastguard Worker.type gcm_init_clmul,@function 11*8fb009dcSAndroid Build Coastguard Worker.align 16 12*8fb009dcSAndroid Build Coastguard Workergcm_init_clmul: 13*8fb009dcSAndroid Build Coastguard Worker.L_gcm_init_clmul_begin: 14*8fb009dcSAndroid Build Coastguard Worker movl 4(%esp),%edx 15*8fb009dcSAndroid Build Coastguard Worker movl 8(%esp),%eax 16*8fb009dcSAndroid Build Coastguard Worker call .L000pic 17*8fb009dcSAndroid Build Coastguard Worker.L000pic: 18*8fb009dcSAndroid Build Coastguard Worker popl %ecx 19*8fb009dcSAndroid Build Coastguard Worker leal .Lbswap-.L000pic(%ecx),%ecx 20*8fb009dcSAndroid Build Coastguard Worker movdqu (%eax),%xmm2 21*8fb009dcSAndroid Build Coastguard Worker pshufd $78,%xmm2,%xmm2 22*8fb009dcSAndroid Build Coastguard Worker pshufd $255,%xmm2,%xmm4 23*8fb009dcSAndroid Build Coastguard Worker movdqa %xmm2,%xmm3 24*8fb009dcSAndroid Build Coastguard Worker psllq $1,%xmm2 25*8fb009dcSAndroid Build Coastguard Worker pxor %xmm5,%xmm5 26*8fb009dcSAndroid Build Coastguard Worker psrlq $63,%xmm3 27*8fb009dcSAndroid Build Coastguard Worker pcmpgtd %xmm4,%xmm5 28*8fb009dcSAndroid Build Coastguard Worker pslldq $8,%xmm3 29*8fb009dcSAndroid Build Coastguard Worker por %xmm3,%xmm2 30*8fb009dcSAndroid Build Coastguard Worker pand 16(%ecx),%xmm5 31*8fb009dcSAndroid Build Coastguard Worker pxor %xmm5,%xmm2 32*8fb009dcSAndroid Build Coastguard Worker movdqa %xmm2,%xmm0 33*8fb009dcSAndroid Build Coastguard Worker movdqa %xmm0,%xmm1 34*8fb009dcSAndroid Build Coastguard Worker pshufd $78,%xmm0,%xmm3 35*8fb009dcSAndroid Build Coastguard Worker pshufd $78,%xmm2,%xmm4 36*8fb009dcSAndroid Build Coastguard Worker pxor %xmm0,%xmm3 37*8fb009dcSAndroid Build Coastguard Worker pxor %xmm2,%xmm4 38*8fb009dcSAndroid Build Coastguard Worker.byte 102,15,58,68,194,0 39*8fb009dcSAndroid Build Coastguard Worker.byte 102,15,58,68,202,17 40*8fb009dcSAndroid Build Coastguard Worker.byte 102,15,58,68,220,0 41*8fb009dcSAndroid Build Coastguard Worker xorps %xmm0,%xmm3 42*8fb009dcSAndroid Build Coastguard Worker xorps %xmm1,%xmm3 43*8fb009dcSAndroid Build Coastguard Worker movdqa %xmm3,%xmm4 44*8fb009dcSAndroid Build Coastguard Worker psrldq $8,%xmm3 45*8fb009dcSAndroid Build Coastguard Worker pslldq $8,%xmm4 46*8fb009dcSAndroid Build Coastguard Worker pxor %xmm3,%xmm1 47*8fb009dcSAndroid Build Coastguard Worker pxor %xmm4,%xmm0 48*8fb009dcSAndroid Build Coastguard Worker movdqa %xmm0,%xmm4 49*8fb009dcSAndroid Build Coastguard Worker movdqa %xmm0,%xmm3 50*8fb009dcSAndroid Build Coastguard Worker psllq $5,%xmm0 51*8fb009dcSAndroid Build Coastguard Worker pxor %xmm0,%xmm3 52*8fb009dcSAndroid Build Coastguard Worker psllq $1,%xmm0 53*8fb009dcSAndroid Build Coastguard Worker pxor %xmm3,%xmm0 54*8fb009dcSAndroid Build Coastguard Worker psllq $57,%xmm0 55*8fb009dcSAndroid Build Coastguard Worker movdqa %xmm0,%xmm3 56*8fb009dcSAndroid Build Coastguard Worker pslldq $8,%xmm0 57*8fb009dcSAndroid Build Coastguard Worker psrldq $8,%xmm3 58*8fb009dcSAndroid Build Coastguard Worker pxor %xmm4,%xmm0 59*8fb009dcSAndroid Build Coastguard Worker pxor %xmm3,%xmm1 60*8fb009dcSAndroid Build Coastguard Worker movdqa %xmm0,%xmm4 61*8fb009dcSAndroid Build Coastguard Worker psrlq $1,%xmm0 62*8fb009dcSAndroid Build Coastguard Worker pxor %xmm4,%xmm1 63*8fb009dcSAndroid Build Coastguard Worker pxor %xmm0,%xmm4 64*8fb009dcSAndroid Build Coastguard Worker psrlq $5,%xmm0 65*8fb009dcSAndroid Build Coastguard Worker pxor %xmm4,%xmm0 66*8fb009dcSAndroid Build Coastguard Worker psrlq $1,%xmm0 67*8fb009dcSAndroid Build Coastguard Worker pxor %xmm1,%xmm0 68*8fb009dcSAndroid Build Coastguard Worker pshufd $78,%xmm2,%xmm3 69*8fb009dcSAndroid Build Coastguard Worker pshufd $78,%xmm0,%xmm4 70*8fb009dcSAndroid Build Coastguard Worker pxor %xmm2,%xmm3 71*8fb009dcSAndroid Build Coastguard Worker movdqu %xmm2,(%edx) 72*8fb009dcSAndroid Build Coastguard Worker pxor %xmm0,%xmm4 73*8fb009dcSAndroid Build Coastguard Worker movdqu %xmm0,16(%edx) 74*8fb009dcSAndroid Build Coastguard Worker.byte 102,15,58,15,227,8 75*8fb009dcSAndroid Build Coastguard Worker movdqu %xmm4,32(%edx) 76*8fb009dcSAndroid Build Coastguard Worker ret 77*8fb009dcSAndroid Build Coastguard Worker.size gcm_init_clmul,.-.L_gcm_init_clmul_begin 78*8fb009dcSAndroid Build Coastguard Worker.globl gcm_gmult_clmul 79*8fb009dcSAndroid Build Coastguard Worker.hidden gcm_gmult_clmul 80*8fb009dcSAndroid Build Coastguard Worker.type gcm_gmult_clmul,@function 81*8fb009dcSAndroid Build Coastguard Worker.align 16 82*8fb009dcSAndroid Build Coastguard Workergcm_gmult_clmul: 83*8fb009dcSAndroid Build Coastguard Worker.L_gcm_gmult_clmul_begin: 84*8fb009dcSAndroid Build Coastguard Worker movl 4(%esp),%eax 85*8fb009dcSAndroid Build Coastguard Worker movl 8(%esp),%edx 86*8fb009dcSAndroid Build Coastguard Worker call .L001pic 87*8fb009dcSAndroid Build Coastguard Worker.L001pic: 88*8fb009dcSAndroid Build Coastguard Worker popl %ecx 89*8fb009dcSAndroid Build Coastguard Worker leal .Lbswap-.L001pic(%ecx),%ecx 90*8fb009dcSAndroid Build Coastguard Worker movdqu (%eax),%xmm0 91*8fb009dcSAndroid Build Coastguard Worker movdqa (%ecx),%xmm5 92*8fb009dcSAndroid Build Coastguard Worker movups (%edx),%xmm2 93*8fb009dcSAndroid Build Coastguard Worker.byte 102,15,56,0,197 94*8fb009dcSAndroid Build Coastguard Worker movups 32(%edx),%xmm4 95*8fb009dcSAndroid Build Coastguard Worker movdqa %xmm0,%xmm1 96*8fb009dcSAndroid Build Coastguard Worker pshufd $78,%xmm0,%xmm3 97*8fb009dcSAndroid Build Coastguard Worker pxor %xmm0,%xmm3 98*8fb009dcSAndroid Build Coastguard Worker.byte 102,15,58,68,194,0 99*8fb009dcSAndroid Build Coastguard Worker.byte 102,15,58,68,202,17 100*8fb009dcSAndroid Build Coastguard Worker.byte 102,15,58,68,220,0 101*8fb009dcSAndroid Build Coastguard Worker xorps %xmm0,%xmm3 102*8fb009dcSAndroid Build Coastguard Worker xorps %xmm1,%xmm3 103*8fb009dcSAndroid Build Coastguard Worker movdqa %xmm3,%xmm4 104*8fb009dcSAndroid Build Coastguard Worker psrldq $8,%xmm3 105*8fb009dcSAndroid Build Coastguard Worker pslldq $8,%xmm4 106*8fb009dcSAndroid Build Coastguard Worker pxor %xmm3,%xmm1 107*8fb009dcSAndroid Build Coastguard Worker pxor %xmm4,%xmm0 108*8fb009dcSAndroid Build Coastguard Worker movdqa %xmm0,%xmm4 109*8fb009dcSAndroid Build Coastguard Worker movdqa %xmm0,%xmm3 110*8fb009dcSAndroid Build Coastguard Worker psllq $5,%xmm0 111*8fb009dcSAndroid Build Coastguard Worker pxor %xmm0,%xmm3 112*8fb009dcSAndroid Build Coastguard Worker psllq $1,%xmm0 113*8fb009dcSAndroid Build Coastguard Worker pxor %xmm3,%xmm0 114*8fb009dcSAndroid Build Coastguard Worker psllq $57,%xmm0 115*8fb009dcSAndroid Build Coastguard Worker movdqa %xmm0,%xmm3 116*8fb009dcSAndroid Build Coastguard Worker pslldq $8,%xmm0 117*8fb009dcSAndroid Build Coastguard Worker psrldq $8,%xmm3 118*8fb009dcSAndroid Build Coastguard Worker pxor %xmm4,%xmm0 119*8fb009dcSAndroid Build Coastguard Worker pxor %xmm3,%xmm1 120*8fb009dcSAndroid Build Coastguard Worker movdqa %xmm0,%xmm4 121*8fb009dcSAndroid Build Coastguard Worker psrlq $1,%xmm0 122*8fb009dcSAndroid Build Coastguard Worker pxor %xmm4,%xmm1 123*8fb009dcSAndroid Build Coastguard Worker pxor %xmm0,%xmm4 124*8fb009dcSAndroid Build Coastguard Worker psrlq $5,%xmm0 125*8fb009dcSAndroid Build Coastguard Worker pxor %xmm4,%xmm0 126*8fb009dcSAndroid Build Coastguard Worker psrlq $1,%xmm0 127*8fb009dcSAndroid Build Coastguard Worker pxor %xmm1,%xmm0 128*8fb009dcSAndroid Build Coastguard Worker.byte 102,15,56,0,197 129*8fb009dcSAndroid Build Coastguard Worker movdqu %xmm0,(%eax) 130*8fb009dcSAndroid Build Coastguard Worker ret 131*8fb009dcSAndroid Build Coastguard Worker.size gcm_gmult_clmul,.-.L_gcm_gmult_clmul_begin 132*8fb009dcSAndroid Build Coastguard Worker.globl gcm_ghash_clmul 133*8fb009dcSAndroid Build Coastguard Worker.hidden gcm_ghash_clmul 134*8fb009dcSAndroid Build Coastguard Worker.type gcm_ghash_clmul,@function 135*8fb009dcSAndroid Build Coastguard Worker.align 16 136*8fb009dcSAndroid Build Coastguard Workergcm_ghash_clmul: 137*8fb009dcSAndroid Build Coastguard Worker.L_gcm_ghash_clmul_begin: 138*8fb009dcSAndroid Build Coastguard Worker pushl %ebp 139*8fb009dcSAndroid Build Coastguard Worker pushl %ebx 140*8fb009dcSAndroid Build Coastguard Worker pushl %esi 141*8fb009dcSAndroid Build Coastguard Worker pushl %edi 142*8fb009dcSAndroid Build Coastguard Worker movl 20(%esp),%eax 143*8fb009dcSAndroid Build Coastguard Worker movl 24(%esp),%edx 144*8fb009dcSAndroid Build Coastguard Worker movl 28(%esp),%esi 145*8fb009dcSAndroid Build Coastguard Worker movl 32(%esp),%ebx 146*8fb009dcSAndroid Build Coastguard Worker call .L002pic 147*8fb009dcSAndroid Build Coastguard Worker.L002pic: 148*8fb009dcSAndroid Build Coastguard Worker popl %ecx 149*8fb009dcSAndroid Build Coastguard Worker leal .Lbswap-.L002pic(%ecx),%ecx 150*8fb009dcSAndroid Build Coastguard Worker movdqu (%eax),%xmm0 151*8fb009dcSAndroid Build Coastguard Worker movdqa (%ecx),%xmm5 152*8fb009dcSAndroid Build Coastguard Worker movdqu (%edx),%xmm2 153*8fb009dcSAndroid Build Coastguard Worker.byte 102,15,56,0,197 154*8fb009dcSAndroid Build Coastguard Worker subl $16,%ebx 155*8fb009dcSAndroid Build Coastguard Worker jz .L003odd_tail 156*8fb009dcSAndroid Build Coastguard Worker movdqu (%esi),%xmm3 157*8fb009dcSAndroid Build Coastguard Worker movdqu 16(%esi),%xmm6 158*8fb009dcSAndroid Build Coastguard Worker.byte 102,15,56,0,221 159*8fb009dcSAndroid Build Coastguard Worker.byte 102,15,56,0,245 160*8fb009dcSAndroid Build Coastguard Worker movdqu 32(%edx),%xmm5 161*8fb009dcSAndroid Build Coastguard Worker pxor %xmm3,%xmm0 162*8fb009dcSAndroid Build Coastguard Worker pshufd $78,%xmm6,%xmm3 163*8fb009dcSAndroid Build Coastguard Worker movdqa %xmm6,%xmm7 164*8fb009dcSAndroid Build Coastguard Worker pxor %xmm6,%xmm3 165*8fb009dcSAndroid Build Coastguard Worker leal 32(%esi),%esi 166*8fb009dcSAndroid Build Coastguard Worker.byte 102,15,58,68,242,0 167*8fb009dcSAndroid Build Coastguard Worker.byte 102,15,58,68,250,17 168*8fb009dcSAndroid Build Coastguard Worker.byte 102,15,58,68,221,0 169*8fb009dcSAndroid Build Coastguard Worker movups 16(%edx),%xmm2 170*8fb009dcSAndroid Build Coastguard Worker nop 171*8fb009dcSAndroid Build Coastguard Worker subl $32,%ebx 172*8fb009dcSAndroid Build Coastguard Worker jbe .L004even_tail 173*8fb009dcSAndroid Build Coastguard Worker jmp .L005mod_loop 174*8fb009dcSAndroid Build Coastguard Worker.align 32 175*8fb009dcSAndroid Build Coastguard Worker.L005mod_loop: 176*8fb009dcSAndroid Build Coastguard Worker pshufd $78,%xmm0,%xmm4 177*8fb009dcSAndroid Build Coastguard Worker movdqa %xmm0,%xmm1 178*8fb009dcSAndroid Build Coastguard Worker pxor %xmm0,%xmm4 179*8fb009dcSAndroid Build Coastguard Worker nop 180*8fb009dcSAndroid Build Coastguard Worker.byte 102,15,58,68,194,0 181*8fb009dcSAndroid Build Coastguard Worker.byte 102,15,58,68,202,17 182*8fb009dcSAndroid Build Coastguard Worker.byte 102,15,58,68,229,16 183*8fb009dcSAndroid Build Coastguard Worker movups (%edx),%xmm2 184*8fb009dcSAndroid Build Coastguard Worker xorps %xmm6,%xmm0 185*8fb009dcSAndroid Build Coastguard Worker movdqa (%ecx),%xmm5 186*8fb009dcSAndroid Build Coastguard Worker xorps %xmm7,%xmm1 187*8fb009dcSAndroid Build Coastguard Worker movdqu (%esi),%xmm7 188*8fb009dcSAndroid Build Coastguard Worker pxor %xmm0,%xmm3 189*8fb009dcSAndroid Build Coastguard Worker movdqu 16(%esi),%xmm6 190*8fb009dcSAndroid Build Coastguard Worker pxor %xmm1,%xmm3 191*8fb009dcSAndroid Build Coastguard Worker.byte 102,15,56,0,253 192*8fb009dcSAndroid Build Coastguard Worker pxor %xmm3,%xmm4 193*8fb009dcSAndroid Build Coastguard Worker movdqa %xmm4,%xmm3 194*8fb009dcSAndroid Build Coastguard Worker psrldq $8,%xmm4 195*8fb009dcSAndroid Build Coastguard Worker pslldq $8,%xmm3 196*8fb009dcSAndroid Build Coastguard Worker pxor %xmm4,%xmm1 197*8fb009dcSAndroid Build Coastguard Worker pxor %xmm3,%xmm0 198*8fb009dcSAndroid Build Coastguard Worker.byte 102,15,56,0,245 199*8fb009dcSAndroid Build Coastguard Worker pxor %xmm7,%xmm1 200*8fb009dcSAndroid Build Coastguard Worker movdqa %xmm6,%xmm7 201*8fb009dcSAndroid Build Coastguard Worker movdqa %xmm0,%xmm4 202*8fb009dcSAndroid Build Coastguard Worker movdqa %xmm0,%xmm3 203*8fb009dcSAndroid Build Coastguard Worker psllq $5,%xmm0 204*8fb009dcSAndroid Build Coastguard Worker pxor %xmm0,%xmm3 205*8fb009dcSAndroid Build Coastguard Worker psllq $1,%xmm0 206*8fb009dcSAndroid Build Coastguard Worker pxor %xmm3,%xmm0 207*8fb009dcSAndroid Build Coastguard Worker.byte 102,15,58,68,242,0 208*8fb009dcSAndroid Build Coastguard Worker movups 32(%edx),%xmm5 209*8fb009dcSAndroid Build Coastguard Worker psllq $57,%xmm0 210*8fb009dcSAndroid Build Coastguard Worker movdqa %xmm0,%xmm3 211*8fb009dcSAndroid Build Coastguard Worker pslldq $8,%xmm0 212*8fb009dcSAndroid Build Coastguard Worker psrldq $8,%xmm3 213*8fb009dcSAndroid Build Coastguard Worker pxor %xmm4,%xmm0 214*8fb009dcSAndroid Build Coastguard Worker pxor %xmm3,%xmm1 215*8fb009dcSAndroid Build Coastguard Worker pshufd $78,%xmm7,%xmm3 216*8fb009dcSAndroid Build Coastguard Worker movdqa %xmm0,%xmm4 217*8fb009dcSAndroid Build Coastguard Worker psrlq $1,%xmm0 218*8fb009dcSAndroid Build Coastguard Worker pxor %xmm7,%xmm3 219*8fb009dcSAndroid Build Coastguard Worker pxor %xmm4,%xmm1 220*8fb009dcSAndroid Build Coastguard Worker.byte 102,15,58,68,250,17 221*8fb009dcSAndroid Build Coastguard Worker movups 16(%edx),%xmm2 222*8fb009dcSAndroid Build Coastguard Worker pxor %xmm0,%xmm4 223*8fb009dcSAndroid Build Coastguard Worker psrlq $5,%xmm0 224*8fb009dcSAndroid Build Coastguard Worker pxor %xmm4,%xmm0 225*8fb009dcSAndroid Build Coastguard Worker psrlq $1,%xmm0 226*8fb009dcSAndroid Build Coastguard Worker pxor %xmm1,%xmm0 227*8fb009dcSAndroid Build Coastguard Worker.byte 102,15,58,68,221,0 228*8fb009dcSAndroid Build Coastguard Worker leal 32(%esi),%esi 229*8fb009dcSAndroid Build Coastguard Worker subl $32,%ebx 230*8fb009dcSAndroid Build Coastguard Worker ja .L005mod_loop 231*8fb009dcSAndroid Build Coastguard Worker.L004even_tail: 232*8fb009dcSAndroid Build Coastguard Worker pshufd $78,%xmm0,%xmm4 233*8fb009dcSAndroid Build Coastguard Worker movdqa %xmm0,%xmm1 234*8fb009dcSAndroid Build Coastguard Worker pxor %xmm0,%xmm4 235*8fb009dcSAndroid Build Coastguard Worker.byte 102,15,58,68,194,0 236*8fb009dcSAndroid Build Coastguard Worker.byte 102,15,58,68,202,17 237*8fb009dcSAndroid Build Coastguard Worker.byte 102,15,58,68,229,16 238*8fb009dcSAndroid Build Coastguard Worker movdqa (%ecx),%xmm5 239*8fb009dcSAndroid Build Coastguard Worker xorps %xmm6,%xmm0 240*8fb009dcSAndroid Build Coastguard Worker xorps %xmm7,%xmm1 241*8fb009dcSAndroid Build Coastguard Worker pxor %xmm0,%xmm3 242*8fb009dcSAndroid Build Coastguard Worker pxor %xmm1,%xmm3 243*8fb009dcSAndroid Build Coastguard Worker pxor %xmm3,%xmm4 244*8fb009dcSAndroid Build Coastguard Worker movdqa %xmm4,%xmm3 245*8fb009dcSAndroid Build Coastguard Worker psrldq $8,%xmm4 246*8fb009dcSAndroid Build Coastguard Worker pslldq $8,%xmm3 247*8fb009dcSAndroid Build Coastguard Worker pxor %xmm4,%xmm1 248*8fb009dcSAndroid Build Coastguard Worker pxor %xmm3,%xmm0 249*8fb009dcSAndroid Build Coastguard Worker movdqa %xmm0,%xmm4 250*8fb009dcSAndroid Build Coastguard Worker movdqa %xmm0,%xmm3 251*8fb009dcSAndroid Build Coastguard Worker psllq $5,%xmm0 252*8fb009dcSAndroid Build Coastguard Worker pxor %xmm0,%xmm3 253*8fb009dcSAndroid Build Coastguard Worker psllq $1,%xmm0 254*8fb009dcSAndroid Build Coastguard Worker pxor %xmm3,%xmm0 255*8fb009dcSAndroid Build Coastguard Worker psllq $57,%xmm0 256*8fb009dcSAndroid Build Coastguard Worker movdqa %xmm0,%xmm3 257*8fb009dcSAndroid Build Coastguard Worker pslldq $8,%xmm0 258*8fb009dcSAndroid Build Coastguard Worker psrldq $8,%xmm3 259*8fb009dcSAndroid Build Coastguard Worker pxor %xmm4,%xmm0 260*8fb009dcSAndroid Build Coastguard Worker pxor %xmm3,%xmm1 261*8fb009dcSAndroid Build Coastguard Worker movdqa %xmm0,%xmm4 262*8fb009dcSAndroid Build Coastguard Worker psrlq $1,%xmm0 263*8fb009dcSAndroid Build Coastguard Worker pxor %xmm4,%xmm1 264*8fb009dcSAndroid Build Coastguard Worker pxor %xmm0,%xmm4 265*8fb009dcSAndroid Build Coastguard Worker psrlq $5,%xmm0 266*8fb009dcSAndroid Build Coastguard Worker pxor %xmm4,%xmm0 267*8fb009dcSAndroid Build Coastguard Worker psrlq $1,%xmm0 268*8fb009dcSAndroid Build Coastguard Worker pxor %xmm1,%xmm0 269*8fb009dcSAndroid Build Coastguard Worker testl %ebx,%ebx 270*8fb009dcSAndroid Build Coastguard Worker jnz .L006done 271*8fb009dcSAndroid Build Coastguard Worker movups (%edx),%xmm2 272*8fb009dcSAndroid Build Coastguard Worker.L003odd_tail: 273*8fb009dcSAndroid Build Coastguard Worker movdqu (%esi),%xmm3 274*8fb009dcSAndroid Build Coastguard Worker.byte 102,15,56,0,221 275*8fb009dcSAndroid Build Coastguard Worker pxor %xmm3,%xmm0 276*8fb009dcSAndroid Build Coastguard Worker movdqa %xmm0,%xmm1 277*8fb009dcSAndroid Build Coastguard Worker pshufd $78,%xmm0,%xmm3 278*8fb009dcSAndroid Build Coastguard Worker pshufd $78,%xmm2,%xmm4 279*8fb009dcSAndroid Build Coastguard Worker pxor %xmm0,%xmm3 280*8fb009dcSAndroid Build Coastguard Worker pxor %xmm2,%xmm4 281*8fb009dcSAndroid Build Coastguard Worker.byte 102,15,58,68,194,0 282*8fb009dcSAndroid Build Coastguard Worker.byte 102,15,58,68,202,17 283*8fb009dcSAndroid Build Coastguard Worker.byte 102,15,58,68,220,0 284*8fb009dcSAndroid Build Coastguard Worker xorps %xmm0,%xmm3 285*8fb009dcSAndroid Build Coastguard Worker xorps %xmm1,%xmm3 286*8fb009dcSAndroid Build Coastguard Worker movdqa %xmm3,%xmm4 287*8fb009dcSAndroid Build Coastguard Worker psrldq $8,%xmm3 288*8fb009dcSAndroid Build Coastguard Worker pslldq $8,%xmm4 289*8fb009dcSAndroid Build Coastguard Worker pxor %xmm3,%xmm1 290*8fb009dcSAndroid Build Coastguard Worker pxor %xmm4,%xmm0 291*8fb009dcSAndroid Build Coastguard Worker movdqa %xmm0,%xmm4 292*8fb009dcSAndroid Build Coastguard Worker movdqa %xmm0,%xmm3 293*8fb009dcSAndroid Build Coastguard Worker psllq $5,%xmm0 294*8fb009dcSAndroid Build Coastguard Worker pxor %xmm0,%xmm3 295*8fb009dcSAndroid Build Coastguard Worker psllq $1,%xmm0 296*8fb009dcSAndroid Build Coastguard Worker pxor %xmm3,%xmm0 297*8fb009dcSAndroid Build Coastguard Worker psllq $57,%xmm0 298*8fb009dcSAndroid Build Coastguard Worker movdqa %xmm0,%xmm3 299*8fb009dcSAndroid Build Coastguard Worker pslldq $8,%xmm0 300*8fb009dcSAndroid Build Coastguard Worker psrldq $8,%xmm3 301*8fb009dcSAndroid Build Coastguard Worker pxor %xmm4,%xmm0 302*8fb009dcSAndroid Build Coastguard Worker pxor %xmm3,%xmm1 303*8fb009dcSAndroid Build Coastguard Worker movdqa %xmm0,%xmm4 304*8fb009dcSAndroid Build Coastguard Worker psrlq $1,%xmm0 305*8fb009dcSAndroid Build Coastguard Worker pxor %xmm4,%xmm1 306*8fb009dcSAndroid Build Coastguard Worker pxor %xmm0,%xmm4 307*8fb009dcSAndroid Build Coastguard Worker psrlq $5,%xmm0 308*8fb009dcSAndroid Build Coastguard Worker pxor %xmm4,%xmm0 309*8fb009dcSAndroid Build Coastguard Worker psrlq $1,%xmm0 310*8fb009dcSAndroid Build Coastguard Worker pxor %xmm1,%xmm0 311*8fb009dcSAndroid Build Coastguard Worker.L006done: 312*8fb009dcSAndroid Build Coastguard Worker.byte 102,15,56,0,197 313*8fb009dcSAndroid Build Coastguard Worker movdqu %xmm0,(%eax) 314*8fb009dcSAndroid Build Coastguard Worker popl %edi 315*8fb009dcSAndroid Build Coastguard Worker popl %esi 316*8fb009dcSAndroid Build Coastguard Worker popl %ebx 317*8fb009dcSAndroid Build Coastguard Worker popl %ebp 318*8fb009dcSAndroid Build Coastguard Worker ret 319*8fb009dcSAndroid Build Coastguard Worker.size gcm_ghash_clmul,.-.L_gcm_ghash_clmul_begin 320*8fb009dcSAndroid Build Coastguard Worker.align 64 321*8fb009dcSAndroid Build Coastguard Worker.Lbswap: 322*8fb009dcSAndroid Build Coastguard Worker.byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 323*8fb009dcSAndroid Build Coastguard Worker.byte 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194 324*8fb009dcSAndroid Build Coastguard Worker.byte 71,72,65,83,72,32,102,111,114,32,120,56,54,44,32,67 325*8fb009dcSAndroid Build Coastguard Worker.byte 82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112 326*8fb009dcSAndroid Build Coastguard Worker.byte 112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62 327*8fb009dcSAndroid Build Coastguard Worker.byte 0 328*8fb009dcSAndroid Build Coastguard Worker#endif // !defined(OPENSSL_NO_ASM) && defined(OPENSSL_X86) && defined(__ELF__) 329