OLD | NEW |
| (Empty) |
1 #if defined(__x86_64__) | |
2 .text | |
3 | |
4 | |
5 | |
6 | |
7 .globl CRYPTO_rdrand | |
8 .hidden CRYPTO_rdrand | |
9 .type CRYPTO_rdrand,@function | |
10 .align 16 | |
11 CRYPTO_rdrand: | |
12 xorq %rax,%rax | |
13 | |
14 | |
15 .byte 0x48, 0x0f, 0xc7, 0xf1 | |
16 | |
17 adcq %rax,%rax | |
18 movq %rcx,0(%rdi) | |
19 .byte 0xf3,0xc3 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 .globl CRYPTO_rdrand_multiple8_buf | |
26 .hidden CRYPTO_rdrand_multiple8_buf | |
27 .type CRYPTO_rdrand_multiple8_buf,@function | |
28 .align 16 | |
29 CRYPTO_rdrand_multiple8_buf: | |
30 testq %rsi,%rsi | |
31 jz .Lout | |
32 movq $8,%rdx | |
33 .Lloop: | |
34 | |
35 | |
36 .byte 0x48, 0x0f, 0xc7, 0xf1 | |
37 jnc .Lerr | |
38 movq %rcx,0(%rdi) | |
39 addq %rdx,%rdi | |
40 subq %rdx,%rsi | |
41 jnz .Lloop | |
42 .Lout: | |
43 movq $1,%rax | |
44 .byte 0xf3,0xc3 | |
45 .Lerr: | |
46 xorq %rax,%rax | |
47 .byte 0xf3,0xc3 | |
48 #endif | |
OLD | NEW |