Index: /branches/1.2/devel/source/level-0/X86/x86-misc.lisp
===================================================================
--- /branches/1.2/devel/source/level-0/X86/x86-misc.lisp	(revision 8162)
+++ /branches/1.2/devel/source/level-0/X86/x86-misc.lisp	(revision 8163)
@@ -253,7 +253,7 @@
   (trap-unless-typecode= ptr x8664::subtag-macptr)
   (call-subprim .SPgetu64)
-  (macptr-ptr ptr ptr)
+  (macptr-ptr ptr imm2)
   (unbox-fixnum offset imm1)
-  (movq (% imm0) (@ (% ptr) (% imm1)))
+  (movq (% imm0) (@ (% imm2) (% imm1)))
   (restore-simple-frame)
   (single-value-return))
@@ -266,7 +266,7 @@
   (trap-unless-typecode= ptr x8664::subtag-macptr)
   (call-subprim .SPgets64)
-  (macptr-ptr ptr ptr)
+  (macptr-ptr ptr imm2)
   (unbox-fixnum offset imm1)
-  (movq (% imm0) (@ (% ptr) (% imm1)))
+  (movq (% imm0) (@ (% imm2) (% imm1)))
   (restore-simple-frame)
   (single-value-return))
@@ -409,10 +409,10 @@
 
 (defx86lapfunction %atomic-incf-ptr ((ptr arg_z))
-  (macptr-ptr ptr ptr)
-  @again
-  (movq (@ (% ptr)) (% rax))
+  (macptr-ptr ptr imm2)
+  @again
+  (movq (@ (% imm2)) (% rax))
   (lea (@ 1 (% rax)) (% imm1))
   (lock)
-  (cmpxchgq (% imm1) (@ (% ptr)))
+  (cmpxchgq (% imm1) (@ (% imm2)))
   (jne @again)
   (box-fixnum imm1 arg_z)
@@ -420,11 +420,11 @@
 
 (defx86lapfunction %atomic-incf-ptr-by ((ptr arg_y) (by arg_z))
-  (macptr-ptr ptr ptr)
-  @again
-  (movq (@ (% ptr)) (% rax))
+  (macptr-ptr ptr imm2)
+  @again
+  (movq (@ (% imm2)) (% rax))
   (unbox-fixnum by imm1)
   (add (% rax) (% imm1))
   (lock)
-  (cmpxchgq (% imm1) (@ (% ptr)))
+  (cmpxchgq (% imm1) (@ (% imm2)))
   (jnz @again)
   (box-fixnum imm1 arg_z)
@@ -433,10 +433,10 @@
 
 (defx86lapfunction %atomic-decf-ptr ((ptr arg_z))
-  (macptr-ptr ptr ptr)
-  @again
-  (movq (@ (% ptr)) (% rax))
+  (macptr-ptr ptr imm2)
+  @again
+  (movq (@ (% imm2)) (% rax))
   (lea (@ -1 (% rax)) (% imm1))
   (lock)
-  (cmpxchgq (% imm1) (@ (% ptr)))
+  (cmpxchgq (% imm1) (@ (% imm2)))
   (jnz @again)
   (box-fixnum imm1 arg_z)
@@ -444,12 +444,12 @@
 
 (defx86lapfunction %atomic-decf-ptr-if-positive ((ptr arg_z))
-  (macptr-ptr ptr ptr)                  ;must be fixnum-aligned
-  @again
-  (movq (@ (% ptr)) (% rax))
+  (macptr-ptr ptr imm2)
+  @again
+  (movq (@ (% imm2)) (% rax))
   (testq (% rax) (% rax))
   (lea (@ -1 (% rax)) (% imm1))
   (jz @done)
   (lock)
-  (cmpxchgq (% imm1) (@ (% ptr)))
+  (cmpxchgq (% imm1) (@ (% imm2)))
   (jnz @again)
   @done
@@ -469,7 +469,7 @@
 ;;; was equal to OLDVAL.  Return the old value
 (defx86lapfunction %ptr-store-conditional ((ptr arg_x) (expected-oldval arg_y) (newval arg_z))
-  (macptr-ptr ptr ptr)                  ;  must be fixnum-aligned
-  @again
-  (movq (@ (% ptr)) (% imm0))
+  (macptr-ptr ptr imm2)
+  @again
+  (movq (@ (% imm2)) (% imm0))
   (box-fixnum imm0 temp0)
   (cmpq (% temp0) (% expected-oldval))
@@ -477,5 +477,5 @@
   (unbox-fixnum newval imm1)
   (lock)
-  (cmpxchgq (% imm1) (@ (% ptr)))
+  (cmpxchgq (% imm1) (@ (% imm2)))
   (jne @again)
   @done
@@ -499,7 +499,7 @@
 (defx86lapfunction xchgl ((newval arg_y) (ptr arg_z))
   (unbox-fixnum newval imm0)
-  (macptr-ptr ptr arg_y)                ; had better be aligned
+  (macptr-ptr ptr im1)
   (lock)                                ; implicit ?
-  (xchgl (% imm0.l) (@ (% arg_y)))
+  (xchgl (% imm0.l) (@ (% im1)))
   (box-fixnum imm0 arg_z)
   (single-value-return))
