(cond
((<= nvals 1)
(note-this-location vop :single-value-return)
- (let ((single-value (gen-label)))
- (inst jmp :nc single-value)
- (inst mov rsp-tn rbx-tn)
- (emit-label single-value)))
+ (inst cmov :c rsp-tn rbx-tn))
((<= nvals register-arg-count)
(let ((regs-defaulted (gen-label)))
(note-this-location vop :unknown-return)
((<= nvals 1)
(note-this-location vop :single-value-return)
(let ((single-value (gen-label)))
- (inst jmp :nc single-value)
- (inst mov esp-tn ebx-tn)
- (emit-label single-value)))
+ (cond
+ ((member :cmov *backend-subfeatures*)
+ (inst cmov :c esp-tn ebx-tn))
+ (t
+ (inst jmp :nc single-value)
+ (inst mov esp-tn ebx-tn)
+ (emit-label single-value)))))
((<= nvals register-arg-count)
(let ((regs-defaulted (gen-label)))
(note-this-location vop :unknown-return)
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.9.10.17"
+"0.9.10.18"