diff options
author | Andy Polyakov <appro@openssl.org> | 2011-06-04 12:20:45 +0000 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2011-06-04 12:20:45 +0000 |
commit | 301799b803fc9f3e2adaad32b1ccace736bbe7cc (patch) | |
tree | 0edc73d8425ac47b5124104760cb0294c53b214f /crypto/perlasm/x86asm.pl | |
parent | 8d515259e2a4631a5b42f1a072b0ff6f8eba189c (diff) |
x86[_64]cpuid.pl: add function accessing rdrand instruction.
Diffstat (limited to 'crypto/perlasm/x86asm.pl')
-rw-r--r-- | crypto/perlasm/x86asm.pl | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/crypto/perlasm/x86asm.pl b/crypto/perlasm/x86asm.pl index efa7b61ce8..b7ddb8137f 100644 --- a/crypto/perlasm/x86asm.pl +++ b/crypto/perlasm/x86asm.pl @@ -123,6 +123,14 @@ sub ::pclmulqdq { &::generic("pclmulqdq",@_); } } +sub ::rdrand +{ my ($dst)=@_; + if ($dst =~ /(e[a-dsd][ixp])/) + { &::data_byte(0x0f,0xc7,0xf0|$regrm{$dst}); } + else + { &::generic("rdrand",@_); } +} + # label management $lbdecor="L"; # local label decoration, set by package $label="000"; |