Use ARM unaligned accesses ifdefs for SPARC as well.
This commit is contained in:
parent
08007ed442
commit
7a4c9474f8
@ -665,7 +665,7 @@ void bitopCommand(client *c) {
|
|||||||
* result in GCC compiling the code using multiple-words load/store
|
* result in GCC compiling the code using multiple-words load/store
|
||||||
* operations that are not supported even in ARM >= v6. */
|
* operations that are not supported even in ARM >= v6. */
|
||||||
j = 0;
|
j = 0;
|
||||||
#ifndef __arm__
|
#ifndef USE_ALIGNED_ACCESS
|
||||||
if (minlen >= sizeof(unsigned long)*4 && numkeys <= 16) {
|
if (minlen >= sizeof(unsigned long)*4 && numkeys <= 16) {
|
||||||
unsigned long *lp[16];
|
unsigned long *lp[16];
|
||||||
unsigned long *lres = (unsigned long*) res;
|
unsigned long *lres = (unsigned long*) res;
|
||||||
|
@ -215,4 +215,13 @@ void setproctitle(const char *fmt, ...);
|
|||||||
#define __arm64__
|
#define __arm64__
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Make sure we can test for SPARC just checking for __sparc__. */
|
||||||
|
#if defined(__sparc) && !defined(__sparc__)
|
||||||
|
#define __sparc__
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(__sparc__) || defined(__arm__)
|
||||||
|
#define USE_ALIGNED_ACCESS
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -401,7 +401,7 @@ uint64_t MurmurHash64A (const void * key, int len, unsigned int seed) {
|
|||||||
uint64_t k;
|
uint64_t k;
|
||||||
|
|
||||||
#if (BYTE_ORDER == LITTLE_ENDIAN)
|
#if (BYTE_ORDER == LITTLE_ENDIAN)
|
||||||
#if defined(__arm__) && !defined(__arm64__)
|
#ifdef USE_ALIGNED_ACCESS
|
||||||
memcpy(&k,data,sizeof(uint64_t));
|
memcpy(&k,data,sizeof(uint64_t));
|
||||||
#else
|
#else
|
||||||
k = *((uint64_t*)data);
|
k = *((uint64_t*)data);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user