| Index: test/cctest/test-disasm-arm.cc
|
| diff --git a/test/cctest/test-disasm-arm.cc b/test/cctest/test-disasm-arm.cc
|
| index 85b472d30a31445bb148de8282510b62127b28d3..9d6623ea9a255897a3fc9cb4d51ab0e7cb80fb52 100644
|
| --- a/test/cctest/test-disasm-arm.cc
|
| +++ b/test/cctest/test-disasm-arm.cc
|
| @@ -405,6 +405,17 @@ TEST(Type3) {
|
| "e6ff3f94 usat r3, #31, r4, lsl #31");
|
| COMPARE(usat(r8, 0, Operand(r5, ASR, 17)),
|
| "e6e088d5 usat r8, #0, r5, asr #17");
|
| +
|
| + COMPARE(pkhbt(r3, r4, Operand(r5, LSL, 17)),
|
| + "e6843895 pkhbt r3, r4, r5, lsl #17");
|
| + COMPARE(pkhtb(r3, r4, Operand(r5, ASR, 17)),
|
| + "e68438d5 pkhtb r3, r4, r5, asr #17");
|
| + COMPARE(uxtb(r3, Operand(r4, ROR, 8)),
|
| + "e6ef3474 uxtb r3, r4, ror #8");
|
| + COMPARE(uxtab(r3, r4, Operand(r5, ROR, 8)),
|
| + "e6e43475 uxtab r3, r4, r5, ror #8");
|
| + COMPARE(uxtb16(r3, Operand(r4, ROR, 8)),
|
| + "e6cf3474 uxtb16 r3, r4, ror #8");
|
| }
|
|
|
| VERIFY_RUN();
|
| @@ -662,6 +673,23 @@ TEST(Vfp) {
|
| }
|
|
|
|
|
| +TEST(Neon) {
|
| + SET_UP();
|
| +
|
| + if (CpuFeatures::IsSupported(NEON)) {
|
| + CpuFeatureScope scope(&assm, NEON);
|
| + COMPARE(vld1(Neon8, NeonListOperand(d4, 4), NeonMemOperand(r1)),
|
| + "f421420f vld1.8 {d4, d5, d6, d7}, [r1]");
|
| + COMPARE(vst1(Neon16, NeonListOperand(d17, 4), NeonMemOperand(r9)),
|
| + "f449124f vst1.16 {d17, d18, d19, d20}, [r9]");
|
| + COMPARE(vmovl(NeonU8, q4, d2),
|
| + "f3884a12 vmovl.u8 q4, d2");
|
| + }
|
| +
|
| + VERIFY_RUN();
|
| +}
|
| +
|
| +
|
| TEST(LoadStore) {
|
| SET_UP();
|
|
|
| @@ -858,6 +886,11 @@ TEST(LoadStore) {
|
| "e1eba7ff strd r10, [fp, #+127]!");
|
| COMPARE(strd(ip, sp, MemOperand(sp, -127, PreIndex)),
|
| "e16dc7ff strd ip, [sp, #-127]!");
|
| +
|
| + COMPARE(pld(MemOperand(r1, 0)),
|
| + "f5d1f000 pld [r1]");
|
| + COMPARE(pld(MemOperand(r2, 128)),
|
| + "f5d2f080 pld [r2, #+128]");
|
| }
|
|
|
| VERIFY_RUN();
|
|
|