#if defined(lint) || defined(__lint)
#include <sys/stdint.h>
#include <sys/sha1.h>

/* ARGSUSED */
void
sha1_block_data_order(SHA1_CTX *ctx, const void *inpp, size_t blocks)
{
}

#else
#include <sys/asm_linkage.h>
ENTRY_NP(sha1_block_data_order)
	push	%rbx
	push	%rbp
	push	%r12
	mov	%rsp,%rax
	mov	%rdi,%r8	# reassigned argument
	sub	$72,%rsp
	mov	%rsi,%r9	# reassigned argument
	and	$-64,%rsp
	mov	%rdx,%r10	# reassigned argument
	mov	%rax,64(%rsp)

	mov	0(%r8),%edx
	mov	4(%r8),%esi
	mov	8(%r8),%edi
	mov	12(%r8),%ebp
	mov	16(%r8),%r11d
.align	4
.Lloop:
	mov	0(%r9),%eax	
	bswap	%eax
	mov	%eax,0(%rsp)
	lea	0x5a827999(%eax,%r11d),%r12d
	mov	%edi,%ebx
	mov	4(%r9),%eax
	mov	%edx,%r11d
	xor	%ebp,%ebx
	bswap	%eax	
	rol	$5,%r11d
	and	%esi,%ebx
	mov	%eax,4(%rsp)
	add	%r11d,%r12d
	xor	%ebp,%ebx
	rol	$30,%esi
	add	%ebx,%r12d
	lea	0x5a827999(%eax,%ebp),%r11d
	mov	%esi,%ebx
	mov	8(%r9),%eax
	mov	%r12d,%ebp
	xor	%edi,%ebx
	bswap	%eax	
	rol	$5,%ebp
	and	%edx,%ebx
	mov	%eax,8(%rsp)
	add	%ebp,%r11d
	xor	%edi,%ebx
	rol	$30,%edx
	add	%ebx,%r11d
	lea	0x5a827999(%eax,%edi),%ebp
	mov	%edx,%ebx
	mov	12(%r9),%eax
	mov	%r11d,%edi
	xor	%esi,%ebx
	bswap	%eax	
	rol	$5,%edi
	and	%r12d,%ebx
	mov	%eax,12(%rsp)
	add	%edi,%ebp
	xor	%esi,%ebx
	rol	$30,%r12d
	add	%ebx,%ebp
	lea	0x5a827999(%eax,%esi),%edi
	mov	%r12d,%ebx
	mov	16(%r9),%eax
	mov	%ebp,%esi
	xor	%edx,%ebx
	bswap	%eax	
	rol	$5,%esi
	and	%r11d,%ebx
	mov	%eax,16(%rsp)
	add	%esi,%edi
	xor	%edx,%ebx
	rol	$30,%r11d
	add	%ebx,%edi
	lea	0x5a827999(%eax,%edx),%esi
	mov	%r11d,%ebx
	mov	20(%r9),%eax
	mov	%edi,%edx
	xor	%r12d,%ebx
	bswap	%eax	
	rol	$5,%edx
	and	%ebp,%ebx
	mov	%eax,20(%rsp)
	add	%edx,%esi
	xor	%r12d,%ebx
	rol	$30,%ebp
	add	%ebx,%esi
	lea	0x5a827999(%eax,%r12d),%edx
	mov	%ebp,%ebx
	mov	24(%r9),%eax
	mov	%esi,%r12d
	xor	%r11d,%ebx
	bswap	%eax	
	rol	$5,%r12d
	and	%edi,%ebx
	mov	%eax,24(%rsp)
	add	%r12d,%edx
	xor	%r11d,%ebx
	rol	$30,%edi
	add	%ebx,%edx
	lea	0x5a827999(%eax,%r11d),%r12d
	mov	%edi,%ebx
	mov	28(%r9),%eax
	mov	%edx,%r11d
	xor	%ebp,%ebx
	bswap	%eax	
	rol	$5,%r11d
	and	%esi,%ebx
	mov	%eax,28(%rsp)
	add	%r11d,%r12d
	xor	%ebp,%ebx
	rol	$30,%esi
	add	%ebx,%r12d
	lea	0x5a827999(%eax,%ebp),%r11d
	mov	%esi,%ebx
	mov	32(%r9),%eax
	mov	%r12d,%ebp
	xor	%edi,%ebx
	bswap	%eax	
	rol	$5,%ebp
	and	%edx,%ebx
	mov	%eax,32(%rsp)
	add	%ebp,%r11d
	xor	%edi,%ebx
	rol	$30,%edx
	add	%ebx,%r11d
	lea	0x5a827999(%eax,%edi),%ebp
	mov	%edx,%ebx
	mov	36(%r9),%eax
	mov	%r11d,%edi
	xor	%esi,%ebx
	bswap	%eax	
	rol	$5,%edi
	and	%r12d,%ebx
	mov	%eax,36(%rsp)
	add	%edi,%ebp
	xor	%esi,%ebx
	rol	$30,%r12d
	add	%ebx,%ebp
	lea	0x5a827999(%eax,%esi),%edi
	mov	%r12d,%ebx
	mov	40(%r9),%eax
	mov	%ebp,%esi
	xor	%edx,%ebx
	bswap	%eax	
	rol	$5,%esi
	and	%r11d,%ebx
	mov	%eax,40(%rsp)
	add	%esi,%edi
	xor	%edx,%ebx
	rol	$30,%r11d
	add	%ebx,%edi
	lea	0x5a827999(%eax,%edx),%esi
	mov	%r11d,%ebx
	mov	44(%r9),%eax
	mov	%edi,%edx
	xor	%r12d,%ebx
	bswap	%eax	
	rol	$5,%edx
	and	%ebp,%ebx
	mov	%eax,44(%rsp)
	add	%edx,%esi
	xor	%r12d,%ebx
	rol	$30,%ebp
	add	%ebx,%esi
	lea	0x5a827999(%eax,%r12d),%edx
	mov	%ebp,%ebx
	mov	48(%r9),%eax
	mov	%esi,%r12d
	xor	%r11d,%ebx
	bswap	%eax	
	rol	$5,%r12d
	and	%edi,%ebx
	mov	%eax,48(%rsp)
	add	%r12d,%edx
	xor	%r11d,%ebx
	rol	$30,%edi
	add	%ebx,%edx
	lea	0x5a827999(%eax,%r11d),%r12d
	mov	%edi,%ebx
	mov	52(%r9),%eax
	mov	%edx,%r11d
	xor	%ebp,%ebx
	bswap	%eax	
	rol	$5,%r11d
	and	%esi,%ebx
	mov	%eax,52(%rsp)
	add	%r11d,%r12d
	xor	%ebp,%ebx
	rol	$30,%esi
	add	%ebx,%r12d
	lea	0x5a827999(%eax,%ebp),%r11d
	mov	%esi,%ebx
	mov	56(%r9),%eax
	mov	%r12d,%ebp
	xor	%edi,%ebx
	bswap	%eax	
	rol	$5,%ebp
	and	%edx,%ebx
	mov	%eax,56(%rsp)
	add	%ebp,%r11d
	xor	%edi,%ebx
	rol	$30,%edx
	add	%ebx,%r11d
	lea	0x5a827999(%eax,%edi),%ebp
	mov	%edx,%ebx
	mov	60(%r9),%eax
	mov	%r11d,%edi
	xor	%esi,%ebx
	bswap	%eax	
	rol	$5,%edi
	and	%r12d,%ebx
	mov	%eax,60(%rsp)
	add	%edi,%ebp
	xor	%esi,%ebx
	rol	$30,%r12d
	add	%ebx,%ebp
	lea	0x5a827999(%eax,%esi),%edi
	mov	0(%rsp),%eax
	mov	%r12d,%ebx
	mov	%ebp,%esi
	xor	8(%rsp),%eax
	xor	%edx,%ebx
	rol	$5,%esi
	xor	32(%rsp),%eax
	and	%r11d,%ebx
	add	%esi,%edi
	xor	52(%rsp),%eax
	xor	%edx,%ebx
	rol	$30,%r11d
	add	%ebx,%edi
	rol	$1,%eax
	mov	%eax,0(%rsp)
	lea	0x5a827999(%eax,%edx),%esi
	mov	4(%rsp),%eax
	mov	%r11d,%ebx
	mov	%edi,%edx
	xor	12(%rsp),%eax
	xor	%r12d,%ebx
	rol	$5,%edx
	xor	36(%rsp),%eax
	and	%ebp,%ebx
	add	%edx,%esi
	xor	56(%rsp),%eax
	xor	%r12d,%ebx
	rol	$30,%ebp
	add	%ebx,%esi
	rol	$1,%eax
	mov	%eax,4(%rsp)
	lea	0x5a827999(%eax,%r12d),%edx
	mov	8(%rsp),%eax
	mov	%ebp,%ebx
	mov	%esi,%r12d
	xor	16(%rsp),%eax
	xor	%r11d,%ebx
	rol	$5,%r12d
	xor	40(%rsp),%eax
	and	%edi,%ebx
	add	%r12d,%edx
	xor	60(%rsp),%eax
	xor	%r11d,%ebx
	rol	$30,%edi
	add	%ebx,%edx
	rol	$1,%eax
	mov	%eax,8(%rsp)
	lea	0x5a827999(%eax,%r11d),%r12d
	mov	12(%rsp),%eax
	mov	%edi,%ebx
	mov	%edx,%r11d
	xor	20(%rsp),%eax
	xor	%ebp,%ebx
	rol	$5,%r11d
	xor	44(%rsp),%eax
	and	%esi,%ebx
	add	%r11d,%r12d
	xor	0(%rsp),%eax
	xor	%ebp,%ebx
	rol	$30,%esi
	add	%ebx,%r12d
	rol	$1,%eax
	mov	%eax,12(%rsp)
	lea	0x5a827999(%eax,%ebp),%r11d
	mov	16(%rsp),%eax
	mov	%esi,%ebx
	mov	%r12d,%ebp
	xor	24(%rsp),%eax
	xor	%edi,%ebx
	rol	$5,%ebp
	xor	48(%rsp),%eax
	and	%edx,%ebx
	add	%ebp,%r11d
	xor	4(%rsp),%eax
	xor	%edi,%ebx
	rol	$30,%edx
	add	%ebx,%r11d
	rol	$1,%eax
	mov	%eax,16(%rsp)
	lea	0x6ed9eba1(%eax,%edi),%ebp
	mov	20(%rsp),%eax
	mov	%edx,%ebx
	mov	%r11d,%edi
	xor	28(%rsp),%eax
	xor	%r12d,%ebx
	rol	$5,%edi
	xor	52(%rsp),%eax
	xor	%esi,%ebx
	add	%edi,%ebp
	xor	8(%rsp),%eax
	rol	$30,%r12d
	add	%ebx,%ebp
	rol	$1,%eax
	mov	%eax,20(%rsp)
	lea	0x6ed9eba1(%eax,%esi),%edi
	mov	24(%rsp),%eax
	mov	%r12d,%ebx
	mov	%ebp,%esi
	xor	32(%rsp),%eax
	xor	%r11d,%ebx
	rol	$5,%esi
	xor	56(%rsp),%eax
	xor	%edx,%ebx
	add	%esi,%edi
	xor	12(%rsp),%eax
	rol	$30,%r11d
	add	%ebx,%edi
	rol	$1,%eax
	mov	%eax,24(%rsp)
	lea	0x6ed9eba1(%eax,%edx),%esi
	mov	28(%rsp),%eax
	mov	%r11d,%ebx
	mov	%edi,%edx
	xor	36(%rsp),%eax
	xor	%ebp,%ebx
	rol	$5,%edx
	xor	60(%rsp),%eax
	xor	%r12d,%ebx
	add	%edx,%esi
	xor	16(%rsp),%eax
	rol	$30,%ebp
	add	%ebx,%esi
	rol	$1,%eax
	mov	%eax,28(%rsp)
	lea	0x6ed9eba1(%eax,%r12d),%edx
	mov	32(%rsp),%eax
	mov	%ebp,%ebx
	mov	%esi,%r12d
	xor	40(%rsp),%eax
	xor	%edi,%ebx
	rol	$5,%r12d
	xor	0(%rsp),%eax
	xor	%r11d,%ebx
	add	%r12d,%edx
	xor	20(%rsp),%eax
	rol	$30,%edi
	add	%ebx,%edx
	rol	$1,%eax
	mov	%eax,32(%rsp)
	lea	0x6ed9eba1(%eax,%r11d),%r12d
	mov	36(%rsp),%eax
	mov	%edi,%ebx
	mov	%edx,%r11d
	xor	44(%rsp),%eax
	xor	%esi,%ebx
	rol	$5,%r11d
	xor	4(%rsp),%eax
	xor	%ebp,%ebx
	add	%r11d,%r12d
	xor	24(%rsp),%eax
	rol	$30,%esi
	add	%ebx,%r12d
	rol	$1,%eax
	mov	%eax,36(%rsp)
	lea	0x6ed9eba1(%eax,%ebp),%r11d
	mov	40(%rsp),%eax
	mov	%esi,%ebx
	mov	%r12d,%ebp
	xor	48(%rsp),%eax
	xor	%edx,%ebx
	rol	$5,%ebp
	xor	8(%rsp),%eax
	xor	%edi,%ebx
	add	%ebp,%r11d
	xor	28(%rsp),%eax
	rol	$30,%edx
	add	%ebx,%r11d
	rol	$1,%eax
	mov	%eax,40(%rsp)
	lea	0x6ed9eba1(%eax,%edi),%ebp
	mov	44(%rsp),%eax
	mov	%edx,%ebx
	mov	%r11d,%edi
	xor	52(%rsp),%eax
	xor	%r12d,%ebx
	rol	$5,%edi
	xor	12(%rsp),%eax
	xor	%esi,%ebx
	add	%edi,%ebp
	xor	32(%rsp),%eax
	rol	$30,%r12d
	add	%ebx,%ebp
	rol	$1,%eax
	mov	%eax,44(%rsp)
	lea	0x6ed9eba1(%eax,%esi),%edi
	mov	48(%rsp),%eax
	mov	%r12d,%ebx
	mov	%ebp,%esi
	xor	56(%rsp),%eax
	xor	%r11d,%ebx
	rol	$5,%esi
	xor	16(%rsp),%eax
	xor	%edx,%ebx
	add	%esi,%edi
	xor	36(%rsp),%eax
	rol	$30,%r11d
	add	%ebx,%edi
	rol	$1,%eax
	mov	%eax,48(%rsp)
	lea	0x6ed9eba1(%eax,%edx),%esi
	mov	52(%rsp),%eax
	mov	%r11d,%ebx
	mov	%edi,%edx
	xor	60(%rsp),%eax
	xor	%ebp,%ebx
	rol	$5,%edx
	xor	20(%rsp),%eax
	xor	%r12d,%ebx
	add	%edx,%esi
	xor	40(%rsp),%eax
	rol	$30,%ebp
	add	%ebx,%esi
	rol	$1,%eax
	mov	%eax,52(%rsp)
	lea	0x6ed9eba1(%eax,%r12d),%edx
	mov	56(%rsp),%eax
	mov	%ebp,%ebx
	mov	%esi,%r12d
	xor	0(%rsp),%eax
	xor	%edi,%ebx
	rol	$5,%r12d
	xor	24(%rsp),%eax
	xor	%r11d,%ebx
	add	%r12d,%edx
	xor	44(%rsp),%eax
	rol	$30,%edi
	add	%ebx,%edx
	rol	$1,%eax
	mov	%eax,56(%rsp)
	lea	0x6ed9eba1(%eax,%r11d),%r12d
	mov	60(%rsp),%eax
	mov	%edi,%ebx
	mov	%edx,%r11d
	xor	4(%rsp),%eax
	xor	%esi,%ebx
	rol	$5,%r11d
	xor	28(%rsp),%eax
	xor	%ebp,%ebx
	add	%r11d,%r12d
	xor	48(%rsp),%eax
	rol	$30,%esi
	add	%ebx,%r12d
	rol	$1,%eax
	mov	%eax,60(%rsp)
	lea	0x6ed9eba1(%eax,%ebp),%r11d
	mov	0(%rsp),%eax
	mov	%esi,%ebx
	mov	%r12d,%ebp
	xor	8(%rsp),%eax
	xor	%edx,%ebx
	rol	$5,%ebp
	xor	32(%rsp),%eax
	xor	%edi,%ebx
	add	%ebp,%r11d
	xor	52(%rsp),%eax
	rol	$30,%edx
	add	%ebx,%r11d
	rol	$1,%eax
	mov	%eax,0(%rsp)
	lea	0x6ed9eba1(%eax,%edi),%ebp
	mov	4(%rsp),%eax
	mov	%edx,%ebx
	mov	%r11d,%edi
	xor	12(%rsp),%eax
	xor	%r12d,%ebx
	rol	$5,%edi
	xor	36(%rsp),%eax
	xor	%esi,%ebx
	add	%edi,%ebp
	xor	56(%rsp),%eax
	rol	$30,%r12d
	add	%ebx,%ebp
	rol	$1,%eax
	mov	%eax,4(%rsp)
	lea	0x6ed9eba1(%eax,%esi),%edi
	mov	8(%rsp),%eax
	mov	%r12d,%ebx
	mov	%ebp,%esi
	xor	16(%rsp),%eax
	xor	%r11d,%ebx
	rol	$5,%esi
	xor	40(%rsp),%eax
	xor	%edx,%ebx
	add	%esi,%edi
	xor	60(%rsp),%eax
	rol	$30,%r11d
	add	%ebx,%edi
	rol	$1,%eax
	mov	%eax,8(%rsp)
	lea	0x6ed9eba1(%eax,%edx),%esi
	mov	12(%rsp),%eax
	mov	%r11d,%ebx
	mov	%edi,%edx
	xor	20(%rsp),%eax
	xor	%ebp,%ebx
	rol	$5,%edx
	xor	44(%rsp),%eax
	xor	%r12d,%ebx
	add	%edx,%esi
	xor	0(%rsp),%eax
	rol	$30,%ebp
	add	%ebx,%esi
	rol	$1,%eax
	mov	%eax,12(%rsp)
	lea	0x6ed9eba1(%eax,%r12d),%edx
	mov	16(%rsp),%eax
	mov	%ebp,%ebx
	mov	%esi,%r12d
	xor	24(%rsp),%eax
	xor	%edi,%ebx
	rol	$5,%r12d
	xor	48(%rsp),%eax
	xor	%r11d,%ebx
	add	%r12d,%edx
	xor	4(%rsp),%eax
	rol	$30,%edi
	add	%ebx,%edx
	rol	$1,%eax
	mov	%eax,16(%rsp)
	lea	0x6ed9eba1(%eax,%r11d),%r12d
	mov	20(%rsp),%eax
	mov	%edi,%ebx
	mov	%edx,%r11d
	xor	28(%rsp),%eax
	xor	%esi,%ebx
	rol	$5,%r11d
	xor	52(%rsp),%eax
	xor	%ebp,%ebx
	add	%r11d,%r12d
	xor	8(%rsp),%eax
	rol	$30,%esi
	add	%ebx,%r12d
	rol	$1,%eax
	mov	%eax,20(%rsp)
	lea	0x6ed9eba1(%eax,%ebp),%r11d
	mov	24(%rsp),%eax
	mov	%esi,%ebx
	mov	%r12d,%ebp
	xor	32(%rsp),%eax
	xor	%edx,%ebx
	rol	$5,%ebp
	xor	56(%rsp),%eax
	xor	%edi,%ebx
	add	%ebp,%r11d
	xor	12(%rsp),%eax
	rol	$30,%edx
	add	%ebx,%r11d
	rol	$1,%eax
	mov	%eax,24(%rsp)
	lea	0x6ed9eba1(%eax,%edi),%ebp
	mov	28(%rsp),%eax
	mov	%edx,%ebx
	mov	%r11d,%edi
	xor	36(%rsp),%eax
	xor	%r12d,%ebx
	rol	$5,%edi
	xor	60(%rsp),%eax
	xor	%esi,%ebx
	add	%edi,%ebp
	xor	16(%rsp),%eax
	rol	$30,%r12d
	add	%ebx,%ebp
	rol	$1,%eax
	mov	%eax,28(%rsp)
	lea	0x6ed9eba1(%eax,%esi),%edi
	mov	32(%rsp),%eax
	mov	%r12d,%ebx
	mov	%ebp,%esi
	xor	40(%rsp),%eax
	xor	%r11d,%ebx
	rol	$5,%esi
	xor	0(%rsp),%eax
	xor	%edx,%ebx
	add	%esi,%edi
	xor	20(%rsp),%eax
	rol	$30,%r11d
	add	%ebx,%edi
	rol	$1,%eax
	mov	%eax,32(%rsp)
	lea	-0x70e44324(%eax,%edx),%esi
	mov	36(%rsp),%eax
	mov	%ebp,%ebx
	mov	%ebp,%ecx
	xor	44(%rsp),%eax
	mov	%edi,%edx
	and	%r11d,%ebx
	xor	4(%rsp),%eax
	or	%r11d,%ecx
	rol	$5,%edx
	xor	24(%rsp),%eax
	and	%r12d,%ecx
	add	%edx,%esi
	rol	$1,%eax
	or	%ecx,%ebx
	rol	$30,%ebp
	mov	%eax,36(%rsp)
	add	%ebx,%esi
	lea	-0x70e44324(%eax,%r12d),%edx
	mov	40(%rsp),%eax
	mov	%edi,%ebx
	mov	%edi,%ecx
	xor	48(%rsp),%eax
	mov	%esi,%r12d
	and	%ebp,%ebx
	xor	8(%rsp),%eax
	or	%ebp,%ecx
	rol	$5,%r12d
	xor	28(%rsp),%eax
	and	%r11d,%ecx
	add	%r12d,%edx
	rol	$1,%eax
	or	%ecx,%ebx
	rol	$30,%edi
	mov	%eax,40(%rsp)
	add	%ebx,%edx
	lea	-0x70e44324(%eax,%r11d),%r12d
	mov	44(%rsp),%eax
	mov	%esi,%ebx
	mov	%esi,%ecx
	xor	52(%rsp),%eax
	mov	%edx,%r11d
	and	%edi,%ebx
	xor	12(%rsp),%eax
	or	%edi,%ecx
	rol	$5,%r11d
	xor	32(%rsp),%eax
	and	%ebp,%ecx
	add	%r11d,%r12d
	rol	$1,%eax
	or	%ecx,%ebx
	rol	$30,%esi
	mov	%eax,44(%rsp)
	add	%ebx,%r12d
	lea	-0x70e44324(%eax,%ebp),%r11d
	mov	48(%rsp),%eax
	mov	%edx,%ebx
	mov	%edx,%ecx
	xor	56(%rsp),%eax
	mov	%r12d,%ebp
	and	%esi,%ebx
	xor	16(%rsp),%eax
	or	%esi,%ecx
	rol	$5,%ebp
	xor	36(%rsp),%eax
	and	%edi,%ecx
	add	%ebp,%r11d
	rol	$1,%eax
	or	%ecx,%ebx
	rol	$30,%edx
	mov	%eax,48(%rsp)
	add	%ebx,%r11d
	lea	-0x70e44324(%eax,%edi),%ebp
	mov	52(%rsp),%eax
	mov	%r12d,%ebx
	mov	%r12d,%ecx
	xor	60(%rsp),%eax
	mov	%r11d,%edi
	and	%edx,%ebx
	xor	20(%rsp),%eax
	or	%edx,%ecx
	rol	$5,%edi
	xor	40(%rsp),%eax
	and	%esi,%ecx
	add	%edi,%ebp
	rol	$1,%eax
	or	%ecx,%ebx
	rol	$30,%r12d
	mov	%eax,52(%rsp)
	add	%ebx,%ebp
	lea	-0x70e44324(%eax,%esi),%edi
	mov	56(%rsp),%eax
	mov	%r11d,%ebx
	mov	%r11d,%ecx
	xor	0(%rsp),%eax
	mov	%ebp,%esi
	and	%r12d,%ebx
	xor	24(%rsp),%eax
	or	%r12d,%ecx
	rol	$5,%esi
	xor	44(%rsp),%eax
	and	%edx,%ecx
	add	%esi,%edi
	rol	$1,%eax
	or	%ecx,%ebx
	rol	$30,%r11d
	mov	%eax,56(%rsp)
	add	%ebx,%edi
	lea	-0x70e44324(%eax,%edx),%esi
	mov	60(%rsp),%eax
	mov	%ebp,%ebx
	mov	%ebp,%ecx
	xor	4(%rsp),%eax
	mov	%edi,%edx
	and	%r11d,%ebx
	xor	28(%rsp),%eax
	or	%r11d,%ecx
	rol	$5,%edx
	xor	48(%rsp),%eax
	and	%r12d,%ecx
	add	%edx,%esi
	rol	$1,%eax
	or	%ecx,%ebx
	rol	$30,%ebp
	mov	%eax,60(%rsp)
	add	%ebx,%esi
	lea	-0x70e44324(%eax,%r12d),%edx
	mov	0(%rsp),%eax
	mov	%edi,%ebx
	mov	%edi,%ecx
	xor	8(%rsp),%eax
	mov	%esi,%r12d
	and	%ebp,%ebx
	xor	32(%rsp),%eax
	or	%ebp,%ecx
	rol	$5,%r12d
	xor	52(%rsp),%eax
	and	%r11d,%ecx
	add	%r12d,%edx
	rol	$1,%eax
	or	%ecx,%ebx
	rol	$30,%edi
	mov	%eax,0(%rsp)
	add	%ebx,%edx
	lea	-0x70e44324(%eax,%r11d),%r12d
	mov	4(%rsp),%eax
	mov	%esi,%ebx
	mov	%esi,%ecx
	xor	12(%rsp),%eax
	mov	%edx,%r11d
	and	%edi,%ebx
	xor	36(%rsp),%eax
	or	%edi,%ecx
	rol	$5,%r11d
	xor	56(%rsp),%eax
	and	%ebp,%ecx
	add	%r11d,%r12d
	rol	$1,%eax
	or	%ecx,%ebx
	rol	$30,%esi
	mov	%eax,4(%rsp)
	add	%ebx,%r12d
	lea	-0x70e44324(%eax,%ebp),%r11d
	mov	8(%rsp),%eax
	mov	%edx,%ebx
	mov	%edx,%ecx
	xor	16(%rsp),%eax
	mov	%r12d,%ebp
	and	%esi,%ebx
	xor	40(%rsp),%eax
	or	%esi,%ecx
	rol	$5,%ebp
	xor	60(%rsp),%eax
	and	%edi,%ecx
	add	%ebp,%r11d
	rol	$1,%eax
	or	%ecx,%ebx
	rol	$30,%edx
	mov	%eax,8(%rsp)
	add	%ebx,%r11d
	lea	-0x70e44324(%eax,%edi),%ebp
	mov	12(%rsp),%eax
	mov	%r12d,%ebx
	mov	%r12d,%ecx
	xor	20(%rsp),%eax
	mov	%r11d,%edi
	and	%edx,%ebx
	xor	44(%rsp),%eax
	or	%edx,%ecx
	rol	$5,%edi
	xor	0(%rsp),%eax
	and	%esi,%ecx
	add	%edi,%ebp
	rol	$1,%eax
	or	%ecx,%ebx
	rol	$30,%r12d
	mov	%eax,12(%rsp)
	add	%ebx,%ebp
	lea	-0x70e44324(%eax,%esi),%edi
	mov	16(%rsp),%eax
	mov	%r11d,%ebx
	mov	%r11d,%ecx
	xor	24(%rsp),%eax
	mov	%ebp,%esi
	and	%r12d,%ebx
	xor	48(%rsp),%eax
	or	%r12d,%ecx
	rol	$5,%esi
	xor	4(%rsp),%eax
	and	%edx,%ecx
	add	%esi,%edi
	rol	$1,%eax
	or	%ecx,%ebx
	rol	$30,%r11d
	mov	%eax,16(%rsp)
	add	%ebx,%edi
	lea	-0x70e44324(%eax,%edx),%esi
	mov	20(%rsp),%eax
	mov	%ebp,%ebx
	mov	%ebp,%ecx
	xor	28(%rsp),%eax
	mov	%edi,%edx
	and	%r11d,%ebx
	xor	52(%rsp),%eax
	or	%r11d,%ecx
	rol	$5,%edx
	xor	8(%rsp),%eax
	and	%r12d,%ecx
	add	%edx,%esi
	rol	$1,%eax
	or	%ecx,%ebx
	rol	$30,%ebp
	mov	%eax,20(%rsp)
	add	%ebx,%esi
	lea	-0x70e44324(%eax,%r12d),%edx
	mov	24(%rsp),%eax
	mov	%edi,%ebx
	mov	%edi,%ecx
	xor	32(%rsp),%eax
	mov	%esi,%r12d
	and	%ebp,%ebx
	xor	56(%rsp),%eax
	or	%ebp,%ecx
	rol	$5,%r12d
	xor	12(%rsp),%eax
	and	%r11d,%ecx
	add	%r12d,%edx
	rol	$1,%eax
	or	%ecx,%ebx
	rol	$30,%edi
	mov	%eax,24(%rsp)
	add	%ebx,%edx
	lea	-0x70e44324(%eax,%r11d),%r12d
	mov	28(%rsp),%eax
	mov	%esi,%ebx
	mov	%esi,%ecx
	xor	36(%rsp),%eax
	mov	%edx,%r11d
	and	%edi,%ebx
	xor	60(%rsp),%eax
	or	%edi,%ecx
	rol	$5,%r11d
	xor	16(%rsp),%eax
	and	%ebp,%ecx
	add	%r11d,%r12d
	rol	$1,%eax
	or	%ecx,%ebx
	rol	$30,%esi
	mov	%eax,28(%rsp)
	add	%ebx,%r12d
	lea	-0x70e44324(%eax,%ebp),%r11d
	mov	32(%rsp),%eax
	mov	%edx,%ebx
	mov	%edx,%ecx
	xor	40(%rsp),%eax
	mov	%r12d,%ebp
	and	%esi,%ebx
	xor	0(%rsp),%eax
	or	%esi,%ecx
	rol	$5,%ebp
	xor	20(%rsp),%eax
	and	%edi,%ecx
	add	%ebp,%r11d
	rol	$1,%eax
	or	%ecx,%ebx
	rol	$30,%edx
	mov	%eax,32(%rsp)
	add	%ebx,%r11d
	lea	-0x70e44324(%eax,%edi),%ebp
	mov	36(%rsp),%eax
	mov	%r12d,%ebx
	mov	%r12d,%ecx
	xor	44(%rsp),%eax
	mov	%r11d,%edi
	and	%edx,%ebx
	xor	4(%rsp),%eax
	or	%edx,%ecx
	rol	$5,%edi
	xor	24(%rsp),%eax
	and	%esi,%ecx
	add	%edi,%ebp
	rol	$1,%eax
	or	%ecx,%ebx
	rol	$30,%r12d
	mov	%eax,36(%rsp)
	add	%ebx,%ebp
	lea	-0x70e44324(%eax,%esi),%edi
	mov	40(%rsp),%eax
	mov	%r11d,%ebx
	mov	%r11d,%ecx
	xor	48(%rsp),%eax
	mov	%ebp,%esi
	and	%r12d,%ebx
	xor	8(%rsp),%eax
	or	%r12d,%ecx
	rol	$5,%esi
	xor	28(%rsp),%eax
	and	%edx,%ecx
	add	%esi,%edi
	rol	$1,%eax
	or	%ecx,%ebx
	rol	$30,%r11d
	mov	%eax,40(%rsp)
	add	%ebx,%edi
	lea	-0x70e44324(%eax,%edx),%esi
	mov	44(%rsp),%eax
	mov	%ebp,%ebx
	mov	%ebp,%ecx
	xor	52(%rsp),%eax
	mov	%edi,%edx
	and	%r11d,%ebx
	xor	12(%rsp),%eax
	or	%r11d,%ecx
	rol	$5,%edx
	xor	32(%rsp),%eax
	and	%r12d,%ecx
	add	%edx,%esi
	rol	$1,%eax
	or	%ecx,%ebx
	rol	$30,%ebp
	mov	%eax,44(%rsp)
	add	%ebx,%esi
	lea	-0x70e44324(%eax,%r12d),%edx
	mov	48(%rsp),%eax
	mov	%edi,%ebx
	mov	%edi,%ecx
	xor	56(%rsp),%eax
	mov	%esi,%r12d
	and	%ebp,%ebx
	xor	16(%rsp),%eax
	or	%ebp,%ecx
	rol	$5,%r12d
	xor	36(%rsp),%eax
	and	%r11d,%ecx
	add	%r12d,%edx
	rol	$1,%eax
	or	%ecx,%ebx
	rol	$30,%edi
	mov	%eax,48(%rsp)
	add	%ebx,%edx
	lea	-0x359d3e2a(%eax,%r11d),%r12d
	mov	52(%rsp),%eax
	mov	%edi,%ebx
	mov	%edx,%r11d
	xor	60(%rsp),%eax
	xor	%esi,%ebx
	rol	$5,%r11d
	xor	20(%rsp),%eax
	xor	%ebp,%ebx
	add	%r11d,%r12d
	xor	40(%rsp),%eax
	rol	$30,%esi
	add	%ebx,%r12d
	rol	$1,%eax
	mov	%eax,52(%rsp)
	lea	-0x359d3e2a(%eax,%ebp),%r11d
	mov	56(%rsp),%eax
	mov	%esi,%ebx
	mov	%r12d,%ebp
	xor	0(%rsp),%eax
	xor	%edx,%ebx
	rol	$5,%ebp
	xor	24(%rsp),%eax
	xor	%edi,%ebx
	add	%ebp,%r11d
	xor	44(%rsp),%eax
	rol	$30,%edx
	add	%ebx,%r11d
	rol	$1,%eax
	mov	%eax,56(%rsp)
	lea	-0x359d3e2a(%eax,%edi),%ebp
	mov	60(%rsp),%eax
	mov	%edx,%ebx
	mov	%r11d,%edi
	xor	4(%rsp),%eax
	xor	%r12d,%ebx
	rol	$5,%edi
	xor	28(%rsp),%eax
	xor	%esi,%ebx
	add	%edi,%ebp
	xor	48(%rsp),%eax
	rol	$30,%r12d
	add	%ebx,%ebp
	rol	$1,%eax
	mov	%eax,60(%rsp)
	lea	-0x359d3e2a(%eax,%esi),%edi
	mov	0(%rsp),%eax
	mov	%r12d,%ebx
	mov	%ebp,%esi
	xor	8(%rsp),%eax
	xor	%r11d,%ebx
	rol	$5,%esi
	xor	32(%rsp),%eax
	xor	%edx,%ebx
	add	%esi,%edi
	xor	52(%rsp),%eax
	rol	$30,%r11d
	add	%ebx,%edi
	rol	$1,%eax
	mov	%eax,0(%rsp)
	lea	-0x359d3e2a(%eax,%edx),%esi
	mov	4(%rsp),%eax
	mov	%r11d,%ebx
	mov	%edi,%edx
	xor	12(%rsp),%eax
	xor	%ebp,%ebx
	rol	$5,%edx
	xor	36(%rsp),%eax
	xor	%r12d,%ebx
	add	%edx,%esi
	xor	56(%rsp),%eax
	rol	$30,%ebp
	add	%ebx,%esi
	rol	$1,%eax
	mov	%eax,4(%rsp)
	lea	-0x359d3e2a(%eax,%r12d),%edx
	mov	8(%rsp),%eax
	mov	%ebp,%ebx
	mov	%esi,%r12d
	xor	16(%rsp),%eax
	xor	%edi,%ebx
	rol	$5,%r12d
	xor	40(%rsp),%eax
	xor	%r11d,%ebx
	add	%r12d,%edx
	xor	60(%rsp),%eax
	rol	$30,%edi
	add	%ebx,%edx
	rol	$1,%eax
	mov	%eax,8(%rsp)
	lea	-0x359d3e2a(%eax,%r11d),%r12d
	mov	12(%rsp),%eax
	mov	%edi,%ebx
	mov	%edx,%r11d
	xor	20(%rsp),%eax
	xor	%esi,%ebx
	rol	$5,%r11d
	xor	44(%rsp),%eax
	xor	%ebp,%ebx
	add	%r11d,%r12d
	xor	0(%rsp),%eax
	rol	$30,%esi
	add	%ebx,%r12d
	rol	$1,%eax
	mov	%eax,12(%rsp)
	lea	-0x359d3e2a(%eax,%ebp),%r11d
	mov	16(%rsp),%eax
	mov	%esi,%ebx
	mov	%r12d,%ebp
	xor	24(%rsp),%eax
	xor	%edx,%ebx
	rol	$5,%ebp
	xor	48(%rsp),%eax
	xor	%edi,%ebx
	add	%ebp,%r11d
	xor	4(%rsp),%eax
	rol	$30,%edx
	add	%ebx,%r11d
	rol	$1,%eax
	mov	%eax,16(%rsp)
	lea	-0x359d3e2a(%eax,%edi),%ebp
	mov	20(%rsp),%eax
	mov	%edx,%ebx
	mov	%r11d,%edi
	xor	28(%rsp),%eax
	xor	%r12d,%ebx
	rol	$5,%edi
	xor	52(%rsp),%eax
	xor	%esi,%ebx
	add	%edi,%ebp
	xor	8(%rsp),%eax
	rol	$30,%r12d
	add	%ebx,%ebp
	rol	$1,%eax
	mov	%eax,20(%rsp)
	lea	-0x359d3e2a(%eax,%esi),%edi
	mov	24(%rsp),%eax
	mov	%r12d,%ebx
	mov	%ebp,%esi
	xor	32(%rsp),%eax
	xor	%r11d,%ebx
	rol	$5,%esi
	xor	56(%rsp),%eax
	xor	%edx,%ebx
	add	%esi,%edi
	xor	12(%rsp),%eax
	rol	$30,%r11d
	add	%ebx,%edi
	rol	$1,%eax
	mov	%eax,24(%rsp)
	lea	-0x359d3e2a(%eax,%edx),%esi
	mov	28(%rsp),%eax
	mov	%r11d,%ebx
	mov	%edi,%edx
	xor	36(%rsp),%eax
	xor	%ebp,%ebx
	rol	$5,%edx
	xor	60(%rsp),%eax
	xor	%r12d,%ebx
	add	%edx,%esi
	xor	16(%rsp),%eax
	rol	$30,%ebp
	add	%ebx,%esi
	rol	$1,%eax
	mov	%eax,28(%rsp)
	lea	-0x359d3e2a(%eax,%r12d),%edx
	mov	32(%rsp),%eax
	mov	%ebp,%ebx
	mov	%esi,%r12d
	xor	40(%rsp),%eax
	xor	%edi,%ebx
	rol	$5,%r12d
	xor	0(%rsp),%eax
	xor	%r11d,%ebx
	add	%r12d,%edx
	xor	20(%rsp),%eax
	rol	$30,%edi
	add	%ebx,%edx
	rol	$1,%eax
	mov	%eax,32(%rsp)
	lea	-0x359d3e2a(%eax,%r11d),%r12d
	mov	36(%rsp),%eax
	mov	%edi,%ebx
	mov	%edx,%r11d
	xor	44(%rsp),%eax
	xor	%esi,%ebx
	rol	$5,%r11d
	xor	4(%rsp),%eax
	xor	%ebp,%ebx
	add	%r11d,%r12d
	xor	24(%rsp),%eax
	rol	$30,%esi
	add	%ebx,%r12d
	rol	$1,%eax
	mov	%eax,36(%rsp)
	lea	-0x359d3e2a(%eax,%ebp),%r11d
	mov	40(%rsp),%eax
	mov	%esi,%ebx
	mov	%r12d,%ebp
	xor	48(%rsp),%eax
	xor	%edx,%ebx
	rol	$5,%ebp
	xor	8(%rsp),%eax
	xor	%edi,%ebx
	add	%ebp,%r11d
	xor	28(%rsp),%eax
	rol	$30,%edx
	add	%ebx,%r11d
	rol	$1,%eax
	mov	%eax,40(%rsp)
	lea	-0x359d3e2a(%eax,%edi),%ebp
	mov	44(%rsp),%eax
	mov	%edx,%ebx
	mov	%r11d,%edi
	xor	52(%rsp),%eax
	xor	%r12d,%ebx
	rol	$5,%edi
	xor	12(%rsp),%eax
	xor	%esi,%ebx
	add	%edi,%ebp
	xor	32(%rsp),%eax
	rol	$30,%r12d
	add	%ebx,%ebp
	rol	$1,%eax
	mov	%eax,44(%rsp)
	lea	-0x359d3e2a(%eax,%esi),%edi
	mov	48(%rsp),%eax
	mov	%r12d,%ebx
	mov	%ebp,%esi
	xor	56(%rsp),%eax
	xor	%r11d,%ebx
	rol	$5,%esi
	xor	16(%rsp),%eax
	xor	%edx,%ebx
	add	%esi,%edi
	xor	36(%rsp),%eax
	rol	$30,%r11d
	add	%ebx,%edi
	rol	$1,%eax
	mov	%eax,48(%rsp)
	lea	-0x359d3e2a(%eax,%edx),%esi
	mov	52(%rsp),%eax
	mov	%r11d,%ebx
	mov	%edi,%edx
	xor	60(%rsp),%eax
	xor	%ebp,%ebx
	rol	$5,%edx
	xor	20(%rsp),%eax
	xor	%r12d,%ebx
	add	%edx,%esi
	xor	40(%rsp),%eax
	rol	$30,%ebp
	add	%ebx,%esi
	rol	$1,%eax
	lea	-0x359d3e2a(%eax,%r12d),%edx
	mov	56(%rsp),%eax
	mov	%ebp,%ebx
	mov	%esi,%r12d
	xor	0(%rsp),%eax
	xor	%edi,%ebx
	rol	$5,%r12d
	xor	24(%rsp),%eax
	xor	%r11d,%ebx
	add	%r12d,%edx
	xor	44(%rsp),%eax
	rol	$30,%edi
	add	%ebx,%edx
	rol	$1,%eax
	lea	-0x359d3e2a(%eax,%r11d),%r12d
	mov	60(%rsp),%eax
	mov	%edi,%ebx
	mov	%edx,%r11d
	xor	4(%rsp),%eax
	xor	%esi,%ebx
	rol	$5,%r11d
	xor	28(%rsp),%eax
	xor	%ebp,%ebx
	add	%r11d,%r12d
	xor	48(%rsp),%eax
	rol	$30,%esi
	add	%ebx,%r12d
	rol	$1,%eax
	lea	-0x359d3e2a(%eax,%ebp),%r11d
	mov	%esi,%ebx
	mov	%r12d,%ebp
	xor	%edx,%ebx
	rol	$5,%ebp
	xor	%edi,%ebx
	add	%ebp,%r11d
	rol	$30,%edx
	add	%ebx,%r11d
	/ Update and save state information in SHA-1 context
	add	0(%r8),%r11d
	add	4(%r8),%r12d
	add	8(%r8),%edx
	add	12(%r8),%esi
	add	16(%r8),%edi
	mov	%r11d,0(%r8)
	mov	%r12d,4(%r8)
	mov	%edx,8(%r8)
	mov	%esi,12(%r8)
	mov	%edi,16(%r8)

	xchg	%r11d,%edx	# mov	%r11d,%edx
	xchg	%r12d,%esi	# mov	%r12d,%esi
	xchg	%r11d,%edi	# mov	%edx,%edi
	xchg	%r12d,%ebp	# mov	%esi,%ebp
			# mov	%edi,%r11d
	lea	64(%r9),%r9
	sub	$1,%r10
	jnz	.Lloop
	mov	64(%rsp),%rsp
	pop	%r12
	pop	%rbp
	pop	%rbx
	ret
SET_SIZE(sha1_block_data_order)
.asciz	"SHA1 block transform for x86_64, CRYPTOGAMS by <appro@openssl.org>"

#endif /* lint || __lint */
