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 |