Commit ec6d486e authored by simonmar's avatar simonmar
Browse files

[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.
parent 1b964925
/* -----------------------------------------------------------------------------
* $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
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment