OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 656 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
667 COMPARE(ext_(s6, s7, 30, 2), | 667 COMPARE(ext_(s6, s7, 30, 2), |
668 "7ef60f80 ext s6, s7, 30, 2"); | 668 "7ef60f80 ext s6, s7, 30, 2"); |
669 COMPARE(ext_(v0, v1, 0, 32), | 669 COMPARE(ext_(v0, v1, 0, 32), |
670 "7c62f800 ext v0, v1, 0, 32"); | 670 "7c62f800 ext v0, v1, 0, 32"); |
671 | 671 |
672 VERIFY_RUN(); | 672 VERIFY_RUN(); |
673 } | 673 } |
674 | 674 |
675 | 675 |
676 TEST(Type1) { | 676 TEST(Type1) { |
| 677 SET_UP(); |
677 if (kArchVariant == kMips64r6) { | 678 if (kArchVariant == kMips64r6) { |
678 SET_UP(); | |
679 COMPARE(seleqz(a0, a1, a2), "00a62035 seleqz a0, a1, a2"); | 679 COMPARE(seleqz(a0, a1, a2), "00a62035 seleqz a0, a1, a2"); |
680 COMPARE(selnez(a0, a1, a2), "00a62037 selnez a0, a1, a2"); | 680 COMPARE(selnez(a0, a1, a2), "00a62037 selnez a0, a1, a2"); |
681 | 681 |
682 | 682 |
683 COMPARE(seleqz(D, f3, f4, f5), "462520d4 seleqz.d f3, f4, f5"); | 683 COMPARE(seleqz(D, f3, f4, f5), "462520d4 seleqz.d f3, f4, f5"); |
684 COMPARE(selnez(D, f3, f4, f5), "462520d7 selnez.d f3, f4, f5"); | 684 COMPARE(selnez(D, f3, f4, f5), "462520d7 selnez.d f3, f4, f5"); |
| 685 COMPARE(seleqz(S, f3, f4, f5), "460520d4 seleqz.s f3, f4, f5"); |
| 686 COMPARE(selnez(S, f3, f4, f5), "460520d7 selnez.s f3, f4, f5"); |
685 | 687 |
686 COMPARE(min_d(f3, f4, f5), "462520dc min.d f3, f4, f5"); | 688 COMPARE(min_d(f3, f4, f5), "462520dc min.d f3, f4, f5"); |
687 COMPARE(max_d(f3, f4, f5), "462520de max.d f3, f4, f5"); | 689 COMPARE(max_d(f3, f4, f5), "462520de max.d f3, f4, f5"); |
| 690 |
| 691 COMPARE(sel(S, f3, f4, f5), "460520d0 sel.s f3, f4, f5"); |
| 692 COMPARE(sel(D, f3, f4, f5), "462520d0 sel.d f3, f4, f5"); |
| 693 |
688 COMPARE(rint_d(f8, f6), "4620321a rint.d f8, f6"); | 694 COMPARE(rint_d(f8, f6), "4620321a rint.d f8, f6"); |
689 VERIFY_RUN(); | 695 |
| 696 COMPARE(min_s(f3, f4, f5), "460520dc min.s f3, f4, f5"); |
| 697 COMPARE(max_s(f3, f4, f5), "460520de max.s f3, f4, f5"); |
| 698 |
| 699 COMPARE(rint(S, f8, f6), "4600321a rint.s f8, f6"); |
| 700 |
| 701 COMPARE(mina_d(f3, f4, f5), "462520dd mina.d f3, f4, f5"); |
| 702 COMPARE(mina_s(f3, f4, f5), "460520dd mina.s f3, f4, f5"); |
| 703 |
| 704 COMPARE(maxa_d(f3, f4, f5), "462520df maxa.d f3, f4, f5"); |
| 705 COMPARE(maxa_s(f3, f4, f5), "460520df maxa.s f3, f4, f5"); |
690 } | 706 } |
| 707 COMPARE(trunc_w_d(f8, f6), "4620320d trunc.w.d f8, f6"); |
| 708 COMPARE(trunc_w_s(f8, f6), "4600320d trunc.w.s f8, f6"); |
| 709 |
| 710 COMPARE(round_w_s(f8, f6), "4600320c round.w.s f8, f6"); |
| 711 COMPARE(round_w_d(f8, f6), "4620320c round.w.d f8, f6"); |
| 712 |
| 713 COMPARE(round_l_s(f8, f6), "46003208 round.l.s f8, f6"); |
| 714 COMPARE(round_l_d(f8, f6), "46203208 round.l.d f8, f6"); |
| 715 |
| 716 COMPARE(floor_w_s(f8, f6), "4600320f floor.w.s f8, f6"); |
| 717 COMPARE(floor_w_d(f8, f6), "4620320f floor.w.d f8, f6"); |
| 718 |
| 719 COMPARE(floor_l_s(f8, f6), "4600320b floor.l.s f8, f6"); |
| 720 COMPARE(floor_l_d(f8, f6), "4620320b floor.l.d f8, f6"); |
| 721 |
| 722 COMPARE(ceil_w_s(f8, f6), "4600320e ceil.w.s f8, f6"); |
| 723 COMPARE(ceil_w_d(f8, f6), "4620320e ceil.w.d f8, f6"); |
| 724 |
| 725 COMPARE(ceil_l_s(f8, f6), "4600320a ceil.l.s f8, f6"); |
| 726 COMPARE(ceil_l_d(f8, f6), "4620320a ceil.l.d f8, f6"); |
| 727 |
| 728 COMPARE(sub_s(f10, f8, f6), "46064281 sub.s f10, f8, f6"); |
| 729 COMPARE(sub_d(f10, f8, f6), "46264281 sub.d f10, f8, f6"); |
| 730 |
| 731 COMPARE(sqrt_s(f8, f6), "46003204 sqrt.s f8, f6"); |
| 732 COMPARE(sqrt_d(f8, f6), "46203204 sqrt.d f8, f6"); |
| 733 |
| 734 COMPARE(neg_s(f8, f6), "46003207 neg.s f8, f6"); |
| 735 COMPARE(neg_d(f8, f6), "46203207 neg.d f8, f6"); |
| 736 |
| 737 COMPARE(mul_s(f8, f6, f4), "46043202 mul.s f8, f6, f4"); |
| 738 COMPARE(mul_d(f8, f6, f4), "46243202 mul.d f8, f6, f4"); |
| 739 |
| 740 COMPARE(rsqrt_s(f8, f6), "46003216 rsqrt.s f8, f6"); |
| 741 COMPARE(rsqrt_d(f8, f6), "46203216 rsqrt.d f8, f6"); |
| 742 |
| 743 COMPARE(recip_s(f8, f6), "46003215 recip.s f8, f6"); |
| 744 COMPARE(recip_d(f8, f6), "46203215 recip.d f8, f6"); |
| 745 |
| 746 COMPARE(mov_s(f6, f4), "46002186 mov.s f6, f4"); |
| 747 COMPARE(mov_d(f6, f4), "46202186 mov.d f6, f4"); |
| 748 if (kArchVariant == kMips64r2) { |
| 749 COMPARE(trunc_l_d(f8, f6), "46203209 trunc.l.d f8, f6"); |
| 750 COMPARE(trunc_l_s(f8, f6), "46003209 trunc.l.s f8, f6"); |
| 751 |
| 752 COMPARE(movz_s(f6, f4, t0), "460c2192 movz.s f6, f4, t0"); |
| 753 COMPARE(movz_d(f6, f4, t0), "462c2192 movz.d f6, f4, t0"); |
| 754 |
| 755 COMPARE(movt_s(f6, f4, 4), "46112191 movt.s f6, f4, cc(1)"); |
| 756 COMPARE(movt_d(f6, f4, 4), "46312191 movt.d f6, f4, cc(1)"); |
| 757 |
| 758 COMPARE(movf_s(f6, f4, 4), "46102191 movf.s f6, f4, cc(1)"); |
| 759 COMPARE(movf_d(f6, f4, 4), "46302191 movf.d f6, f4, cc(1)"); |
| 760 |
| 761 COMPARE(movn_s(f6, f4, t0), "460c2193 movn.s f6, f4, t0"); |
| 762 COMPARE(movn_d(f6, f4, t0), "462c2193 movn.d f6, f4, t0"); |
| 763 } |
| 764 VERIFY_RUN(); |
691 } | 765 } |
OLD | NEW |