| ; This file is generated from a similarly-named Perl script in the BoringSSL | 
 | ; source tree. Do not edit by hand. | 
 |  | 
 | %ifdef BORINGSSL_PREFIX | 
 | %include "boringssl_prefix_symbols_nasm.inc" | 
 | %endif | 
 | %ifidn __OUTPUT_FORMAT__, win32 | 
 | %ifidn __OUTPUT_FORMAT__,obj | 
 | section	code	use32 class=code align=64 | 
 | %elifidn __OUTPUT_FORMAT__,win32 | 
 | $@feat.00 equ 1 | 
 | section	.text	code align=64 | 
 | %else | 
 | section	.text	code | 
 | %endif | 
 | global	_gcm_gmult_ssse3 | 
 | align	16 | 
 | _gcm_gmult_ssse3: | 
 | L$_gcm_gmult_ssse3_begin: | 
 | 	push	ebp | 
 | 	push	ebx | 
 | 	push	esi | 
 | 	push	edi | 
 | 	mov	edi,DWORD [20+esp] | 
 | 	mov	esi,DWORD [24+esp] | 
 | 	movdqu	xmm0,[edi] | 
 | 	call	L$000pic_point | 
 | L$000pic_point: | 
 | 	pop	eax | 
 | 	movdqa	xmm7,[(L$reverse_bytes-L$000pic_point)+eax] | 
 | 	movdqa	xmm2,[(L$low4_mask-L$000pic_point)+eax] | 
 | db	102,15,56,0,199 | 
 | 	movdqa	xmm1,xmm2 | 
 | 	pandn	xmm1,xmm0 | 
 | 	psrld	xmm1,4 | 
 | 	pand	xmm0,xmm2 | 
 | 	pxor	xmm2,xmm2 | 
 | 	pxor	xmm3,xmm3 | 
 | 	mov	eax,5 | 
 | L$001loop_row_1: | 
 | 	movdqu	xmm4,[esi] | 
 | 	lea	esi,[16+esi] | 
 | 	movdqa	xmm6,xmm2 | 
 | db	102,15,58,15,243,1 | 
 | 	movdqa	xmm3,xmm6 | 
 | 	psrldq	xmm2,1 | 
 | 	movdqa	xmm5,xmm4 | 
 | db	102,15,56,0,224 | 
 | db	102,15,56,0,233 | 
 | 	pxor	xmm2,xmm5 | 
 | 	movdqa	xmm5,xmm4 | 
 | 	psllq	xmm5,60 | 
 | 	movdqa	xmm6,xmm5 | 
 | 	pslldq	xmm6,8 | 
 | 	pxor	xmm3,xmm6 | 
 | 	psrldq	xmm5,8 | 
 | 	pxor	xmm2,xmm5 | 
 | 	psrlq	xmm4,4 | 
 | 	pxor	xmm2,xmm4 | 
 | 	sub	eax,1 | 
 | 	jnz	NEAR L$001loop_row_1 | 
 | 	pxor	xmm2,xmm3 | 
 | 	psrlq	xmm3,1 | 
 | 	pxor	xmm2,xmm3 | 
 | 	psrlq	xmm3,1 | 
 | 	pxor	xmm2,xmm3 | 
 | 	psrlq	xmm3,5 | 
 | 	pxor	xmm2,xmm3 | 
 | 	pxor	xmm3,xmm3 | 
 | 	mov	eax,5 | 
 | L$002loop_row_2: | 
 | 	movdqu	xmm4,[esi] | 
 | 	lea	esi,[16+esi] | 
 | 	movdqa	xmm6,xmm2 | 
 | db	102,15,58,15,243,1 | 
 | 	movdqa	xmm3,xmm6 | 
 | 	psrldq	xmm2,1 | 
 | 	movdqa	xmm5,xmm4 | 
 | db	102,15,56,0,224 | 
 | db	102,15,56,0,233 | 
 | 	pxor	xmm2,xmm5 | 
 | 	movdqa	xmm5,xmm4 | 
 | 	psllq	xmm5,60 | 
 | 	movdqa	xmm6,xmm5 | 
 | 	pslldq	xmm6,8 | 
 | 	pxor	xmm3,xmm6 | 
 | 	psrldq	xmm5,8 | 
 | 	pxor	xmm2,xmm5 | 
 | 	psrlq	xmm4,4 | 
 | 	pxor	xmm2,xmm4 | 
 | 	sub	eax,1 | 
 | 	jnz	NEAR L$002loop_row_2 | 
 | 	pxor	xmm2,xmm3 | 
 | 	psrlq	xmm3,1 | 
 | 	pxor	xmm2,xmm3 | 
 | 	psrlq	xmm3,1 | 
 | 	pxor	xmm2,xmm3 | 
 | 	psrlq	xmm3,5 | 
 | 	pxor	xmm2,xmm3 | 
 | 	pxor	xmm3,xmm3 | 
 | 	mov	eax,6 | 
 | L$003loop_row_3: | 
 | 	movdqu	xmm4,[esi] | 
 | 	lea	esi,[16+esi] | 
 | 	movdqa	xmm6,xmm2 | 
 | db	102,15,58,15,243,1 | 
 | 	movdqa	xmm3,xmm6 | 
 | 	psrldq	xmm2,1 | 
 | 	movdqa	xmm5,xmm4 | 
 | db	102,15,56,0,224 | 
 | db	102,15,56,0,233 | 
 | 	pxor	xmm2,xmm5 | 
 | 	movdqa	xmm5,xmm4 | 
 | 	psllq	xmm5,60 | 
 | 	movdqa	xmm6,xmm5 | 
 | 	pslldq	xmm6,8 | 
 | 	pxor	xmm3,xmm6 | 
 | 	psrldq	xmm5,8 | 
 | 	pxor	xmm2,xmm5 | 
 | 	psrlq	xmm4,4 | 
 | 	pxor	xmm2,xmm4 | 
 | 	sub	eax,1 | 
 | 	jnz	NEAR L$003loop_row_3 | 
 | 	pxor	xmm2,xmm3 | 
 | 	psrlq	xmm3,1 | 
 | 	pxor	xmm2,xmm3 | 
 | 	psrlq	xmm3,1 | 
 | 	pxor	xmm2,xmm3 | 
 | 	psrlq	xmm3,5 | 
 | 	pxor	xmm2,xmm3 | 
 | 	pxor	xmm3,xmm3 | 
 | db	102,15,56,0,215 | 
 | 	movdqu	[edi],xmm2 | 
 | 	pxor	xmm0,xmm0 | 
 | 	pxor	xmm1,xmm1 | 
 | 	pxor	xmm2,xmm2 | 
 | 	pxor	xmm3,xmm3 | 
 | 	pxor	xmm4,xmm4 | 
 | 	pxor	xmm5,xmm5 | 
 | 	pxor	xmm6,xmm6 | 
 | 	pop	edi | 
 | 	pop	esi | 
 | 	pop	ebx | 
 | 	pop	ebp | 
 | 	ret | 
 | global	_gcm_ghash_ssse3 | 
 | align	16 | 
 | _gcm_ghash_ssse3: | 
 | L$_gcm_ghash_ssse3_begin: | 
 | 	push	ebp | 
 | 	push	ebx | 
 | 	push	esi | 
 | 	push	edi | 
 | 	mov	edi,DWORD [20+esp] | 
 | 	mov	esi,DWORD [24+esp] | 
 | 	mov	edx,DWORD [28+esp] | 
 | 	mov	ecx,DWORD [32+esp] | 
 | 	movdqu	xmm0,[edi] | 
 | 	call	L$004pic_point | 
 | L$004pic_point: | 
 | 	pop	ebx | 
 | 	movdqa	xmm7,[(L$reverse_bytes-L$004pic_point)+ebx] | 
 | 	and	ecx,-16 | 
 | db	102,15,56,0,199 | 
 | 	pxor	xmm3,xmm3 | 
 | L$005loop_ghash: | 
 | 	movdqa	xmm2,[(L$low4_mask-L$004pic_point)+ebx] | 
 | 	movdqu	xmm1,[edx] | 
 | db	102,15,56,0,207 | 
 | 	pxor	xmm0,xmm1 | 
 | 	movdqa	xmm1,xmm2 | 
 | 	pandn	xmm1,xmm0 | 
 | 	psrld	xmm1,4 | 
 | 	pand	xmm0,xmm2 | 
 | 	pxor	xmm2,xmm2 | 
 | 	mov	eax,5 | 
 | L$006loop_row_4: | 
 | 	movdqu	xmm4,[esi] | 
 | 	lea	esi,[16+esi] | 
 | 	movdqa	xmm6,xmm2 | 
 | db	102,15,58,15,243,1 | 
 | 	movdqa	xmm3,xmm6 | 
 | 	psrldq	xmm2,1 | 
 | 	movdqa	xmm5,xmm4 | 
 | db	102,15,56,0,224 | 
 | db	102,15,56,0,233 | 
 | 	pxor	xmm2,xmm5 | 
 | 	movdqa	xmm5,xmm4 | 
 | 	psllq	xmm5,60 | 
 | 	movdqa	xmm6,xmm5 | 
 | 	pslldq	xmm6,8 | 
 | 	pxor	xmm3,xmm6 | 
 | 	psrldq	xmm5,8 | 
 | 	pxor	xmm2,xmm5 | 
 | 	psrlq	xmm4,4 | 
 | 	pxor	xmm2,xmm4 | 
 | 	sub	eax,1 | 
 | 	jnz	NEAR L$006loop_row_4 | 
 | 	pxor	xmm2,xmm3 | 
 | 	psrlq	xmm3,1 | 
 | 	pxor	xmm2,xmm3 | 
 | 	psrlq	xmm3,1 | 
 | 	pxor	xmm2,xmm3 | 
 | 	psrlq	xmm3,5 | 
 | 	pxor	xmm2,xmm3 | 
 | 	pxor	xmm3,xmm3 | 
 | 	mov	eax,5 | 
 | L$007loop_row_5: | 
 | 	movdqu	xmm4,[esi] | 
 | 	lea	esi,[16+esi] | 
 | 	movdqa	xmm6,xmm2 | 
 | db	102,15,58,15,243,1 | 
 | 	movdqa	xmm3,xmm6 | 
 | 	psrldq	xmm2,1 | 
 | 	movdqa	xmm5,xmm4 | 
 | db	102,15,56,0,224 | 
 | db	102,15,56,0,233 | 
 | 	pxor	xmm2,xmm5 | 
 | 	movdqa	xmm5,xmm4 | 
 | 	psllq	xmm5,60 | 
 | 	movdqa	xmm6,xmm5 | 
 | 	pslldq	xmm6,8 | 
 | 	pxor	xmm3,xmm6 | 
 | 	psrldq	xmm5,8 | 
 | 	pxor	xmm2,xmm5 | 
 | 	psrlq	xmm4,4 | 
 | 	pxor	xmm2,xmm4 | 
 | 	sub	eax,1 | 
 | 	jnz	NEAR L$007loop_row_5 | 
 | 	pxor	xmm2,xmm3 | 
 | 	psrlq	xmm3,1 | 
 | 	pxor	xmm2,xmm3 | 
 | 	psrlq	xmm3,1 | 
 | 	pxor	xmm2,xmm3 | 
 | 	psrlq	xmm3,5 | 
 | 	pxor	xmm2,xmm3 | 
 | 	pxor	xmm3,xmm3 | 
 | 	mov	eax,6 | 
 | L$008loop_row_6: | 
 | 	movdqu	xmm4,[esi] | 
 | 	lea	esi,[16+esi] | 
 | 	movdqa	xmm6,xmm2 | 
 | db	102,15,58,15,243,1 | 
 | 	movdqa	xmm3,xmm6 | 
 | 	psrldq	xmm2,1 | 
 | 	movdqa	xmm5,xmm4 | 
 | db	102,15,56,0,224 | 
 | db	102,15,56,0,233 | 
 | 	pxor	xmm2,xmm5 | 
 | 	movdqa	xmm5,xmm4 | 
 | 	psllq	xmm5,60 | 
 | 	movdqa	xmm6,xmm5 | 
 | 	pslldq	xmm6,8 | 
 | 	pxor	xmm3,xmm6 | 
 | 	psrldq	xmm5,8 | 
 | 	pxor	xmm2,xmm5 | 
 | 	psrlq	xmm4,4 | 
 | 	pxor	xmm2,xmm4 | 
 | 	sub	eax,1 | 
 | 	jnz	NEAR L$008loop_row_6 | 
 | 	pxor	xmm2,xmm3 | 
 | 	psrlq	xmm3,1 | 
 | 	pxor	xmm2,xmm3 | 
 | 	psrlq	xmm3,1 | 
 | 	pxor	xmm2,xmm3 | 
 | 	psrlq	xmm3,5 | 
 | 	pxor	xmm2,xmm3 | 
 | 	pxor	xmm3,xmm3 | 
 | 	movdqa	xmm0,xmm2 | 
 | 	lea	esi,[esi-256] | 
 | 	lea	edx,[16+edx] | 
 | 	sub	ecx,16 | 
 | 	jnz	NEAR L$005loop_ghash | 
 | db	102,15,56,0,199 | 
 | 	movdqu	[edi],xmm0 | 
 | 	pxor	xmm0,xmm0 | 
 | 	pxor	xmm1,xmm1 | 
 | 	pxor	xmm2,xmm2 | 
 | 	pxor	xmm3,xmm3 | 
 | 	pxor	xmm4,xmm4 | 
 | 	pxor	xmm5,xmm5 | 
 | 	pxor	xmm6,xmm6 | 
 | 	pop	edi | 
 | 	pop	esi | 
 | 	pop	ebx | 
 | 	pop	ebp | 
 | 	ret | 
 | align	16 | 
 | L$reverse_bytes: | 
 | db	15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 | 
 | align	16 | 
 | L$low4_mask: | 
 | dd	252645135,252645135,252645135,252645135 | 
 | %else | 
 | ; Work around https://bugzilla.nasm.us/show_bug.cgi?id=3392738 | 
 | ret | 
 | %endif |