0.9.13.47: Thread safety miscellania
[sbcl.git] / src / compiler / x86 / call.lisp
index c84fe9c..c080a6e 100644 (file)
    ((<= 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)