diff options
Diffstat (limited to 'crypto/amd64cpuid.pl')
-rw-r--r-- | crypto/amd64cpuid.pl | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/crypto/amd64cpuid.pl b/crypto/amd64cpuid.pl new file mode 100644 index 0000000000..baf801d062 --- /dev/null +++ b/crypto/amd64cpuid.pl @@ -0,0 +1,30 @@ +#!/usr/bin/env perl + +$output=shift; +$win64a=1 if ($output =~ /win64a\.[s|asm]/); +open STDOUT,">$output" || die "can't open $output: $!"; + +print<<___ if(defined($win64a)); +TEXT SEGMENT +PUBLIC OPENSSL_rdtsc +ALIGN 16 +OPENSSL_rdtsc PROC NEAR + rdtsc + shl rdx,32 + or rax,rdx + ret +OPENSSL_rdtsc ENDP +TEXT ENDS +END +___ +print<<___ if(!defined($win64a)); +.text +.globl OPENSSL_rdtsc +.align 16 +OPENSSL_rdtsc: + rdtsc + shl \$32,%rdx + or %rdx,%rax + ret +.size OPENSSL_rdtsc,.-OPENSSL_rdtsc +___ |