rts: Add prefetch macros
authorBen Gamari <ben@smart-cactus.org>
Sat, 18 May 2019 15:02:03 +0000 (11:02 -0400)
committerBen Gamari <ben@smart-cactus.org>
Sun, 19 May 2019 18:13:02 +0000 (14:13 -0400)
includes/Rts.h

index 18745dd..58ec91b 100644 (file)
@@ -68,6 +68,10 @@ extern "C" {
 #define RTS_UNREACHABLE abort()
 #endif
 
+/* Prefetch primitives */
+#define prefetchForRead(ptr) __builtin_prefetch(ptr, 0)
+#define prefetchForWrite(ptr) __builtin_prefetch(ptr, 1)
+
 /* Fix for mingw stat problem (done here so it's early enough) */
 #if defined(mingw32_HOST_OS)
 #define __MSVCRT__ 1