diff options
author | Andy Polyakov <appro@openssl.org> | 2000-02-06 11:15:20 +0000 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2000-02-06 11:15:20 +0000 |
commit | 0fad6cb7e7359dd0911ab54a80c1b3e10b378fd3 (patch) | |
tree | f6762d5b14262fe04b60edea64bb76ade1e19977 /crypto/md32_common.h | |
parent | 7cf6e2a35b36b690c93b85cb68d103b4bc946e30 (diff) |
Support for MacOS X (Rhapsody) is added. Also get rid of volatile
qualifier in asm definitions as it prevents compiler from moving
the instruction(s) during optimization pass.
Diffstat (limited to 'crypto/md32_common.h')
-rw-r--r-- | crypto/md32_common.h | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/crypto/md32_common.h b/crypto/md32_common.h index a5b838442b..9a6a27512f 100644 --- a/crypto/md32_common.h +++ b/crypto/md32_common.h @@ -200,16 +200,16 @@ */ # if defined(__i386) # define ROTATE(a,n) ({ register unsigned int ret; \ - asm volatile ( \ + asm ( \ "roll %1,%0" \ : "=r"(ret) \ : "I"(n), "0"(a) \ : "cc"); \ ret; \ }) -# elif defined(__powerpc) +# elif defined(__powerpc) || defined(__ppc) # define ROTATE(a,n) ({ register unsigned int ret; \ - asm volatile ( \ + asm ( \ "rlwinm %0,%1,%2,0,31" \ : "=r"(ret) \ : "r"(a), "I"(n)); \ @@ -226,14 +226,14 @@ /* some GNU C inline assembler templates by <appro@fy.chalmers.se> */ # if defined(__i386) && !defined(I386_ONLY) # define BE_FETCH32(a) ({ register unsigned int l=(a);\ - asm volatile ( \ + asm ( \ "bswapl %0" \ : "=r"(l) : "0"(l)); \ l; \ }) # elif defined(__powerpc) # define LE_FETCH32(a) ({ register unsigned int l; \ - asm volatile ( \ + asm ( \ "lwbrx %0,0,%1" \ : "=r"(l) \ : "r"(a)); \ @@ -242,7 +242,7 @@ # elif defined(__sparc) && defined(ULTRASPARC) # define LE_FETCH32(a) ({ register unsigned int l; \ - asm volatile ( \ + asm ( \ "lda [%1]#ASI_PRIMARY_LITTLE,%0"\ : "=r"(l) \ : "r"(a)); \ |