Revision 966439a6 target-ppc/op_helper.c
b/target-ppc/op_helper.c | ||
---|---|---|
311 | 311 |
((uint32_t)T1 ^ (uint32_t)T0) & (1UL << 31)))) { |
312 | 312 |
xer_ov = 0; |
313 | 313 |
} else { |
314 |
xer_so = 1; |
|
315 | 314 |
xer_ov = 1; |
315 |
xer_so = 1; |
|
316 | 316 |
} |
317 | 317 |
if (likely(T1 != 0)) |
318 | 318 |
xer_ca = 1; |
... | ... | |
327 | 327 |
((uint64_t)T1 ^ (uint64_t)T0) & (1ULL << 63)))) { |
328 | 328 |
xer_ov = 0; |
329 | 329 |
} else { |
330 |
xer_so = 1; |
|
331 | 330 |
xer_ov = 1; |
331 |
xer_so = 1; |
|
332 | 332 |
} |
333 | 333 |
if (likely(T1 != 0)) |
334 | 334 |
xer_ca = 1; |
... | ... | |
342 | 342 |
xer_ov = 0; |
343 | 343 |
T0 = (int32_t)T0 / (int32_t)T1; |
344 | 344 |
} else { |
345 |
xer_so = 1; |
|
346 | 345 |
xer_ov = 1; |
346 |
xer_so = 1; |
|
347 | 347 |
T0 = (-1) * ((uint32_t)T0 >> 31); |
348 | 348 |
} |
349 | 349 |
} |
... | ... | |
356 | 356 |
xer_ov = 0; |
357 | 357 |
T0 = (int64_t)T0 / (int64_t)T1; |
358 | 358 |
} else { |
359 |
xer_so = 1; |
|
360 | 359 |
xer_ov = 1; |
360 |
xer_so = 1; |
|
361 | 361 |
T0 = (-1ULL) * ((uint64_t)T0 >> 63); |
362 | 362 |
} |
363 | 363 |
} |
... | ... | |
369 | 369 |
xer_ov = 0; |
370 | 370 |
T0 = (uint32_t)T0 / (uint32_t)T1; |
371 | 371 |
} else { |
372 |
xer_so = 1; |
|
373 | 372 |
xer_ov = 1; |
373 |
xer_so = 1; |
|
374 | 374 |
T0 = 0; |
375 | 375 |
} |
376 | 376 |
} |
... | ... | |
382 | 382 |
xer_ov = 0; |
383 | 383 |
T0 = (uint64_t)T0 / (uint64_t)T1; |
384 | 384 |
} else { |
385 |
xer_so = 1; |
|
386 | 385 |
xer_ov = 1; |
386 |
xer_so = 1; |
|
387 | 387 |
T0 = 0; |
388 | 388 |
} |
389 | 389 |
} |
... | ... | |
475 | 475 |
(1UL << 31)))) { |
476 | 476 |
xer_ov = 0; |
477 | 477 |
} else { |
478 |
xer_so = 1; |
|
479 | 478 |
xer_ov = 1; |
479 |
xer_so = 1; |
|
480 | 480 |
} |
481 | 481 |
if (likely((uint32_t)T1 != UINT32_MAX)) |
482 | 482 |
xer_ca = 1; |
... | ... | |
491 | 491 |
(1ULL << 63)))) { |
492 | 492 |
xer_ov = 0; |
493 | 493 |
} else { |
494 |
xer_so = 1; |
|
495 | 494 |
xer_ov = 1; |
495 |
xer_so = 1; |
|
496 | 496 |
} |
497 | 497 |
if (likely((uint64_t)T1 != UINT64_MAX)) |
498 | 498 |
xer_ca = 1; |
... | ... | |
1073 | 1073 |
T0 = T1 - T0; |
1074 | 1074 |
if (((uint32_t)(~T2) ^ (uint32_t)T1 ^ UINT32_MAX) & |
1075 | 1075 |
((uint32_t)(~T2) ^ (uint32_t)T0) & (1UL << 31)) { |
1076 |
xer_so = 1; |
|
1077 | 1076 |
xer_ov = 1; |
1077 |
xer_so = 1; |
|
1078 | 1078 |
} else { |
1079 | 1079 |
xer_ov = 0; |
1080 | 1080 |
} |
... | ... | |
2499 | 2499 |
|
2500 | 2500 |
void do_4xx_tlbsx_ (void) |
2501 | 2501 |
{ |
2502 |
int tmp = xer_ov;
|
|
2502 |
int tmp = xer_so;
|
|
2503 | 2503 |
|
2504 | 2504 |
T0 = ppcemb_tlb_search(env, T0, env->spr[SPR_40x_PID]); |
2505 | 2505 |
if (T0 != -1) |
Also available in: Unified diff