Revision 36081602 target-ppc/op_helper.c
b/target-ppc/op_helper.c | ||
---|---|---|
88 | 88 |
{ |
89 | 89 |
int i, sh; |
90 | 90 |
|
91 |
for (i = 0, sh = 7; i < 8; i++, sh --) {
|
|
91 |
for (i = 0, sh = 7; i < 8; i++, sh--) { |
|
92 | 92 |
if (mask & (1 << sh)) |
93 | 93 |
env->crf[i] = (T0 >> (sh * 4)) & 0xFUL; |
94 | 94 |
} |
... | ... | |
216 | 216 |
|
217 | 217 |
static void neg128 (uint64_t *plow, uint64_t *phigh) |
218 | 218 |
{ |
219 |
*plow = ~ *plow;
|
|
220 |
*phigh = ~ *phigh;
|
|
219 |
*plow = ~*plow; |
|
220 |
*phigh = ~*phigh; |
|
221 | 221 |
add128(plow, phigh, 1, 0); |
222 | 222 |
} |
223 | 223 |
|
... | ... | |
258 | 258 |
static void imul64 (uint64_t *plow, uint64_t *phigh, int64_t a, int64_t b) |
259 | 259 |
{ |
260 | 260 |
int sa, sb; |
261 |
|
|
261 | 262 |
sa = (a < 0); |
262 | 263 |
if (sa) |
263 | 264 |
a = -a; |
... | ... | |
2493 | 2494 |
|
2494 | 2495 |
void do_4xx_tlbsx (void) |
2495 | 2496 |
{ |
2496 |
T0 = ppcemb_tlb_search(env, T0); |
|
2497 |
T0 = ppcemb_tlb_search(env, T0, env->spr[SPR_40x_PID]);
|
|
2497 | 2498 |
} |
2498 | 2499 |
|
2499 | 2500 |
void do_4xx_tlbsx_ (void) |
2500 | 2501 |
{ |
2501 | 2502 |
int tmp = xer_ov; |
2502 | 2503 |
|
2503 |
T0 = ppcemb_tlb_search(env, T0); |
|
2504 |
T0 = ppcemb_tlb_search(env, T0, env->spr[SPR_40x_PID]);
|
|
2504 | 2505 |
if (T0 != -1) |
2505 | 2506 |
tmp |= 0x02; |
2506 | 2507 |
env->crf[0] = tmp; |
Also available in: Unified diff