X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=crypto%2Fmd32_common.h;h=a5b838442b398eb32ac7b901736fe50c850844de;hb=fcb76baeb04bb961e8bbc44b81ecdfc2f27dddf4;hp=5e62d405232a8bf12499e00c652f24bdde9e3657;hpb=3b14cb717defe41cebbe5524ff9d5ae84260a005;p=oweals%2Fopenssl.git diff --git a/crypto/md32_common.h b/crypto/md32_common.h index 5e62d40523..a5b838442b 100644 --- a/crypto/md32_common.h +++ b/crypto/md32_common.h @@ -182,7 +182,14 @@ # if defined(_MSC_VER) # define ROTATE(a,n) _lrotl(a,n) # elif defined(__MWERKS__) -# define ROTATE(a,n) __rol(a,n) +# if defined(__POWERPC__) +# define ROTATE(a,n) __rlwinm(a,n,0,31) +# elif defined(__MC68K__) + /* Motorola specific tweak. */ +# define ROTATE(a,n) ( n<24 ? __rol(a,n) : __ror(a,32-n) ) +# else +# define ROTATE(a,n) __rol(a,n) +# endif # elif defined(__GNUC__) && __GNUC__>=2 && !defined(NO_ASM) /* * Some GNU C inline assembler templates. Note that these are