#!/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 | |
___ |