| // 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_64) && defined(__ELF__) | 
 | .text	 | 
 |  | 
 |  | 
 |  | 
 |  | 
 | .globl	CRYPTO_rdrand | 
 | .hidden CRYPTO_rdrand | 
 | .type	CRYPTO_rdrand,@function | 
 | .align	16 | 
 | CRYPTO_rdrand: | 
 | .cfi_startproc	 | 
 | _CET_ENDBR | 
 | 	xorq	%rax,%rax | 
 | 	rdrand	%rdx | 
 |  | 
 | 	adcq	%rax,%rax | 
 | 	movq	%rdx,0(%rdi) | 
 | 	ret | 
 | .cfi_endproc	 | 
 | .size	CRYPTO_rdrand,.-CRYPTO_rdrand | 
 |  | 
 |  | 
 |  | 
 |  | 
 |  | 
 | .globl	CRYPTO_rdrand_multiple8_buf | 
 | .hidden CRYPTO_rdrand_multiple8_buf | 
 | .type	CRYPTO_rdrand_multiple8_buf,@function | 
 | .align	16 | 
 | CRYPTO_rdrand_multiple8_buf: | 
 | .cfi_startproc	 | 
 | _CET_ENDBR | 
 | 	testq	%rsi,%rsi | 
 | 	jz	.Lout | 
 | 	movq	$8,%rdx | 
 | .Lloop: | 
 | 	rdrand	%rcx | 
 | 	jnc	.Lerr | 
 | 	movq	%rcx,0(%rdi) | 
 | 	addq	%rdx,%rdi | 
 | 	subq	%rdx,%rsi | 
 | 	jnz	.Lloop | 
 | .Lout: | 
 | 	movq	$1,%rax | 
 | 	ret | 
 | .Lerr: | 
 | 	xorq	%rax,%rax | 
 | 	ret | 
 | .cfi_endproc	 | 
 | .size	CRYPTO_rdrand_multiple8_buf,.-CRYPTO_rdrand_multiple8_buf | 
 | #endif |