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(); | |
678 if (kArchVariant == kMips64r6) { | 677 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"); | |
687 | 685 |
688 COMPARE(min_d(f3, f4, f5), "462520dc min.d f3, f4, f5"); | 686 COMPARE(min_d(f3, f4, f5), "462520dc min.d f3, f4, f5"); |
689 COMPARE(max_d(f3, f4, f5), "462520de max.d f3, f4, f5"); | 687 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 | |
694 COMPARE(rint_d(f8, f6), "4620321a rint.d f8, f6"); | 688 COMPARE(rint_d(f8, f6), "4620321a rint.d f8, f6"); |
695 | 689 VERIFY_RUN(); |
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"); | |
706 } | 690 } |
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(); | |
765 } | 691 } |
OLD | NEW |