diff --git a/src/compiler.cpp b/src/compiler.cpp index 52d3dbfa99..b1a4251bbb 100644 --- a/src/compiler.cpp +++ b/src/compiler.cpp @@ -1317,11 +1317,10 @@ pickTarget(Context* c, Read* read, bool intersectRead, registerPenalty = (c->floatRegisterCount > registerReserveCount ? 0 : Target::LowRegisterPenalty); } else { - registerPenalty = (c->availableRegisterCount > registerReserveCount - ? 0 : Target::LowRegisterPenalty); + abort(c); } } else { - registerPenalty = (c->availableRegisterCount > registerReserveCount + registerPenalty = (c->generalRegisterCount > registerReserveCount || c->floatRegisterCount > registerReserveCount ? 0 : Target::LowRegisterPenalty); }