| Index: third_party/boringssl/linux-x86_64/crypto/rand/rdrand-x86_64.S
|
| diff --git a/third_party/boringssl/linux-x86_64/crypto/rand/rdrand-x86_64.S b/third_party/boringssl/linux-x86_64/crypto/rand/rdrand-x86_64.S
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..94aab9c19b7ef5fd98cbe8c3c87dd5904fe99cc9
|
| --- /dev/null
|
| +++ b/third_party/boringssl/linux-x86_64/crypto/rand/rdrand-x86_64.S
|
| @@ -0,0 +1,48 @@
|
| +#if defined(__x86_64__)
|
| +.text
|
| +
|
| +
|
| +
|
| +
|
| +.globl CRYPTO_rdrand
|
| +.hidden CRYPTO_rdrand
|
| +.type CRYPTO_rdrand,@function
|
| +.align 16
|
| +CRYPTO_rdrand:
|
| + xorq %rax,%rax
|
| +
|
| +
|
| +.byte 0x48, 0x0f, 0xc7, 0xf1
|
| +
|
| + adcq %rax,%rax
|
| + movq %rcx,0(%rdi)
|
| + .byte 0xf3,0xc3
|
| +
|
| +
|
| +
|
| +
|
| +
|
| +.globl CRYPTO_rdrand_multiple8_buf
|
| +.hidden CRYPTO_rdrand_multiple8_buf
|
| +.type CRYPTO_rdrand_multiple8_buf,@function
|
| +.align 16
|
| +CRYPTO_rdrand_multiple8_buf:
|
| + testq %rsi,%rsi
|
| + jz .Lout
|
| + movq $8,%rdx
|
| +.Lloop:
|
| +
|
| +
|
| +.byte 0x48, 0x0f, 0xc7, 0xf1
|
| + jnc .Lerr
|
| + movq %rcx,0(%rdi)
|
| + addq %rdx,%rdi
|
| + subq %rdx,%rsi
|
| + jnz .Lloop
|
| +.Lout:
|
| + movq $1,%rax
|
| + .byte 0xf3,0xc3
|
| +.Lerr:
|
| + xorq %rax,%rax
|
| + .byte 0xf3,0xc3
|
| +#endif
|
|
|