OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 639 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
650 COMPARE(vmls(d2, d1, d0), | 650 COMPARE(vmls(d2, d1, d0), |
651 "ee012b40 vmls.f64 d2, d1, d0"); | 651 "ee012b40 vmls.f64 d2, d1, d0"); |
652 COMPARE(vmls(d6, d4, d5, cc), | 652 COMPARE(vmls(d6, d4, d5, cc), |
653 "3e046b45 vmlscc.f64 d6, d4, d5"); | 653 "3e046b45 vmlscc.f64 d6, d4, d5"); |
654 | 654 |
655 COMPARE(vmls(s2, s1, s0), | 655 COMPARE(vmls(s2, s1, s0), |
656 "ee001ac0 vmls.f32 s2, s1, s0"); | 656 "ee001ac0 vmls.f32 s2, s1, s0"); |
657 COMPARE(vmls(s6, s4, s5, cc), | 657 COMPARE(vmls(s6, s4, s5, cc), |
658 "3e023a62 vmlscc.f32 s6, s4, s5"); | 658 "3e023a62 vmlscc.f32 s6, s4, s5"); |
659 | 659 |
660 COMPARE(vcvt_u32_f64(s0, d0), | 660 COMPARE(vcvt_f32_f64(s31, d15), |
661 "eebc0bc0 vcvt.u32.f64 s0, d0"); | 661 "eef7fbcf vcvt.f32.f64 s31, d15"); |
662 COMPARE(vcvt_s32_f64(s0, d0), | 662 COMPARE(vcvt_f32_s32(s30, s29), |
663 "eebd0bc0 vcvt.s32.f64 s0, d0"); | 663 "eeb8faee vcvt.f32.s32 s30, s29"); |
664 COMPARE(vcvt_f64_u32(d0, s1), | 664 COMPARE(vcvt_f64_f32(d14, s28), |
665 "eeb80b60 vcvt.f64.u32 d0, s1"); | 665 "eeb7eace vcvt.f64.f32 d14, s28"); |
666 COMPARE(vcvt_f64_s32(d0, s1), | 666 COMPARE(vcvt_f64_s32(d13, s27), |
667 "eeb80be0 vcvt.f64.s32 d0, s1"); | 667 "eeb8dbed vcvt.f64.s32 d13, s27"); |
668 COMPARE(vcvt_f32_s32(s0, s2), | 668 COMPARE(vcvt_f64_u32(d12, s26), |
669 "eeb80ac1 vcvt.f32.s32 s0, s2"); | 669 "eeb8cb4d vcvt.f64.u32 d12, s26"); |
670 COMPARE(vcvt_f64_s32(d0, 2), | 670 COMPARE(vcvt_s32_f32(s25, s24), |
671 "eeba0bcf vcvt.f64.s32 d0, d0, #2"); | 671 "eefdcacc vcvt.s32.f32 s25, s24"); |
| 672 COMPARE(vcvt_s32_f64(s23, d11), |
| 673 "eefdbbcb vcvt.s32.f64 s23, d11"); |
| 674 COMPARE(vcvt_u32_f32(s22, s21), |
| 675 "eebcbaea vcvt.u32.f32 s22, s21"); |
| 676 COMPARE(vcvt_u32_f64(s20, d10), |
| 677 "eebcabca vcvt.u32.f64 s20, d10"); |
| 678 |
| 679 COMPARE(vcvt_f64_s32(d9, 2), |
| 680 "eeba9bcf vcvt.f64.s32 d9, d9, #2"); |
672 | 681 |
673 if (CpuFeatures::IsSupported(VFP32DREGS)) { | 682 if (CpuFeatures::IsSupported(VFP32DREGS)) { |
674 COMPARE(vmov(d3, d27), | 683 COMPARE(vmov(d3, d27), |
675 "eeb03b6b vmov.f64 d3, d27"); | 684 "eeb03b6b vmov.f64 d3, d27"); |
676 COMPARE(vmov(d18, d7), | 685 COMPARE(vmov(d18, d7), |
677 "eef02b47 vmov.f64 d18, d7"); | 686 "eef02b47 vmov.f64 d18, d7"); |
678 COMPARE(vmov(d18, r2, r3), | 687 COMPARE(vmov(d18, r2, r3), |
679 "ec432b32 vmov d18, r2, r3"); | 688 "ec432b32 vmov d18, r2, r3"); |
680 COMPARE(vmov(r2, r3, d18), | 689 COMPARE(vmov(r2, r3, d18), |
681 "ec532b32 vmov r2, r3, d18"); | 690 "ec532b32 vmov r2, r3, d18"); |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
735 COMPARE(vldm(ia, r3, d16, d31), | 744 COMPARE(vldm(ia, r3, d16, d31), |
736 "ecd30b20 vldmia r3, {d16-d31}"); | 745 "ecd30b20 vldmia r3, {d16-d31}"); |
737 COMPARE(vstm(ia, r0, d23, d27), | 746 COMPARE(vstm(ia, r0, d23, d27), |
738 "ecc07b0a vstmia r0, {d23-d27}"); | 747 "ecc07b0a vstmia r0, {d23-d27}"); |
739 COMPARE(vldm(ia, r3, d23, d27), | 748 COMPARE(vldm(ia, r3, d23, d27), |
740 "ecd37b0a vldmia r3, {d23-d27}"); | 749 "ecd37b0a vldmia r3, {d23-d27}"); |
741 | 750 |
742 COMPARE(vmla(d16, d17, d18), | 751 COMPARE(vmla(d16, d17, d18), |
743 "ee410ba2 vmla.f64 d16, d17, d18"); | 752 "ee410ba2 vmla.f64 d16, d17, d18"); |
744 | 753 |
745 COMPARE(vcvt_u32_f64(s0, d16), | 754 COMPARE(vcvt_f32_f64(s0, d31), |
746 "eebc0be0 vcvt.u32.f64 s0, d16"); | 755 "eeb70bef vcvt.f32.f64 s0, d31"); |
747 COMPARE(vcvt_s32_f64(s0, d16), | 756 COMPARE(vcvt_f32_s32(s1, s2), |
748 "eebd0be0 vcvt.s32.f64 s0, d16"); | 757 "eef80ac1 vcvt.f32.s32 s1, s2"); |
749 COMPARE(vcvt_f64_u32(d16, s1), | 758 COMPARE(vcvt_f64_f32(d30, s3), |
750 "eef80b60 vcvt.f64.u32 d16, s1"); | 759 "eef7eae1 vcvt.f64.f32 d30, s3"); |
| 760 COMPARE(vcvt_f64_s32(d29, s4), |
| 761 "eef8dbc2 vcvt.f64.s32 d29, s4"); |
| 762 COMPARE(vcvt_f64_u32(d28, s5), |
| 763 "eef8cb62 vcvt.f64.u32 d28, s5"); |
| 764 COMPARE(vcvt_s32_f32(s6, s7), |
| 765 "eebd3ae3 vcvt.s32.f32 s6, s7"); |
| 766 COMPARE(vcvt_s32_f64(s8, d27), |
| 767 "eebd4beb vcvt.s32.f64 s8, d27"); |
| 768 COMPARE(vcvt_u32_f32(s9, s10), |
| 769 "eefc4ac5 vcvt.u32.f32 s9, s10"); |
| 770 COMPARE(vcvt_u32_f64(s11, d26), |
| 771 "eefc5bea vcvt.u32.f64 s11, d26"); |
| 772 |
| 773 COMPARE(vcvt_f64_s32(d25, 2), |
| 774 "eefa9bcf vcvt.f64.s32 d25, d25, #2"); |
751 } | 775 } |
752 } | 776 } |
753 | 777 |
754 VERIFY_RUN(); | 778 VERIFY_RUN(); |
755 } | 779 } |
756 | 780 |
757 | 781 |
758 TEST(ARMv8_vrintX_disasm) { | 782 TEST(ARMv8_vrintX_disasm) { |
759 SET_UP(); | 783 SET_UP(); |
760 | 784 |
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
996 "e16dc7ff strd ip, [sp, #-127]!"); | 1020 "e16dc7ff strd ip, [sp, #-127]!"); |
997 | 1021 |
998 COMPARE(pld(MemOperand(r1, 0)), | 1022 COMPARE(pld(MemOperand(r1, 0)), |
999 "f5d1f000 pld [r1]"); | 1023 "f5d1f000 pld [r1]"); |
1000 COMPARE(pld(MemOperand(r2, 128)), | 1024 COMPARE(pld(MemOperand(r2, 128)), |
1001 "f5d2f080 pld [r2, #+128]"); | 1025 "f5d2f080 pld [r2, #+128]"); |
1002 } | 1026 } |
1003 | 1027 |
1004 VERIFY_RUN(); | 1028 VERIFY_RUN(); |
1005 } | 1029 } |
OLD | NEW |