summaryrefslogtreecommitdiff
path: root/crypto/ia64cpuid.S
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2004-07-26 20:18:55 +0000
committerAndy Polyakov <appro@openssl.org>2004-07-26 20:18:55 +0000
commit14e21f863a3e3278bb8660ea9844e92e52e1f2f7 (patch)
tree5bcc6cfa9002eb94d2788bc3fa8c72eb5b9f188e /crypto/ia64cpuid.S
parentf10725a6e19f0d72df5789e38601918539e64082 (diff)
downloadopenssl-new-14e21f863a3e3278bb8660ea9844e92e52e1f2f7.tar.gz
Add framework for yet another assembler module dubbed "cpuid." Idea
is to have a placeholder to small routines, which can be written only in assembler. In IA-32 case this includes processor capability identification and access to Time-Stamp Counter. As discussed earlier OPENSSL_ia32cap is introduced to control recently added SSE2 code pathes (see docs/crypto/OPENSSL_ia32cap.pod). For the moment the code is operational on ELF platforms only. I haven't checked it yet, but I have all reasons to believe that Windows build should fail to link too. I'll be looking into it shortly...
Diffstat (limited to 'crypto/ia64cpuid.S')
-rw-r--r--crypto/ia64cpuid.S9
1 files changed, 9 insertions, 0 deletions
diff --git a/crypto/ia64cpuid.S b/crypto/ia64cpuid.S
new file mode 100644
index 0000000000..a800527a58
--- /dev/null
+++ b/crypto/ia64cpuid.S
@@ -0,0 +1,9 @@
+// Works on all IA-64 platforms: Linux, HP-UX, Win64i...
+// On Win64i compile with ias.exe.
+.text
+.global OPENSSL_rdtsc#
+.proc OPENSSL_rdtsc#
+OPENSSL_rdtsc:
+ mov r8=ar.itc
+ br.ret b0
+.endp OPENSSL_rdtsc#