On Fri, Jun 27, 2014 at 1:14 PM, Simon Marlow <marlo...@gmail.com> wrote: > The problem is that this instruction requires three separate registers, but > cmpxchgl already reads and writes %eax leaving only two free registers (%ecx > and %edx). > > You'll need to arrange to not use the complicated addressing modes with > cmpxchg on i386, and keep the number of free regs required <= 2.
Where's the best place to arrange for that? If I switch from using getAmode to computing the address into a temp register in StgCmmPrim will that ensure that the address is simple, or could some optimization replace my temp register computation with a complex address again? _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs