Chromium Code Reviews| 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 915 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 926 | 926 |
| 927 TEST(Neon) { | 927 TEST(Neon) { |
| 928 SET_UP(); | 928 SET_UP(); |
| 929 | 929 |
| 930 if (CpuFeatures::IsSupported(NEON)) { | 930 if (CpuFeatures::IsSupported(NEON)) { |
| 931 CpuFeatureScope scope(&assm, NEON); | 931 CpuFeatureScope scope(&assm, NEON); |
| 932 COMPARE(vld1(Neon8, NeonListOperand(d4, 4), NeonMemOperand(r1)), | 932 COMPARE(vld1(Neon8, NeonListOperand(d4, 4), NeonMemOperand(r1)), |
| 933 "f421420f vld1.8 {d4, d5, d6, d7}, [r1]"); | 933 "f421420f vld1.8 {d4, d5, d6, d7}, [r1]"); |
| 934 COMPARE(vst1(Neon16, NeonListOperand(d17, 4), NeonMemOperand(r9)), | 934 COMPARE(vst1(Neon16, NeonListOperand(d17, 4), NeonMemOperand(r9)), |
| 935 "f449124f vst1.16 {d17, d18, d19, d20}, [r9]"); | 935 "f449124f vst1.16 {d17, d18, d19, d20}, [r9]"); |
| 936 COMPARE(vmovl(NeonU8, q3, d1), | 936 COMPARE(vmovl(NeonU8, q3, d1), "f3886a11 vmovl.u8 q3, d1"); |
| 937 "f3886a11 vmovl.u8 q3, d1"); | 937 COMPARE(vmovl(NeonU8, q4, d2), "f3888a12 vmovl.u8 q4, d2"); |
| 938 COMPARE(vmovl(NeonU8, q4, d2), | 938 COMPARE(vmovl(NeonS16, q4, d2), "f2908a12 vmovl.s16 q4, d2"); |
| 939 "f3888a12 vmovl.u8 q4, d2"); | 939 COMPARE(vmovl(NeonU32, q4, d2), "f3a08a12 vmovl.u32 q4, d2"); |
| 940 | |
| 941 COMPARE(vqmovn(NeonU8, d16, q8), "f3f202e0 vqmovn.u16 d16, q8"); | |
|
martyn.capewell
2017/03/27 13:19:43
It seems confusing that vqmovn(NeonU8...) disassem
bbudge
2017/03/27 17:48:02
Otherwise, I'd need to extend the NeonDataType enu
| |
| 942 COMPARE(vqmovn(NeonS16, d16, q8), "f3f602a0 vqmovn.s32 d16, q8"); | |
| 943 COMPARE(vqmovn(NeonU32, d2, q4), "f3ba22c8 vqmovn.u64 d2, q4"); | |
| 940 | 944 |
| 941 COMPARE(vmov(NeonS8, d0, 0, r0), "ee400b10 vmov.8 d0[0], r0"); | 945 COMPARE(vmov(NeonS8, d0, 0, r0), "ee400b10 vmov.8 d0[0], r0"); |
| 942 COMPARE(vmov(NeonU8, d1, 1, r1), "ee411b30 vmov.8 d1[1], r1"); | 946 COMPARE(vmov(NeonU8, d1, 1, r1), "ee411b30 vmov.8 d1[1], r1"); |
| 943 COMPARE(vmov(NeonS8, d2, 2, r2), "ee422b50 vmov.8 d2[2], r2"); | 947 COMPARE(vmov(NeonS8, d2, 2, r2), "ee422b50 vmov.8 d2[2], r2"); |
| 944 COMPARE(vmov(NeonU8, d3, 3, r8), "ee438b70 vmov.8 d3[3], r8"); | 948 COMPARE(vmov(NeonU8, d3, 3, r8), "ee438b70 vmov.8 d3[3], r8"); |
| 945 COMPARE(vmov(NeonS8, d4, 4, r0), "ee640b10 vmov.8 d4[4], r0"); | 949 COMPARE(vmov(NeonS8, d4, 4, r0), "ee640b10 vmov.8 d4[4], r0"); |
| 946 COMPARE(vmov(NeonU8, d5, 5, r1), "ee651b30 vmov.8 d5[5], r1"); | 950 COMPARE(vmov(NeonU8, d5, 5, r1), "ee651b30 vmov.8 d5[5], r1"); |
| 947 COMPARE(vmov(NeonS8, d6, 6, r2), "ee662b50 vmov.8 d6[6], r2"); | 951 COMPARE(vmov(NeonS8, d6, 6, r2), "ee662b50 vmov.8 d6[6], r2"); |
| 948 COMPARE(vmov(NeonU8, d7, 7, r8), "ee678b70 vmov.8 d7[7], r8"); | 952 COMPARE(vmov(NeonU8, d7, 7, r8), "ee678b70 vmov.8 d7[7], r8"); |
| 949 COMPARE(vmov(NeonS16, d0, 0, r0), "ee000b30 vmov.16 d0[0], r0"); | 953 COMPARE(vmov(NeonS16, d0, 0, r0), "ee000b30 vmov.16 d0[0], r0"); |
| (...skipping 495 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1445 | 1449 |
| 1446 COMPARE(ldrexb(r0, r1), "e1d10f9f ldrexb r0, [r1]"); | 1450 COMPARE(ldrexb(r0, r1), "e1d10f9f ldrexb r0, [r1]"); |
| 1447 COMPARE(strexb(r0, r1, r2), "e1c20f91 strexb r0, r1, [r2]"); | 1451 COMPARE(strexb(r0, r1, r2), "e1c20f91 strexb r0, r1, [r2]"); |
| 1448 COMPARE(ldrexh(r0, r1), "e1f10f9f ldrexh r0, [r1]"); | 1452 COMPARE(ldrexh(r0, r1), "e1f10f9f ldrexh r0, [r1]"); |
| 1449 COMPARE(strexh(r0, r1, r2), "e1e20f91 strexh r0, r1, [r2]"); | 1453 COMPARE(strexh(r0, r1, r2), "e1e20f91 strexh r0, r1, [r2]"); |
| 1450 COMPARE(ldrex(r0, r1), "e1910f9f ldrex r0, [r1]"); | 1454 COMPARE(ldrex(r0, r1), "e1910f9f ldrex r0, [r1]"); |
| 1451 COMPARE(strex(r0, r1, r2), "e1820f91 strex r0, r1, [r2]"); | 1455 COMPARE(strex(r0, r1, r2), "e1820f91 strex r0, r1, [r2]"); |
| 1452 | 1456 |
| 1453 VERIFY_RUN(); | 1457 VERIFY_RUN(); |
| 1454 } | 1458 } |
| OLD | NEW |