X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=crypto%2Fsparccpuid.S;h=95acd2f9d4d2618578a2326b1812d99533a90d60;hb=c855c9c05ad5e5d3cbc7bb282b483c698e90f8ec;hp=72c7adfc74cbe4462b8dd1396a2ca2ff02e3127c;hpb=053fa39af62f5b3543ebec8592e4592965b18e26;p=oweals%2Fopenssl.git diff --git a/crypto/sparccpuid.S b/crypto/sparccpuid.S index 72c7adfc74..95acd2f9d4 100644 --- a/crypto/sparccpuid.S +++ b/crypto/sparccpuid.S @@ -1,6 +1,9 @@ -#ifdef OPENSSL_FIPSCANISTER -#include -#endif +! Copyright 2005-2016 The OpenSSL Project Authors. All Rights Reserved. +! +! Licensed under the OpenSSL license (the "License"). You may not use +! this file except in compliance with the License. You can obtain a copy +! in the file LICENSE in the source distribution or at +! https://www.openssl.org/source/license.html #if defined(__SUNPRO_C) && defined(__sparcv9) # define ABI64 /* They've said -xarch=v9 at command line */ @@ -291,7 +294,7 @@ _sparcv9_vis1_instrument: sub %o3,%o2,%o2 sub %o4,%o3,%o3 - ! find minumum value + ! find minimum value cmp %o0,%o1 .word 0x38680002 !bgu,a %xcc,.+8 mov %o1,%o0 @@ -349,6 +352,14 @@ _sparcv9_random: .type _sparcv9_random,#function .size _sparcv9_random,.-_sparcv9_vis3_probe +.global _sparcv9_fjaesx_probe +.align 8 +_sparcv9_fjaesx_probe: + .word 0x81b09206 !faesencx %f2,%f6,%f0 + retl + nop +.size _sparcv9_fjaesx_probe,.-_sparcv9_fjaesx_probe + .global OPENSSL_cleanse .align 32 OPENSSL_cleanse: @@ -432,6 +443,40 @@ OPENSSL_cleanse: .type OPENSSL_cleanse,#function .size OPENSSL_cleanse,.-OPENSSL_cleanse +.global CRYPTO_memcmp +.align 16 +CRYPTO_memcmp: + cmp %o2,0 +#ifdef ABI64 + beq,pn %xcc,.Lno_data +#else + beq .Lno_data +#endif + xor %g1,%g1,%g1 + nop + +.Loop_cmp: + ldub [%o0],%o3 + add %o0,1,%o0 + ldub [%o1],%o4 + add %o1,1,%o1 + subcc %o2,1,%o2 + xor %o3,%o4,%o4 +#ifdef ABI64 + bnz %xcc,.Loop_cmp +#else + bnz .Loop_cmp +#endif + or %o4,%g1,%g1 + + sub %g0,%g1,%g1 + srl %g1,31,%g1 +.Lno_data: + retl + mov %g1,%o0 +.type CRYPTO_memcmp,#function +.size CRYPTO_memcmp,.-CRYPTO_memcmp + .global _sparcv9_vis1_instrument_bus .align 8 _sparcv9_vis1_instrument_bus: