- ((= nvals 1)
- (let ((no-values (gen-label)))
- (inst cmpwi count 0)
- (move (tn-ref-tn values) null-tn)
- (inst beq no-values)
- (loadw (tn-ref-tn values) start)
- (emit-label no-values)))
- (t
- (collect ((defaults))
- (inst addic. count count (- (fixnumize 1)))
- (do ((i 0 (1+ i))
- (tn-ref values (tn-ref-across tn-ref)))
- ((null tn-ref))
- (let ((default-lab (gen-label))
- (tn (tn-ref-tn tn-ref)))
- (defaults (cons default-lab tn))
-
- (inst subi count count (fixnumize 1))
- (inst blt default-lab)
- (sc-case tn
- ((descriptor-reg any-reg)
- (loadw tn start i))
- (control-stack
- (loadw move-temp start i)
- (store-stack-tn tn move-temp)))
+ ((= nvals 1)
+ (let ((no-values (gen-label)))
+ (inst cmpwi count 0)
+ (move (tn-ref-tn values) null-tn)
+ (inst beq no-values)
+ (loadw (tn-ref-tn values) start)
+ (emit-label no-values)))
+ (t
+ (collect ((defaults))
+ (inst addic. count count (- (fixnumize 1)))
+ (do ((i 0 (1+ i))
+ (tn-ref values (tn-ref-across tn-ref)))
+ ((null tn-ref))
+ (let ((default-lab (gen-label))
+ (tn (tn-ref-tn tn-ref)))
+ (defaults (cons default-lab tn))
+
+ (inst subi count count (fixnumize 1))
+ (inst blt default-lab)
+ (sc-case tn
+ ((descriptor-reg any-reg)
+ (loadw tn start i))
+ (control-stack
+ (loadw move-temp start i)
+ (store-stack-tn tn move-temp)))