Commit 9278480e8f9155fc3b3ce459efd12b500a611b7f
1 parent
7385ac0b
Fix CLO calculation for MIPS64. And a small code cleanup.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3428 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
5 additions
and
5 deletions
target-mips/op.c
... | ... | @@ -543,9 +543,9 @@ void op_clo (void) |
543 | 543 | T0 = 32; |
544 | 544 | } else { |
545 | 545 | for (n = 0; n < 32; n++) { |
546 | - if (!(T0 & (1 << 31))) | |
546 | + if (!(((int32_t)T0) & (1 << 31))) | |
547 | 547 | break; |
548 | - T0 = T0 << 1; | |
548 | + T0 <<= 1; | |
549 | 549 | } |
550 | 550 | T0 = n; |
551 | 551 | } |
... | ... | @@ -562,7 +562,7 @@ void op_clz (void) |
562 | 562 | for (n = 0; n < 32; n++) { |
563 | 563 | if (T0 & (1 << 31)) |
564 | 564 | break; |
565 | - T0 = T0 << 1; | |
565 | + T0 <<= 1; | |
566 | 566 | } |
567 | 567 | T0 = n; |
568 | 568 | } |
... | ... | @@ -747,7 +747,7 @@ void op_dclo (void) |
747 | 747 | for (n = 0; n < 64; n++) { |
748 | 748 | if (!(T0 & (1ULL << 63))) |
749 | 749 | break; |
750 | - T0 = T0 << 1; | |
750 | + T0 <<= 1; | |
751 | 751 | } |
752 | 752 | T0 = n; |
753 | 753 | } |
... | ... | @@ -764,7 +764,7 @@ void op_dclz (void) |
764 | 764 | for (n = 0; n < 64; n++) { |
765 | 765 | if (T0 & (1ULL << 63)) |
766 | 766 | break; |
767 | - T0 = T0 << 1; | |
767 | + T0 <<= 1; | |
768 | 768 | } |
769 | 769 | T0 = n; |
770 | 770 | } | ... | ... |