From: simonmar Date: Tue, 24 Aug 1999 09:33:08 +0000 (+0000) Subject: [project @ 1999-08-24 09:33:08 by simonmar] X-Git-Tag: Approximately_9120_patches~5878 X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=ec6d486e232b41628f72624c95097dc2a69ef5cf [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. --- diff --git a/ghc/includes/PrimOps.h b/ghc/includes/PrimOps.h index 6ae67db..7903e90 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