diff --git a/src/compiler/ppc/float.lisp b/src/compiler/ppc/float.lisp index 200772f3ea81b7339aa26b9f42f452d9d8fac240..c5c944bd46d06cb17ffc9ff1e96a5ef6ea049101 100644 --- a/src/compiler/ppc/float.lisp +++ b/src/compiler/ppc/float.lisp @@ -1445,6 +1445,9 @@ ;; operands, if we can. (multiple-value-bind (fop format rd rs1 rs2) (get-fp-operation scp) + (unless fop + ;; Give up if we don't know the operation + (return-from get-fp-operands (values nil (list nil nil)))) (let ((traps (logand (ldb float-exceptions-byte modes) (ldb float-traps-byte modes))) (fs1 (and fop rs1 (sigcontext-float-register scp rs1 format)))