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 11CRYPTO_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 29CRYPTO_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 49