| 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 |