Commit bb3911a609084dc1c0c72fc25884ef712066bec9
1 parent
4e3b1ea1
Sparc64 add/sub flag bugs fixed (Blue Swirl)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1579 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
4 additions
and
4 deletions
target-sparc/op.c
... | ... | @@ -379,7 +379,7 @@ void OPPROTO op_add_T1_T0_cc(void) |
379 | 379 | env->psr |= PSR_ZERO; |
380 | 380 | if ((int32_t) T0 < 0) |
381 | 381 | env->psr |= PSR_NEG; |
382 | - if ((src1 & 0xffffffff) < (T1 & 0xffffffff)) | |
382 | + if ((T0 & 0xffffffff) < (src1 & 0xffffffff)) | |
383 | 383 | env->psr |= PSR_CARRY; |
384 | 384 | if ((((src1 & 0xffffffff) ^ (T1 & 0xffffffff) ^ -1) & |
385 | 385 | ((src1 & 0xffffffff) ^ (T0 & 0xffffffff))) & (1 << 31)) |
... | ... | @@ -424,7 +424,7 @@ void OPPROTO op_addx_T1_T0_cc(void) |
424 | 424 | env->psr |= PSR_ZERO; |
425 | 425 | if ((int32_t) T0 < 0) |
426 | 426 | env->psr |= PSR_NEG; |
427 | - if ((src1 & 0xffffffff) < (T1 & 0xffffffff)) | |
427 | + if ((T0 & 0xffffffff) < (src1 & 0xffffffff)) | |
428 | 428 | env->psr |= PSR_CARRY; |
429 | 429 | if ((((src1 & 0xffffffff) ^ (T1 & 0xffffffff) ^ -1) & |
430 | 430 | ((src1 & 0xffffffff) ^ (T0 & 0xffffffff))) & (1 << 31)) |
... | ... | @@ -480,7 +480,7 @@ void OPPROTO op_sub_T1_T0_cc(void) |
480 | 480 | env->xcc |= PSR_ZERO; |
481 | 481 | if ((int64_t) T0 < 0) |
482 | 482 | env->xcc |= PSR_NEG; |
483 | - if (T0 < src1) | |
483 | + if (src1 < T1) | |
484 | 484 | env->xcc |= PSR_CARRY; |
485 | 485 | if (((src1 ^ T1) & (src1 ^ T0)) & (1ULL << 63)) |
486 | 486 | env->xcc |= PSR_OVF; |
... | ... | @@ -525,7 +525,7 @@ void OPPROTO op_subx_T1_T0_cc(void) |
525 | 525 | env->xcc |= PSR_ZERO; |
526 | 526 | if ((int64_t) T0 < 0) |
527 | 527 | env->xcc |= PSR_NEG; |
528 | - if (T0 < src1) | |
528 | + if (src1 < T1) | |
529 | 529 | env->xcc |= PSR_CARRY; |
530 | 530 | if (((src1 ^ T1) & (src1 ^ T0)) & (1ULL << 63)) |
531 | 531 | env->xcc |= PSR_OVF; | ... | ... |