nativetrace.cc (8303:5a95f1d2494e) nativetrace.cc (8641:4d3ecac1abec)
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

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

151 nState.update(this);
152
153 }
154
155 bool errorFound = false;
156 // Regular int regs
157 for (int i = 0; i < STATE_NUMVALS; i++) {
158 if (nState.changed[i] || mState.changed[i]) {
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

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

151 nState.update(this);
152
153 }
154
155 bool errorFound = false;
156 // Regular int regs
157 for (int i = 0; i < STATE_NUMVALS; i++) {
158 if (nState.changed[i] || mState.changed[i]) {
159 const char *vergence = " ";
160 bool oldMatch = (mState.oldState[i] == nState.oldState[i]);
161 bool newMatch = (mState.newState[i] == nState.newState[i]);
162 if (oldMatch && newMatch) {
163 // The more things change, the more they stay the same.
164 continue;
159 bool oldMatch = (mState.oldState[i] == nState.oldState[i]);
160 bool newMatch = (mState.newState[i] == nState.newState[i]);
161 if (oldMatch && newMatch) {
162 // The more things change, the more they stay the same.
163 continue;
165 } else if (oldMatch && !newMatch) {
164 }
165
166 errorFound = true;
167
168#ifndef NDEBUG
169 const char *vergence = " ";
170 if (oldMatch && !newMatch) {
166 vergence = "<>";
167 } else if (!oldMatch && newMatch) {
168 vergence = "><";
169 }
171 vergence = "<>";
172 } else if (!oldMatch && newMatch) {
173 vergence = "><";
174 }
170 errorFound = true;
175
171 if (!nState.changed[i]) {
172 DPRINTF(ExecRegDelta, "%s [%5s] "\
173 "Native: %#010x "\
174 "M5: %#010x => %#010x\n",
175 vergence, regNames[i],
176 nState.newState[i],
177 mState.oldState[i], mState.newState[i]);
178 } else if (!mState.changed[i]) {

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

185 } else {
186 DPRINTF(ExecRegDelta, "%s [%5s] "\
187 "Native: %#010x => %#010x "\
188 "M5: %#010x => %#010x\n",
189 vergence, regNames[i],
190 nState.oldState[i], nState.newState[i],
191 mState.oldState[i], mState.newState[i]);
192 }
176 if (!nState.changed[i]) {
177 DPRINTF(ExecRegDelta, "%s [%5s] "\
178 "Native: %#010x "\
179 "M5: %#010x => %#010x\n",
180 vergence, regNames[i],
181 nState.newState[i],
182 mState.oldState[i], mState.newState[i]);
183 } else if (!mState.changed[i]) {

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

190 } else {
191 DPRINTF(ExecRegDelta, "%s [%5s] "\
192 "Native: %#010x => %#010x "\
193 "M5: %#010x => %#010x\n",
194 vergence, regNames[i],
195 nState.oldState[i], nState.newState[i],
196 mState.oldState[i], mState.newState[i]);
197 }
198#endif
193 }
194 }
195 if (errorFound) {
196 StaticInstPtr inst = record->getStaticInst();
197 assert(inst);
198 bool ran = true;
199 if (inst->isMicroop()) {
200 ran = false;

--- 23 unchanged lines hidden ---
199 }
200 }
201 if (errorFound) {
202 StaticInstPtr inst = record->getStaticInst();
203 assert(inst);
204 bool ran = true;
205 if (inst->isMicroop()) {
206 ran = false;

--- 23 unchanged lines hidden ---