From ec6d486e232b41628f72624c95097dc2a69ef5cf Mon Sep 17 00:00:00 2001
From: simonmar <unknown>
Date: Tue, 24 Aug 1999 09:33:08 +0000
Subject: [PATCH] [project @ 1999-08-24 09:33:08 by simonmar] An inaccurate
 constraint on the inline assembly code for mulIntC# caused gcc 2.95 to
 overoptimise around it, leading to bogus multiply code for Integers.

---
 ghc/includes/PrimOps.h | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/ghc/includes/PrimOps.h b/ghc/includes/PrimOps.h
index 6ae67dbfc0ab..7903e90565de 100644
--- a/ghc/includes/PrimOps.h
+++ b/ghc/includes/PrimOps.h
@@ -1,5 +1,5 @@
 /* -----------------------------------------------------------------------------
- * $Id: PrimOps.h,v 1.33 1999/07/29 10:00:22 simonmar Exp $
+ * $Id: PrimOps.h,v 1.34 1999/08/24 09:33:08 simonmar Exp $
  *
  * (c) The GHC Team, 1998-1999
  *
@@ -132,7 +132,7 @@ I_ stg_div (I_ a, I_ b);
 	   jno 1f\n\t					\
 	   movl $1,%1\n\t				\
 	   1:" 						\
-	: "=r" (r), "=r" (c) : "r" (a), "0" (b));	\
+	: "=r" (r), "=&r" (c) : "r" (a), "0" (b));	\
 }
 
 #elif SIZEOF_VOID_P == 4
@@ -663,7 +663,9 @@ EF_(putMVarzh_fast);
    Delay/Wait PrimOps
    -------------------------------------------------------------------------- */
 
-/* Hmm, I'll think about these later. */
+EF_(waitReadzh_fast);
+EF_(waitWritezh_fast);
+EF_(delayzh_fast);
 
 /* -----------------------------------------------------------------------------
    Primitive I/O, error-handling PrimOps
@@ -711,6 +713,8 @@ EF_(seqzh_fast);
 
 #define myThreadIdzh(t) (t = CurrentTSO)
 
+extern int cmp_thread(const StgTSO *tso1, const StgTSO *tso2);
+
 /* Hmm, I'll think about these later. */
 /* -----------------------------------------------------------------------------
    Pointer equality
-- 
GitLab