foundBranches[1]->Core.setUnits(jumpSlots[i].second);
HexagonUnitAuction AuctionCore(reservedSlots);
- std::sort(begin(), end(), HexagonInstr::lessCore);
+ std::stable_sort(begin(), end(), HexagonInstr::lessCore);
// see if things ok with that instruction being pinned to slot "slotJump"
bool bFail = false;
slot3ISJ->Core.setUnits(saveUnits & slotThree);
HexagonUnitAuction AuctionCore(reservedSlots);
- std::sort(begin(), end(), HexagonInstr::lessCore);
+ std::stable_sort(begin(), end(), HexagonInstr::lessCore);
// see if things ok with that instruction being pinned to slot #3
bool bFail = false;
if (validateSlots) {
HexagonUnitAuction AuctionCore(reservedSlots);
- std::sort(begin(), end(), HexagonInstr::lessCore);
+ std::stable_sort(begin(), end(), HexagonInstr::lessCore);
for (iterator I = begin(); I != end(); ++I)
if (!AuctionCore.bid(I->Core.getUnits())) {
}
}
// Verify the CVI slot subscriptions.
- std::sort(begin(), end(), HexagonInstr::lessCVI);
+ std::stable_sort(begin(), end(), HexagonInstr::lessCVI);
// create vector of hvx instructions to check
HVXInstsT hvxInsts;
hvxInsts.clear();
if (slotWeight)
// Sort the packet, favoring source order,
// beginning after the previous slot.
- std::sort(ISJ, Packet.end());
+ std::stable_sort(ISJ, Packet.end());
else
// Skip unused slot.
++emptySlots;