X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=crypto%2Falphacpuid.pl;h=6c7fd4c9dd3dd1dbd19a9c93141f44e6e6295716;hb=930e031052220776d41bcc20a72d0f276127fb74;hp=6b51731b45311f3038cac54cc782e6fc87ca3b63;hpb=e0a651945cb5a70a2abd9902c0fd3e9759d35867;p=oweals%2Fopenssl.git diff --git a/crypto/alphacpuid.pl b/crypto/alphacpuid.pl index 6b51731b45..6c7fd4c9dd 100644 --- a/crypto/alphacpuid.pl +++ b/crypto/alphacpuid.pl @@ -8,7 +8,7 @@ $output = pop; -open STDOUT,">$stdout"; +open STDOUT,">$output"; print <<'___'; .text @@ -134,6 +134,34 @@ OPENSSL_cleanse: bne $17,.Little .Ldone: ret ($26) .end OPENSSL_cleanse + +.globl CRYPTO_memcmp +.ent CRYPTO_memcmp +CRYPTO_memcmp: + .frame $30,0,$26 + .prologue 0 + xor $0,$0,$0 + beq $18,.Lno_data + + xor $1,$1,$1 + nop +.Loop_cmp: + ldq_u $2,0($16) + subq $18,1,$18 + ldq_u $3,0($17) + extbl $2,$16,$2 + lda $16,1($16) + extbl $3,$17,$3 + lda $17,1($17) + xor $3,$2,$2 + or $2,$0,$0 + bne $18,.Loop_cmp + + subq $31,$0,$0 + srl $0,63,$0 +.Lno_data: + ret ($26) +.end CRYPTO_memcmp ___ { my ($out,$cnt,$max)=("\$16","\$17","\$18");