Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(45)

Side by Side Diff: test/cctest/test-disasm-arm.cc

Issue 2773303002: [ARM] Implement widening and narrowing integer moves, vmovl, vqmovn. (Closed)
Patch Set: Add some disassembler tests for vmovl. Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« src/arm/simulator-arm.cc ('K') | « test/cctest/test-assembler-arm.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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 }
OLDNEW
« src/arm/simulator-arm.cc ('K') | « test/cctest/test-assembler-arm.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698