From c20f4ed5336e0119ad5cf646a6847a4f013c5268 Mon Sep 17 00:00:00 2001
From: wlott <wlott>
Date: Tue, 28 Apr 1992 04:23:47 +0000
Subject: [PATCH] Fixed generic-* to work given the new pseudo-atomic.

---
 assembly/sparc/arith.lisp | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/assembly/sparc/arith.lisp b/assembly/sparc/arith.lisp
index 36dabfff9..78b49e3fe 100644
--- a/assembly/sparc/arith.lisp
+++ b/assembly/sparc/arith.lisp
@@ -7,7 +7,7 @@
 ;;; Scott Fahlman (FAHLMAN@CMUC). 
 ;;; **********************************************************************
 ;;;
-;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/assembly/sparc/arith.lisp,v 1.9 1992/03/11 21:37:45 wlott Exp $
+;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/assembly/sparc/arith.lisp,v 1.10 1992/04/28 04:23:47 wlott Exp $
 ;;;
 ;;; Stuff to handle simple cases for generic arithmetic.
 ;;;
@@ -166,12 +166,10 @@
   (inst or lo temp)
   (inst sra hi 2)
   ;; Allocate a BIGNUM for the result.
-  (pseudo-atomic (temp)
+  (pseudo-atomic (:extra (pad-data-block (1+ bignum-digits-offset)))
     (let ((one-word (gen-label)))
-      (inst add res alloc-tn other-pointer-type)
-      ;; Assume we need one word.
-      (inst add alloc-tn (pad-data-block (1+ bignum-digits-offset)))
-      ;; Is that correct?
+      (inst or res alloc-tn other-pointer-type)
+      ;; We start out assuming that we need one word.  Is that correct?
       (inst sra temp lo 31)
       (inst xorcc temp hi)
       (inst b :eq one-word)
-- 
GitLab