]> granicus.if.org Git - imagemagick/blobdiff - MagickCore/memory-private.h
(no commit message)
[imagemagick] / MagickCore / memory-private.h
index d711a20dc2a25077a128ee7e743214bb4fa2f3d3..3e7199c4657f4348d155e101295fa0e200a7fe1b 100644 (file)
 extern "C" {
 #endif
 
-#define CACHE_LINE_SIZE  (16*sizeof(void *))
+
+#if defined(MAGICK_TARGET_CPU) && (MAGICK_TARGET_CPU == powerpc)
+#  define CACHE_LINE_SIZE  128
+#else
+#  define CACHE_LINE_SIZE  64
+#endif
+
 #define CacheAlign(size)  ((size) < CACHE_LINE_SIZE ? CACHE_LINE_SIZE : (size))
 
+#if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 6))
+#define MagickAssumeAligned(address) \
+  __builtin_assume_aligned((address),CACHE_LINE_SIZE)
+#else
+#define MagickAssumeAligned(address)  (address)
+#endif
+
 #if defined(__cplusplus) || defined(c_plusplus)
 }
 #endif