+ (inst move cfp-tn csp-tn)
+
+ DO-ADD
+ (inst sra temp2 y n-fixnum-tag-bits)
+ (inst addu temp temp1 temp2)
+ ;; check for overflow
+ (inst sra temp1 temp (- n-word-bits n-lowtag-bits))
+ (inst beq temp1 RETURN)
+ (inst nor temp1 temp1)
+ (inst beq temp1 RETURN)
+ (inst nop)
+ (with-fixed-allocation (res pa-flag temp2 bignum-widetag (1+ bignum-digits-offset))
+ (storew temp res bignum-digits-offset other-pointer-lowtag))
+ (inst b DONE)
+ (inst nop)
+
+ RETURN
+ (inst sll res temp n-fixnum-tag-bits)
+
+ DONE)