| // This file is generated from a similarly-named Perl script in the BoringSSL | 
 | // source tree. Do not edit by hand. | 
 |  | 
 | #include <openssl/asm_base.h> | 
 |  | 
 | #if !defined(OPENSSL_NO_ASM) && defined(OPENSSL_X86) && defined(__ELF__) | 
 | .text | 
 | .globl	gcm_gmult_ssse3 | 
 | .hidden	gcm_gmult_ssse3 | 
 | .type	gcm_gmult_ssse3,@function | 
 | .align	16 | 
 | gcm_gmult_ssse3: | 
 | .L_gcm_gmult_ssse3_begin: | 
 | 	pushl	%ebp | 
 | 	pushl	%ebx | 
 | 	pushl	%esi | 
 | 	pushl	%edi | 
 | 	movl	20(%esp),%edi | 
 | 	movl	24(%esp),%esi | 
 | 	movdqu	(%edi),%xmm0 | 
 | 	call	.L000pic_point | 
 | .L000pic_point: | 
 | 	popl	%eax | 
 | 	movdqa	.Lreverse_bytes-.L000pic_point(%eax),%xmm7 | 
 | 	movdqa	.Llow4_mask-.L000pic_point(%eax),%xmm2 | 
 | .byte	102,15,56,0,199 | 
 | 	movdqa	%xmm2,%xmm1 | 
 | 	pandn	%xmm0,%xmm1 | 
 | 	psrld	$4,%xmm1 | 
 | 	pand	%xmm2,%xmm0 | 
 | 	pxor	%xmm2,%xmm2 | 
 | 	pxor	%xmm3,%xmm3 | 
 | 	movl	$5,%eax | 
 | .L001loop_row_1: | 
 | 	movdqa	(%esi),%xmm4 | 
 | 	leal	16(%esi),%esi | 
 | 	movdqa	%xmm2,%xmm6 | 
 | .byte	102,15,58,15,243,1 | 
 | 	movdqa	%xmm6,%xmm3 | 
 | 	psrldq	$1,%xmm2 | 
 | 	movdqa	%xmm4,%xmm5 | 
 | .byte	102,15,56,0,224 | 
 | .byte	102,15,56,0,233 | 
 | 	pxor	%xmm5,%xmm2 | 
 | 	movdqa	%xmm4,%xmm5 | 
 | 	psllq	$60,%xmm5 | 
 | 	movdqa	%xmm5,%xmm6 | 
 | 	pslldq	$8,%xmm6 | 
 | 	pxor	%xmm6,%xmm3 | 
 | 	psrldq	$8,%xmm5 | 
 | 	pxor	%xmm5,%xmm2 | 
 | 	psrlq	$4,%xmm4 | 
 | 	pxor	%xmm4,%xmm2 | 
 | 	subl	$1,%eax | 
 | 	jnz	.L001loop_row_1 | 
 | 	pxor	%xmm3,%xmm2 | 
 | 	psrlq	$1,%xmm3 | 
 | 	pxor	%xmm3,%xmm2 | 
 | 	psrlq	$1,%xmm3 | 
 | 	pxor	%xmm3,%xmm2 | 
 | 	psrlq	$5,%xmm3 | 
 | 	pxor	%xmm3,%xmm2 | 
 | 	pxor	%xmm3,%xmm3 | 
 | 	movl	$5,%eax | 
 | .L002loop_row_2: | 
 | 	movdqa	(%esi),%xmm4 | 
 | 	leal	16(%esi),%esi | 
 | 	movdqa	%xmm2,%xmm6 | 
 | .byte	102,15,58,15,243,1 | 
 | 	movdqa	%xmm6,%xmm3 | 
 | 	psrldq	$1,%xmm2 | 
 | 	movdqa	%xmm4,%xmm5 | 
 | .byte	102,15,56,0,224 | 
 | .byte	102,15,56,0,233 | 
 | 	pxor	%xmm5,%xmm2 | 
 | 	movdqa	%xmm4,%xmm5 | 
 | 	psllq	$60,%xmm5 | 
 | 	movdqa	%xmm5,%xmm6 | 
 | 	pslldq	$8,%xmm6 | 
 | 	pxor	%xmm6,%xmm3 | 
 | 	psrldq	$8,%xmm5 | 
 | 	pxor	%xmm5,%xmm2 | 
 | 	psrlq	$4,%xmm4 | 
 | 	pxor	%xmm4,%xmm2 | 
 | 	subl	$1,%eax | 
 | 	jnz	.L002loop_row_2 | 
 | 	pxor	%xmm3,%xmm2 | 
 | 	psrlq	$1,%xmm3 | 
 | 	pxor	%xmm3,%xmm2 | 
 | 	psrlq	$1,%xmm3 | 
 | 	pxor	%xmm3,%xmm2 | 
 | 	psrlq	$5,%xmm3 | 
 | 	pxor	%xmm3,%xmm2 | 
 | 	pxor	%xmm3,%xmm3 | 
 | 	movl	$6,%eax | 
 | .L003loop_row_3: | 
 | 	movdqa	(%esi),%xmm4 | 
 | 	leal	16(%esi),%esi | 
 | 	movdqa	%xmm2,%xmm6 | 
 | .byte	102,15,58,15,243,1 | 
 | 	movdqa	%xmm6,%xmm3 | 
 | 	psrldq	$1,%xmm2 | 
 | 	movdqa	%xmm4,%xmm5 | 
 | .byte	102,15,56,0,224 | 
 | .byte	102,15,56,0,233 | 
 | 	pxor	%xmm5,%xmm2 | 
 | 	movdqa	%xmm4,%xmm5 | 
 | 	psllq	$60,%xmm5 | 
 | 	movdqa	%xmm5,%xmm6 | 
 | 	pslldq	$8,%xmm6 | 
 | 	pxor	%xmm6,%xmm3 | 
 | 	psrldq	$8,%xmm5 | 
 | 	pxor	%xmm5,%xmm2 | 
 | 	psrlq	$4,%xmm4 | 
 | 	pxor	%xmm4,%xmm2 | 
 | 	subl	$1,%eax | 
 | 	jnz	.L003loop_row_3 | 
 | 	pxor	%xmm3,%xmm2 | 
 | 	psrlq	$1,%xmm3 | 
 | 	pxor	%xmm3,%xmm2 | 
 | 	psrlq	$1,%xmm3 | 
 | 	pxor	%xmm3,%xmm2 | 
 | 	psrlq	$5,%xmm3 | 
 | 	pxor	%xmm3,%xmm2 | 
 | 	pxor	%xmm3,%xmm3 | 
 | .byte	102,15,56,0,215 | 
 | 	movdqu	%xmm2,(%edi) | 
 | 	pxor	%xmm0,%xmm0 | 
 | 	pxor	%xmm1,%xmm1 | 
 | 	pxor	%xmm2,%xmm2 | 
 | 	pxor	%xmm3,%xmm3 | 
 | 	pxor	%xmm4,%xmm4 | 
 | 	pxor	%xmm5,%xmm5 | 
 | 	pxor	%xmm6,%xmm6 | 
 | 	popl	%edi | 
 | 	popl	%esi | 
 | 	popl	%ebx | 
 | 	popl	%ebp | 
 | 	ret | 
 | .size	gcm_gmult_ssse3,.-.L_gcm_gmult_ssse3_begin | 
 | .globl	gcm_ghash_ssse3 | 
 | .hidden	gcm_ghash_ssse3 | 
 | .type	gcm_ghash_ssse3,@function | 
 | .align	16 | 
 | gcm_ghash_ssse3: | 
 | .L_gcm_ghash_ssse3_begin: | 
 | 	pushl	%ebp | 
 | 	pushl	%ebx | 
 | 	pushl	%esi | 
 | 	pushl	%edi | 
 | 	movl	20(%esp),%edi | 
 | 	movl	24(%esp),%esi | 
 | 	movl	28(%esp),%edx | 
 | 	movl	32(%esp),%ecx | 
 | 	movdqu	(%edi),%xmm0 | 
 | 	call	.L004pic_point | 
 | .L004pic_point: | 
 | 	popl	%ebx | 
 | 	movdqa	.Lreverse_bytes-.L004pic_point(%ebx),%xmm7 | 
 | 	andl	$-16,%ecx | 
 | .byte	102,15,56,0,199 | 
 | 	pxor	%xmm3,%xmm3 | 
 | .L005loop_ghash: | 
 | 	movdqa	.Llow4_mask-.L004pic_point(%ebx),%xmm2 | 
 | 	movdqu	(%edx),%xmm1 | 
 | .byte	102,15,56,0,207 | 
 | 	pxor	%xmm1,%xmm0 | 
 | 	movdqa	%xmm2,%xmm1 | 
 | 	pandn	%xmm0,%xmm1 | 
 | 	psrld	$4,%xmm1 | 
 | 	pand	%xmm2,%xmm0 | 
 | 	pxor	%xmm2,%xmm2 | 
 | 	movl	$5,%eax | 
 | .L006loop_row_4: | 
 | 	movdqa	(%esi),%xmm4 | 
 | 	leal	16(%esi),%esi | 
 | 	movdqa	%xmm2,%xmm6 | 
 | .byte	102,15,58,15,243,1 | 
 | 	movdqa	%xmm6,%xmm3 | 
 | 	psrldq	$1,%xmm2 | 
 | 	movdqa	%xmm4,%xmm5 | 
 | .byte	102,15,56,0,224 | 
 | .byte	102,15,56,0,233 | 
 | 	pxor	%xmm5,%xmm2 | 
 | 	movdqa	%xmm4,%xmm5 | 
 | 	psllq	$60,%xmm5 | 
 | 	movdqa	%xmm5,%xmm6 | 
 | 	pslldq	$8,%xmm6 | 
 | 	pxor	%xmm6,%xmm3 | 
 | 	psrldq	$8,%xmm5 | 
 | 	pxor	%xmm5,%xmm2 | 
 | 	psrlq	$4,%xmm4 | 
 | 	pxor	%xmm4,%xmm2 | 
 | 	subl	$1,%eax | 
 | 	jnz	.L006loop_row_4 | 
 | 	pxor	%xmm3,%xmm2 | 
 | 	psrlq	$1,%xmm3 | 
 | 	pxor	%xmm3,%xmm2 | 
 | 	psrlq	$1,%xmm3 | 
 | 	pxor	%xmm3,%xmm2 | 
 | 	psrlq	$5,%xmm3 | 
 | 	pxor	%xmm3,%xmm2 | 
 | 	pxor	%xmm3,%xmm3 | 
 | 	movl	$5,%eax | 
 | .L007loop_row_5: | 
 | 	movdqa	(%esi),%xmm4 | 
 | 	leal	16(%esi),%esi | 
 | 	movdqa	%xmm2,%xmm6 | 
 | .byte	102,15,58,15,243,1 | 
 | 	movdqa	%xmm6,%xmm3 | 
 | 	psrldq	$1,%xmm2 | 
 | 	movdqa	%xmm4,%xmm5 | 
 | .byte	102,15,56,0,224 | 
 | .byte	102,15,56,0,233 | 
 | 	pxor	%xmm5,%xmm2 | 
 | 	movdqa	%xmm4,%xmm5 | 
 | 	psllq	$60,%xmm5 | 
 | 	movdqa	%xmm5,%xmm6 | 
 | 	pslldq	$8,%xmm6 | 
 | 	pxor	%xmm6,%xmm3 | 
 | 	psrldq	$8,%xmm5 | 
 | 	pxor	%xmm5,%xmm2 | 
 | 	psrlq	$4,%xmm4 | 
 | 	pxor	%xmm4,%xmm2 | 
 | 	subl	$1,%eax | 
 | 	jnz	.L007loop_row_5 | 
 | 	pxor	%xmm3,%xmm2 | 
 | 	psrlq	$1,%xmm3 | 
 | 	pxor	%xmm3,%xmm2 | 
 | 	psrlq	$1,%xmm3 | 
 | 	pxor	%xmm3,%xmm2 | 
 | 	psrlq	$5,%xmm3 | 
 | 	pxor	%xmm3,%xmm2 | 
 | 	pxor	%xmm3,%xmm3 | 
 | 	movl	$6,%eax | 
 | .L008loop_row_6: | 
 | 	movdqa	(%esi),%xmm4 | 
 | 	leal	16(%esi),%esi | 
 | 	movdqa	%xmm2,%xmm6 | 
 | .byte	102,15,58,15,243,1 | 
 | 	movdqa	%xmm6,%xmm3 | 
 | 	psrldq	$1,%xmm2 | 
 | 	movdqa	%xmm4,%xmm5 | 
 | .byte	102,15,56,0,224 | 
 | .byte	102,15,56,0,233 | 
 | 	pxor	%xmm5,%xmm2 | 
 | 	movdqa	%xmm4,%xmm5 | 
 | 	psllq	$60,%xmm5 | 
 | 	movdqa	%xmm5,%xmm6 | 
 | 	pslldq	$8,%xmm6 | 
 | 	pxor	%xmm6,%xmm3 | 
 | 	psrldq	$8,%xmm5 | 
 | 	pxor	%xmm5,%xmm2 | 
 | 	psrlq	$4,%xmm4 | 
 | 	pxor	%xmm4,%xmm2 | 
 | 	subl	$1,%eax | 
 | 	jnz	.L008loop_row_6 | 
 | 	pxor	%xmm3,%xmm2 | 
 | 	psrlq	$1,%xmm3 | 
 | 	pxor	%xmm3,%xmm2 | 
 | 	psrlq	$1,%xmm3 | 
 | 	pxor	%xmm3,%xmm2 | 
 | 	psrlq	$5,%xmm3 | 
 | 	pxor	%xmm3,%xmm2 | 
 | 	pxor	%xmm3,%xmm3 | 
 | 	movdqa	%xmm2,%xmm0 | 
 | 	leal	-256(%esi),%esi | 
 | 	leal	16(%edx),%edx | 
 | 	subl	$16,%ecx | 
 | 	jnz	.L005loop_ghash | 
 | .byte	102,15,56,0,199 | 
 | 	movdqu	%xmm0,(%edi) | 
 | 	pxor	%xmm0,%xmm0 | 
 | 	pxor	%xmm1,%xmm1 | 
 | 	pxor	%xmm2,%xmm2 | 
 | 	pxor	%xmm3,%xmm3 | 
 | 	pxor	%xmm4,%xmm4 | 
 | 	pxor	%xmm5,%xmm5 | 
 | 	pxor	%xmm6,%xmm6 | 
 | 	popl	%edi | 
 | 	popl	%esi | 
 | 	popl	%ebx | 
 | 	popl	%ebp | 
 | 	ret | 
 | .size	gcm_ghash_ssse3,.-.L_gcm_ghash_ssse3_begin | 
 | .align	16 | 
 | .Lreverse_bytes: | 
 | .byte	15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 | 
 | .align	16 | 
 | .Llow4_mask: | 
 | .long	252645135,252645135,252645135,252645135 | 
 | #endif  // !defined(OPENSSL_NO_ASM) && defined(OPENSSL_X86) && defined(__ELF__) |