sparccpuid.s update.

This commit is contained in:
Andy Polyakov 2007-05-19 17:26:48 +00:00
parent 9c200f5471
commit aa5c99fa01

View File

@ -235,7 +235,7 @@ _sparcv9_rdtick:
.global OPENSSL_cleanse .global OPENSSL_cleanse
.align 32 .align 32
OPENSSL_cleanse: OPENSSL_cleanse:
cmp %o1,6 cmp %o1,14
nop nop
#ifdef ABI64 #ifdef ABI64
bgu %xcc,.Lot bgu %xcc,.Lot
@ -253,23 +253,53 @@ OPENSSL_cleanse:
nop nop
.align 32 .align 32
.Lot: .Lot:
andcc %o0,3,%g0 #ifndef ABI64
bz .Laligned subcc %g0,1,%g1
! see above for explanation
.word 0x83408000 !rd %ccr,%g1
cmp %g1,0x99
bne .v8lot
nop
#endif
.v9lot: andcc %o0,7,%g0
bz .v9aligned
nop nop
stb %g0,[%o0] stb %g0,[%o0]
sub %o1,1,%o1 sub %o1,1,%o1
ba .Lot ba .v9lot
add %o0,1,%o0
.align 16,0x01000000
.v9aligned:
.word 0xc0720000 !stx %g0,[%o0]
sub %o1,8,%o1
andcc %o1,-8,%g0
#ifdef ABI64
.word 0x126ffffd !bnz %xcc,.v9aligned
#else
.word 0x124ffffd !bnz %icc,.v9aligned
#endif
add %o0,8,%o0
cmp %o1,0
bne .Little
nop
retl
nop
#ifndef ABI64
.v8lot: andcc %o0,3,%g0
bz .v8aligned
nop
stb %g0,[%o0]
sub %o1,1,%o1
ba .v8lot
add %o0,1,%o0 add %o0,1,%o0
nop nop
.Laligned: .v8aligned:
st %g0,[%o0] st %g0,[%o0]
sub %o1,4,%o1 sub %o1,4,%o1
andcc %o1,-4,%g0 andcc %o1,-4,%g0
#ifdef ABI64 bnz .v8aligned
bnz %xcc,.Laligned
#else
bnz .Laligned
#endif
add %o0,4,%o0 add %o0,4,%o0
cmp %o1,0 cmp %o1,0
@ -277,6 +307,7 @@ OPENSSL_cleanse:
nop nop
retl retl
nop nop
#endif
.type OPENSSL_cleanse,#function .type OPENSSL_cleanse,#function
.size OPENSSL_cleanse,.-OPENSSL_cleanse .size OPENSSL_cleanse,.-OPENSSL_cleanse