1# This file is generated from a similarly-named Perl script in the BoringSSL
2# source tree. Do not edit by hand.
3
4#if defined(__has_feature)
5#if __has_feature(memory_sanitizer) && !defined(OPENSSL_NO_ASM)
6#define OPENSSL_NO_ASM
7#endif
8#endif
9
10#if defined(__x86_64__) && !defined(OPENSSL_NO_ASM)
11#if defined(BORINGSSL_PREFIX)
12#include <boringssl_prefix_symbols_asm.h>
13#endif
14.text
15
16
17
18
19.globl CRYPTO_rdrand
20.hidden CRYPTO_rdrand
21.type CRYPTO_rdrand,@function
22.align 16
23CRYPTO_rdrand:
24.cfi_startproc
25 xorq %rax,%rax
26.byte 72,15,199,242
27
28 adcq %rax,%rax
29 movq %rdx,0(%rdi)
30 .byte 0xf3,0xc3
31.cfi_endproc
32.size CRYPTO_rdrand,.-CRYPTO_rdrand
33
34
35
36
37
38.globl CRYPTO_rdrand_multiple8_buf
39.hidden CRYPTO_rdrand_multiple8_buf
40.type CRYPTO_rdrand_multiple8_buf,@function
41.align 16
42CRYPTO_rdrand_multiple8_buf:
43.cfi_startproc
44 testq %rsi,%rsi
45 jz .Lout
46 movq $8,%rdx
47.Lloop:
48.byte 72,15,199,241
49 jnc .Lerr
50 movq %rcx,0(%rdi)
51 addq %rdx,%rdi
52 subq %rdx,%rsi
53 jnz .Lloop
54.Lout:
55 movq $1,%rax
56 .byte 0xf3,0xc3
57.Lerr:
58 xorq %rax,%rax
59 .byte 0xf3,0xc3
60.cfi_endproc
61.size CRYPTO_rdrand_multiple8_buf,.-CRYPTO_rdrand_multiple8_buf
62#endif
63