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>
Wed, 19 Jun 2019 01:42:04 +0000 (21:42 -0400)
includes/Rts.h

index 58eb508..8808bfe 100644 (file)
@@ -74,6 +74,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