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 |
23 | CRYPTO_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 |
42 | CRYPTO_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 | |