I seem to have found the ghc/gcc 2.95 problem.  There was a bug in one of
the constraints on an inline-assembly fragment in the PrimOp for small
integer multiplication; patch below.

I've run some benchmarks, and gcc 2.95 does a *much* better job than 2.7.2.1
of compiling the garbage collector: it lops an average of something like 15%
off the GC time.  wheyhey!

Haven't tried gcc 2.95 on a Sparc yet.

Cheers,
        Simon

*** PrimOps.h   1999/07/29 10:00:22     1.33
--- PrimOps.h   1999/08/24 09:36:41     1.35
***************
*** 1,5 ****
  /*
----------------------------------------------------------------------------
-
!  * $Id: PrimOps.h,v 1.33 1999/07/29 10:00:22 simonmar Exp $
   *
   * (c) The GHC Team, 1998-1999
   *
--- 1,5 ----
  /*
----------------------------------------------------------------------------
-
!  * $Id: PrimOps.h,v 1.35 1999/08/24 09:36:41 simonmar Exp $
   *
   * (c) The GHC Team, 1998-1999
   *
***************
*** 132,138 ****
           jno 1f\n\t                                   \
           movl $1,%1\n\t                               \
           1:"                                          \
!       : "=r" (r), "=r" (c) : "r" (a), "0" (b));       \
  }
  
  #elif SIZEOF_VOID_P == 4
--- 132,138 ----
           jno 1f\n\t                                   \
           movl $1,%1\n\t                               \
           1:"                                          \
!       : "=r" (r), "=&r" (c) : "r" (a), "0" (b));      \
  }
  
  #elif SIZEOF_VOID_P == 4

Reply via email to