Add wcStore(), a write-combining store if supported
(I tried using it in the update code and only succeeded in making
things slower, but it might come in handy in the future)
#endif
/* -----------------------------------------------------------------------------
+ Write-combining store
+ -------------------------------------------------------------------------- */
+
+INLINE_HEADER void
+wcStore (StgPtr p, StgWord w)
+{
+#ifdef x86_64_HOST_ARCH
+ __asm__(
+ "movnti\t%1, %0"
+ : "=m" (*p)
+ : "r" (w)
+ );
+#else
+ *p = w;
+#endif
+}
+
+/* -----------------------------------------------------------------------------
Integer multiply with overflow
-------------------------------------------------------------------------- */