mirror of https://github.com/openssl/openssl.git
				
				
				
			Cvs missed adapted module itself, here it goes...
This commit is contained in:
		
							parent
							
								
									73a9485081
								
							
						
					
					
						commit
						8b5bf52ac2
					
				| 
						 | 
					@ -105,19 +105,17 @@ EOF
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
my $output = shift;
 | 
					my $output = shift;
 | 
				
			||||||
open STDOUT,">$output" or die "can't open $output: $!";
 | 
					open STDOUT,"| $^X ../perlasm/x86_64-xlate.pl $output";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
$code .= <<EOF;
 | 
					$code .= <<EOF;
 | 
				
			||||||
.text
 | 
					.text
 | 
				
			||||||
.align 16
 | 
					.align 16
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.globl md5_block_asm_host_order
 | 
					.globl md5_block_asm_host_order
 | 
				
			||||||
.type md5_block_asm_host_order,\@function
 | 
					.type md5_block_asm_host_order,\@function,3
 | 
				
			||||||
md5_block_asm_host_order:
 | 
					md5_block_asm_host_order:
 | 
				
			||||||
	push	%rbp
 | 
						push	%rbp
 | 
				
			||||||
	push	%rbx
 | 
						push	%rbx
 | 
				
			||||||
	push	%r12
 | 
					 | 
				
			||||||
	push	%r13
 | 
					 | 
				
			||||||
	push	%r14
 | 
						push	%r14
 | 
				
			||||||
	push	%r15
 | 
						push	%r15
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -131,7 +129,6 @@ md5_block_asm_host_order:
 | 
				
			||||||
	mov	1*4(%rbp),	%ebx	# ebx = ctx->B
 | 
						mov	1*4(%rbp),	%ebx	# ebx = ctx->B
 | 
				
			||||||
	mov	2*4(%rbp),	%ecx	# ecx = ctx->C
 | 
						mov	2*4(%rbp),	%ecx	# ecx = ctx->C
 | 
				
			||||||
	mov	3*4(%rbp),	%edx	# edx = ctx->D
 | 
						mov	3*4(%rbp),	%edx	# edx = ctx->D
 | 
				
			||||||
	push	%rbp			# save ctx
 | 
					 | 
				
			||||||
	# end is 'rdi'
 | 
						# end is 'rdi'
 | 
				
			||||||
	# ptr is 'rsi'
 | 
						# ptr is 'rsi'
 | 
				
			||||||
	# A is 'eax'
 | 
						# A is 'eax'
 | 
				
			||||||
| 
						 | 
					@ -140,10 +137,10 @@ md5_block_asm_host_order:
 | 
				
			||||||
	# D is 'edx'
 | 
						# D is 'edx'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	cmp	%rdi,		%rsi		# cmp end with ptr
 | 
						cmp	%rdi,		%rsi		# cmp end with ptr
 | 
				
			||||||
	je	1f				# jmp if ptr == end
 | 
						je	.Lend				# jmp if ptr == end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	# BEGIN of loop over 16-word blocks
 | 
						# BEGIN of loop over 16-word blocks
 | 
				
			||||||
2:	# save old values of A, B, C, D
 | 
					.Lloop:	# save old values of A, B, C, D
 | 
				
			||||||
	mov	%eax,		%r8d
 | 
						mov	%eax,		%r8d
 | 
				
			||||||
	mov	%ebx,		%r9d
 | 
						mov	%ebx,		%r9d
 | 
				
			||||||
	mov	%ecx,		%r14d
 | 
						mov	%ecx,		%r14d
 | 
				
			||||||
| 
						 | 
					@ -226,10 +223,10 @@ $code .= <<EOF;
 | 
				
			||||||
	# loop control
 | 
						# loop control
 | 
				
			||||||
	add	\$64,		%rsi		# ptr += 64
 | 
						add	\$64,		%rsi		# ptr += 64
 | 
				
			||||||
	cmp	%rdi,		%rsi		# cmp end with ptr
 | 
						cmp	%rdi,		%rsi		# cmp end with ptr
 | 
				
			||||||
	jb	2b				# jmp if ptr < end
 | 
						jb	.Lloop				# jmp if ptr < end
 | 
				
			||||||
	# END of loop over 16-word blocks
 | 
						# END of loop over 16-word blocks
 | 
				
			||||||
 | 
					
 | 
				
			||||||
1:	pop	%rbp				# restore ctx
 | 
					.Lend:
 | 
				
			||||||
	mov	%eax,		0*4(%rbp)	# ctx->A = A
 | 
						mov	%eax,		0*4(%rbp)	# ctx->A = A
 | 
				
			||||||
	mov	%ebx,		1*4(%rbp)	# ctx->B = B
 | 
						mov	%ebx,		1*4(%rbp)	# ctx->B = B
 | 
				
			||||||
	mov	%ecx,		2*4(%rbp)	# ctx->C = C
 | 
						mov	%ecx,		2*4(%rbp)	# ctx->C = C
 | 
				
			||||||
| 
						 | 
					@ -237,13 +234,12 @@ $code .= <<EOF;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	pop	%r15
 | 
						pop	%r15
 | 
				
			||||||
	pop	%r14
 | 
						pop	%r14
 | 
				
			||||||
	pop	%r13
 | 
					 | 
				
			||||||
	pop	%r12
 | 
					 | 
				
			||||||
	pop	%rbx
 | 
						pop	%rbx
 | 
				
			||||||
	pop	%rbp
 | 
						pop	%rbp
 | 
				
			||||||
	ret
 | 
						ret
 | 
				
			||||||
.L_md5_block_asm_host_order_end:
 | 
					.size md5_block_asm_host_order,.-md5_block_asm_host_order
 | 
				
			||||||
.size md5_block_asm_host_order,.L_md5_block_asm_host_order_end-md5_block_asm_host_order
 | 
					 | 
				
			||||||
EOF
 | 
					EOF
 | 
				
			||||||
 | 
					
 | 
				
			||||||
print $code;
 | 
					print $code;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					close STDOUT;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue