diff options
author | Andy Polyakov <appro@openssl.org> | 2014-02-14 17:24:12 +0100 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2014-02-14 17:24:12 +0100 |
commit | f4d456408d9d7bca31f34765d1a05fbd9fa55826 (patch) | |
tree | e52d1370e39be0b3d428d0b34b5a0c281a589e85 /crypto/x86_64cpuid.pl | |
parent | 5599c7331b90d9d29c9914c2a95c16d91485415a (diff) | |
download | openssl-f4d456408d9d7bca31f34765d1a05fbd9fa55826.tar.gz |
x86[_64]cpuid.pl: add low-level RDSEED.
Diffstat (limited to 'crypto/x86_64cpuid.pl')
-rw-r--r-- | crypto/x86_64cpuid.pl | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/crypto/x86_64cpuid.pl b/crypto/x86_64cpuid.pl index 0cf68f1360..db5aa4aa36 100644 --- a/crypto/x86_64cpuid.pl +++ b/crypto/x86_64cpuid.pl @@ -379,6 +379,21 @@ OPENSSL_ia32_rdrand: cmove %rcx,%rax ret .size OPENSSL_ia32_rdrand,.-OPENSSL_ia32_rdrand + +.globl OPENSSL_ia32_rdseed +.type OPENSSL_ia32_rdseed,\@abi-omnipotent +.align 16 +OPENSSL_ia32_rdseed: + mov \$8,%ecx +.Loop_rdseed: + rdseed %rax + jc .Lbreak_rdseed + loop .Loop_rdseed +.Lbreak_rdseed: + cmp \$0,%rax + cmove %rcx,%rax + ret +.size OPENSSL_ia32_rdseed,.-OPENSSL_ia32_rdseed ___ close STDOUT; # flush |