1/* cortex_a55 function units definition : */ 2 3const unsigned int kunitNum = 2; 4Unit *instancekUnitIdSlot0 = new Unit(kUnitIdSlot0); 5if(instancekUnitIdSlot0 == nullptr) { 6 maple::LogInfo::MapleLogger(maple::kLlErr) << "Unit allocation for kUnitIdSlot0 failed." << std::endl; 7} 8DEBUG_ASSERT(instancekUnitIdSlot0, "Unit allocation for kUnitIdSlot0 failed."); 9 10Unit *instancekUnitIdSlot1 = new Unit(kUnitIdSlot1); 11if(instancekUnitIdSlot1 == nullptr) { 12 maple::LogInfo::MapleLogger(maple::kLlErr) << "Unit allocation for kUnitIdSlot1 failed." << std::endl; 13} 14DEBUG_ASSERT(instancekUnitIdSlot1, "Unit allocation for kUnitIdSlot1 failed."); 15 16Unit *instancekUnitIdAgen = new Unit(kUnitIdAgen); 17if(instancekUnitIdAgen == nullptr) { 18 maple::LogInfo::MapleLogger(maple::kLlErr) << "Unit allocation for kUnitIdAgen failed." << std::endl; 19} 20DEBUG_ASSERT(instancekUnitIdAgen, "Unit allocation for kUnitIdAgen failed."); 21 22Unit *instancekUnitIdHazard = new Unit(kUnitIdHazard); 23if(instancekUnitIdHazard == nullptr) { 24 maple::LogInfo::MapleLogger(maple::kLlErr) << "Unit allocation for kUnitIdHazard failed." << std::endl; 25} 26DEBUG_ASSERT(instancekUnitIdHazard, "Unit allocation for kUnitIdHazard failed."); 27 28Unit *instancekUnitIdCrypto = new Unit(kUnitIdCrypto); 29if(instancekUnitIdCrypto == nullptr) { 30 maple::LogInfo::MapleLogger(maple::kLlErr) << "Unit allocation for kUnitIdCrypto failed." << std::endl; 31} 32DEBUG_ASSERT(instancekUnitIdCrypto, "Unit allocation for kUnitIdCrypto failed."); 33 34Unit *instancekUnitIdMul = new Unit(kUnitIdMul); 35if(instancekUnitIdMul == nullptr) { 36 maple::LogInfo::MapleLogger(maple::kLlErr) << "Unit allocation for kUnitIdMul failed." << std::endl; 37} 38DEBUG_ASSERT(instancekUnitIdMul, "Unit allocation for kUnitIdMul failed."); 39 40Unit *instancekUnitIdDiv = new Unit(kUnitIdDiv); 41if(instancekUnitIdDiv == nullptr) { 42 maple::LogInfo::MapleLogger(maple::kLlErr) << "Unit allocation for kUnitIdDiv failed." << std::endl; 43} 44DEBUG_ASSERT(instancekUnitIdDiv, "Unit allocation for kUnitIdDiv failed."); 45 46Unit *instancekUnitIdBranch = new Unit(kUnitIdBranch); 47if(instancekUnitIdBranch == nullptr) { 48 maple::LogInfo::MapleLogger(maple::kLlErr) << "Unit allocation for kUnitIdBranch failed." << std::endl; 49} 50DEBUG_ASSERT(instancekUnitIdBranch, "Unit allocation for kUnitIdBranch failed."); 51 52Unit *instancekUnitIdStAgu = new Unit(kUnitIdStAgu); 53if(instancekUnitIdStAgu == nullptr) { 54 maple::LogInfo::MapleLogger(maple::kLlErr) << "Unit allocation for kUnitIdStAgu failed." << std::endl; 55} 56DEBUG_ASSERT(instancekUnitIdStAgu, "Unit allocation for kUnitIdStAgu failed."); 57 58Unit *instancekUnitIdLdAgu = new Unit(kUnitIdLdAgu); 59if(instancekUnitIdLdAgu == nullptr) { 60 maple::LogInfo::MapleLogger(maple::kLlErr) << "Unit allocation for kUnitIdLdAgu failed." << std::endl; 61} 62DEBUG_ASSERT(instancekUnitIdLdAgu, "Unit allocation for kUnitIdLdAgu failed."); 63 64Unit *instancekUnitIdFpAluLo = new Unit(kUnitIdFpAluLo); 65if(instancekUnitIdFpAluLo == nullptr) { 66 maple::LogInfo::MapleLogger(maple::kLlErr) << "Unit allocation for kUnitIdFpAluLo failed." << std::endl; 67} 68DEBUG_ASSERT(instancekUnitIdFpAluLo, "Unit allocation for kUnitIdFpAluLo failed."); 69 70Unit *instancekUnitIdFpAluHi = new Unit(kUnitIdFpAluHi); 71if(instancekUnitIdFpAluHi == nullptr) { 72 maple::LogInfo::MapleLogger(maple::kLlErr) << "Unit allocation for kUnitIdFpAluHi failed." << std::endl; 73} 74DEBUG_ASSERT(instancekUnitIdFpAluHi, "Unit allocation for kUnitIdFpAluHi failed."); 75 76Unit *instancekUnitIdFpMulLo = new Unit(kUnitIdFpMulLo); 77if(instancekUnitIdFpMulLo == nullptr) { 78 maple::LogInfo::MapleLogger(maple::kLlErr) << "Unit allocation for kUnitIdFpMulLo failed." << std::endl; 79} 80DEBUG_ASSERT(instancekUnitIdFpMulLo, "Unit allocation for kUnitIdFpMulLo failed."); 81 82Unit *instancekUnitIdFpMulHi = new Unit(kUnitIdFpMulHi); 83if(instancekUnitIdFpMulHi == nullptr) { 84 maple::LogInfo::MapleLogger(maple::kLlErr) << "Unit allocation for kUnitIdFpMulHi failed." << std::endl; 85} 86DEBUG_ASSERT(instancekUnitIdFpMulHi, "Unit allocation for kUnitIdFpMulHi failed."); 87 88Unit *instancekUnitIdFpDivLo = new Unit(kUnitIdFpDivLo); 89if(instancekUnitIdFpDivLo == nullptr) { 90 maple::LogInfo::MapleLogger(maple::kLlErr) << "Unit allocation for kUnitIdFpDivLo failed." << std::endl; 91} 92DEBUG_ASSERT(instancekUnitIdFpDivLo, "Unit allocation for kUnitIdFpDivLo failed."); 93 94Unit *instancekUnitIdFpDivHi = new Unit(kUnitIdFpDivHi); 95if(instancekUnitIdFpDivHi == nullptr) { 96 maple::LogInfo::MapleLogger(maple::kLlErr) << "Unit allocation for kUnitIdFpDivHi failed." << std::endl; 97} 98DEBUG_ASSERT(instancekUnitIdFpDivHi, "Unit allocation for kUnitIdFpDivHi failed."); 99 100Unit *instancekUnitIdSlotS = new Unit(kUnitTypeOr, kUnitIdSlotS, kunitNum, 101 instancekUnitIdSlot0, instancekUnitIdSlot1); 102if(instancekUnitIdSlotS == nullptr) { 103 maple::LogInfo::MapleLogger(maple::kLlErr) << "Unit allocation for kUnitIdSlotS failed." << std::endl; 104} 105DEBUG_ASSERT(instancekUnitIdSlotS, "Unit allocation for kUnitIdSlotS failed."); 106 107Unit *instancekUnitIdFpAluS = new Unit(kUnitTypeOr, kUnitIdFpAluS, kunitNum, 108 instancekUnitIdFpAluLo, instancekUnitIdFpAluHi); 109if(instancekUnitIdFpAluS == nullptr) { 110 maple::LogInfo::MapleLogger(maple::kLlErr) << "Unit allocation for kUnitIdFpAluS failed." << std::endl; 111} 112DEBUG_ASSERT(instancekUnitIdFpAluS, "Unit allocation for kUnitIdFpAluS failed."); 113 114Unit *instancekUnitIdFpMulS = new Unit(kUnitTypeOr, kUnitIdFpMulS, kunitNum, 115 instancekUnitIdFpMulLo, instancekUnitIdFpMulHi); 116if(instancekUnitIdFpMulS == nullptr) { 117 maple::LogInfo::MapleLogger(maple::kLlErr) << "Unit allocation for kUnitIdFpMulS failed." << std::endl; 118} 119DEBUG_ASSERT(instancekUnitIdFpMulS, "Unit allocation for kUnitIdFpMulS failed."); 120 121Unit *instancekUnitIdFpDivS = new Unit(kUnitTypeOr, kUnitIdFpDivS, kunitNum, 122 instancekUnitIdFpDivLo, instancekUnitIdFpDivHi); 123if(instancekUnitIdFpDivS == nullptr) { 124 maple::LogInfo::MapleLogger(maple::kLlErr) << "Unit allocation for kUnitIdFpDivS failed." << std::endl; 125} 126DEBUG_ASSERT(instancekUnitIdFpDivS, "Unit allocation for kUnitIdFpDivS failed."); 127 128Unit *instancekUnitIdSlotD = new Unit(kUnitTypeAnd, kUnitIdSlotD, kunitNum, 129 instancekUnitIdSlot0, instancekUnitIdSlot1); 130if(instancekUnitIdSlotD == nullptr) { 131 maple::LogInfo::MapleLogger(maple::kLlErr) << "Unit allocation for kUnitIdSlotD failed." << std::endl; 132} 133DEBUG_ASSERT(instancekUnitIdSlotD, "Unit allocation for kUnitIdSlotD failed."); 134 135Unit *instancekUnitIdFpAluD = new Unit(kUnitTypeAnd, kUnitIdFpAluD, kunitNum, 136 instancekUnitIdFpAluLo, instancekUnitIdFpAluHi); 137if(instancekUnitIdFpAluD == nullptr) { 138 maple::LogInfo::MapleLogger(maple::kLlErr) << "Unit allocation for kUnitIdFpAluD failed." << std::endl; 139} 140DEBUG_ASSERT(instancekUnitIdFpAluD, "Unit allocation for kUnitIdFpAluD failed."); 141 142Unit *instancekUnitIdFpMulD = new Unit(kUnitTypeAnd, kUnitIdFpMulD, kunitNum, 143 instancekUnitIdFpMulLo, instancekUnitIdFpMulHi); 144if(instancekUnitIdFpMulD == nullptr) { 145 maple::LogInfo::MapleLogger(maple::kLlErr) << "Unit allocation for kUnitIdFpMulD failed." << std::endl; 146} 147DEBUG_ASSERT(instancekUnitIdFpMulD, "Unit allocation for kUnitIdFpMulD failed."); 148 149Unit *instancekUnitIdFpDivD = new Unit(kUnitTypeAnd, kUnitIdFpDivD, kunitNum, 150 instancekUnitIdFpDivLo, instancekUnitIdFpDivHi); 151if(instancekUnitIdFpDivD == nullptr) { 152 maple::LogInfo::MapleLogger(maple::kLlErr) << "Unit allocation for kUnitIdFpDivD failed." << std::endl; 153} 154DEBUG_ASSERT(instancekUnitIdFpDivD, "Unit allocation for kUnitIdFpDivD failed."); 155 156Unit *instancekUnitIdSlotSHazard = new Unit(kUnitTypeAnd, kUnitIdSlotSHazard, kunitNum, 157 instancekUnitIdSlotS, instancekUnitIdHazard); 158if(instancekUnitIdSlotSHazard == nullptr) { 159 maple::LogInfo::MapleLogger(maple::kLlErr) << "Unit allocation for kUnitIdSlotSHazard failed." << std::endl; 160} 161DEBUG_ASSERT(instancekUnitIdSlotSHazard, "Unit allocation for kUnitIdSlotSHazard failed."); 162 163Unit *instancekUnitIdSlotSMul = new Unit(kUnitTypeAnd, kUnitIdSlotSMul, kunitNum, 164 instancekUnitIdSlotS, instancekUnitIdMul); 165if(instancekUnitIdSlotSMul == nullptr) { 166 maple::LogInfo::MapleLogger(maple::kLlErr) << "Unit allocation for kUnitIdSlotSMul failed." << std::endl; 167} 168DEBUG_ASSERT(instancekUnitIdSlotSMul, "Unit allocation for kUnitIdSlotSMul failed."); 169 170Unit *instancekUnitIdSlotSBranch = new Unit(kUnitTypeAnd, kUnitIdSlotSBranch, kunitNum, 171 instancekUnitIdSlotS, instancekUnitIdBranch); 172if(instancekUnitIdSlotSBranch == nullptr) { 173 maple::LogInfo::MapleLogger(maple::kLlErr) << "Unit allocation for kUnitIdSlotSBranch failed." << std::endl; 174} 175DEBUG_ASSERT(instancekUnitIdSlotSBranch, "Unit allocation for kUnitIdSlotSBranch failed."); 176 177Unit *instancekUnitIdSlotSAgen = new Unit(kUnitTypeAnd, kUnitIdSlotSAgen, kunitNum, 178 instancekUnitIdSlotS, instancekUnitIdAgen); 179if(instancekUnitIdSlotSAgen == nullptr) { 180 maple::LogInfo::MapleLogger(maple::kLlErr) << "Unit allocation for kUnitIdSlotSAgen failed." << std::endl; 181} 182DEBUG_ASSERT(instancekUnitIdSlotSAgen, "Unit allocation for kUnitIdSlotSAgen failed."); 183 184Unit *instancekUnitIdSlotDAgen = new Unit(kUnitTypeAnd, kUnitIdSlotDAgen, kunitNum, 185 instancekUnitIdSlot0, instancekUnitIdSlot1, instancekUnitIdAgen); 186if(instancekUnitIdSlotDAgen == nullptr) { 187 maple::LogInfo::MapleLogger(maple::kLlErr) << "Unit allocation for kUnitIdSlotDAgen failed." << std::endl; 188} 189DEBUG_ASSERT(instancekUnitIdSlotDAgen, "Unit allocation for kUnitIdSlotDAgen failed."); 190 191Unit *instancekUnitIdSlot0LdAgu = new Unit(kUnitTypeAnd, kUnitIdSlot0LdAgu, kunitNum, 192 instancekUnitIdSlot0, instancekUnitIdLdAgu); 193if(instancekUnitIdSlot0LdAgu == nullptr) { 194 maple::LogInfo::MapleLogger(maple::kLlErr) << "Unit allocation for kUnitIdSlot0LdAgu failed." << std::endl; 195} 196DEBUG_ASSERT(instancekUnitIdSlot0LdAgu, "Unit allocation for kUnitIdSlot0LdAgu failed."); 197 198Unit *instancekUnitIdSlot0StAgu = new Unit(kUnitTypeAnd, kUnitIdSlot0StAgu, kunitNum, 199 instancekUnitIdSlot0, instancekUnitIdStAgu); 200if(instancekUnitIdSlot0StAgu == nullptr) { 201 maple::LogInfo::MapleLogger(maple::kLlErr) << "Unit allocation for kUnitIdSlot0StAgu failed." << std::endl; 202} 203DEBUG_ASSERT(instancekUnitIdSlot0StAgu, "Unit allocation for kUnitIdSlot0StAgu failed."); 204 205