X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=crypto%2Fia64cpuid.S;h=7832b9b640bad0b699dc7e70cb24560ec6c1d77e;hp=818e2d1e1d537fb3484ed14f535d8087a05ea9a5;hb=66509ddbd00179e8be58d54cf5576fb6b74d0131;hpb=b2dba9bf1f8f73376b9c1f0904a86996c728b236 diff --git a/crypto/ia64cpuid.S b/crypto/ia64cpuid.S index 818e2d1e1d..7832b9b640 100644 --- a/crypto/ia64cpuid.S +++ b/crypto/ia64cpuid.S @@ -26,7 +26,7 @@ OPENSSL_atomic_add: { .mii; mov ar.ccv=r2 add r8=r2,r33 mov r3=r2 };; -{ .mmi; mf +{ .mmi; mf;; cmpxchg4.acq r2=[r32],r8,ar.ccv nop.i 0 };; { .mib; cmp.ne p6,p0=r2,r3 @@ -130,6 +130,11 @@ OPENSSL_wipe_cpu: .global OPENSSL_cleanse# .proc OPENSSL_cleanse# OPENSSL_cleanse: +{ .mib; cmp.eq p6,p0=0,r33 // len==0 +#if defined(_HPUX_SOURCE) && !defined(_LP64) + addp4 r32=0,r32 +#endif +(p6) br.ret.spnt b0 };; { .mib; and r2=7,r32 cmp.leu p6,p0=15,r33 // len>=15 (p6) br.cond.dptk .Lot };;