Two days old build breakage on i386.

Johan Tibell johan.tibell at
Fri Jun 27 11:23:31 UTC 2014

On Fri, Jun 27, 2014 at 1:14 PM, Simon Marlow <marlowsd at> 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?

More information about the ghc-devs mailing list