diff options
author | Andy Polyakov <appro@openssl.org> | 2012-09-23 20:29:03 +0000 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2012-09-23 20:29:03 +0000 |
commit | 1fda639ae756eb87f585b7d5114490d4ffe649a1 (patch) | |
tree | 2a358c9ee53d8da2dc6cf8b7d9958645a21feaed /crypto/sparccpuid.S | |
parent | 4d88fc8173573b089aac0e0e53572802fc7594cb (diff) |
sparcv9cap.c: add SPARC-T4 feature detection.
Submitted by: David Miller
Diffstat (limited to 'crypto/sparccpuid.S')
-rw-r--r-- | crypto/sparccpuid.S | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/crypto/sparccpuid.S b/crypto/sparccpuid.S index ccdd31e041..8baded0d40 100644 --- a/crypto/sparccpuid.S +++ b/crypto/sparccpuid.S @@ -255,6 +255,11 @@ _sparcv9_vis1_probe: ! UltraSPARC IIe 7 ! UltraSPARC III 7 ! UltraSPARC T1 24 +! SPARC T4 65(*) +! +! (*) result has lesser to do with VIS instruction latencies, rdtick +! appears that slow, but it does the trick in sense that FP and +! VIS code paths are still slower than integer-only ones. ! ! Numbers for T2 and SPARC64 V-VII are more than welcomed. ! @@ -264,6 +269,8 @@ _sparcv9_vis1_probe: .global _sparcv9_vis1_instrument .align 8 _sparcv9_vis1_instrument: + .word 0x81b00d80 !fxor %f0,%f0,%f0 + .word 0x85b08d82 !fxor %f2,%f2,%f2 .word 0x91410000 !rd %tick,%o0 .word 0x81b00d80 !fxor %f0,%f0,%f0 .word 0x85b08d82 !fxor %f2,%f2,%f2 @@ -318,6 +325,30 @@ _sparcv9_fmadd_probe: .type _sparcv9_fmadd_probe,#function .size _sparcv9_fmadd_probe,.-_sparcv9_fmadd_probe +.global _sparcv9_rdcfr +.align 8 +_sparcv9_rdcfr: + retl + .word 0x91468000 !rd %asr26,%o0 +.type _sparcv9_rdcfr,#function +.size _sparcv9_rdcfr,.-_sparcv9_rdcfr + +.global _sparcv9_vis3_probe +.align 8 +_sparcv9_vis3_probe: + retl + .word 0x81b022a0 !xmulx %g0,%g0,%g0 +.type _sparcv9_vis3_probe,#function +.size _sparcv9_vis3_probe,.-_sparcv9_vis3_probe + +.global _sparcv9_random +.align 8 +_sparcv9_random: + retl + .word 0x91b002a0 !random %o0 +.type _sparcv9_random,#function +.size _sparcv9_random,.-_sparcv9_vis3_probe + .global OPENSSL_cleanse .align 32 OPENSSL_cleanse: |