floating-point fix for x86_64
[ghc-hetmet.git] / ghc / includes / Stg.h
index 9977d57..a63b7ec 100644 (file)
@@ -367,6 +367,24 @@ INLINE_HEADER StgInt64 PK_Int64(W_ p_src[])
 #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
    -------------------------------------------------------------------------- */