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(); |