static_inst.cc (7122:0c8bb53cdffe) static_inst.cc (7140:d2f0418e9390)
1/*
2 * Copyright (c) 2010 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 217 unchanged lines hidden (view full) ---

226}
227
228bool
229ArmStaticInstBase::arm_sub_overflow(int32_t result, int32_t lhs, int32_t rhs) const
230{
231 return findOverflow(32, result, lhs, ~rhs);
232}
233
1/*
2 * Copyright (c) 2010 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 217 unchanged lines hidden (view full) ---

226}
227
228bool
229ArmStaticInstBase::arm_sub_overflow(int32_t result, int32_t lhs, int32_t rhs) const
230{
231 return findOverflow(32, result, lhs, ~rhs);
232}
233
234uint32_t
235ArmStaticInstBase::modified_imm(uint8_t ctrlImm, uint8_t dataImm) const
236{
237 uint32_t bigData = dataImm;
238 uint32_t bigCtrl = ctrlImm;
239 if (bigCtrl < 4) {
240 switch (bigCtrl) {
241 case 0:
242 return bigData;
243 case 1:
244 return bigData | (bigData << 16);
245 case 2:
246 return (bigData << 8) | (bigData << 24);
247 case 3:
248 return (bigData << 0) | (bigData << 8) |
249 (bigData << 16) | (bigData << 24);
250 }
251 }
252 bigCtrl = (bigCtrl << 1) | ((bigData >> 7) & 0x1);
253 bigData |= (1 << 7);
254 return bigData << (32 - bigCtrl);
255}
256
257void
258ArmStaticInstBase::printReg(std::ostream &os, int reg) const
259{
260 if (reg < FP_Base_DepTag) {
261 switch (reg) {
262 case PCReg:
263 ccprintf(os, "pc");
264 break;

--- 197 unchanged lines hidden ---
234void
235ArmStaticInstBase::printReg(std::ostream &os, int reg) const
236{
237 if (reg < FP_Base_DepTag) {
238 switch (reg) {
239 case PCReg:
240 ccprintf(os, "pc");
241 break;

--- 197 unchanged lines hidden ---