Revert "Revert "Upgrade to 5.0.71.48"" DO NOT MERGE
This reverts commit f2e3994fa5148cc3d9946666f0b0596290192b0e,
and updates the x64 makefile properly so it doesn't break that
build.
FPIIM-449
Change-Id: Ib83e35bfbae6af627451c926a9650ec57c045605
(cherry picked from commit 109988c7ccb6f3fd1a58574fa3dfb88beaef6632)
diff --git a/test/cctest/test-disasm-arm.cc b/test/cctest/test-disasm-arm.cc
index b3b8a03..74144f2 100644
--- a/test/cctest/test-disasm-arm.cc
+++ b/test/cctest/test-disasm-arm.cc
@@ -362,6 +362,7 @@
SET_UP();
if (CpuFeatures::IsSupported(ARMv7)) {
+ CpuFeatureScope scope(&assm, ARMv7);
COMPARE(ubfx(r0, r1, 5, 10),
"e7e902d1 ubfx r0, r1, #5, #10");
COMPARE(ubfx(r1, r0, 5, 10),
@@ -437,6 +438,9 @@
COMPARE(uxth(r3, r4, 8), "e6ff3474 uxth r3, r4, ror #8");
COMPARE(uxtah(r3, r4, r5, 24), "e6f43c75 uxtah r3, r4, r5, ror #24");
+
+ COMPARE(rbit(r1, r2), "e6ff1f32 rbit r1, r2");
+ COMPARE(rbit(r10, ip), "e6ffaf3c rbit r10, ip");
}
COMPARE(smmla(r0, r1, r2, r3), "e7503211 smmla r0, r1, r2, r3");
@@ -657,18 +661,27 @@
COMPARE(vmls(s6, s4, s5, cc),
"3e023a62 vmlscc.f32 s6, s4, s5");
- COMPARE(vcvt_u32_f64(s0, d0),
- "eebc0bc0 vcvt.u32.f64 s0, d0");
- COMPARE(vcvt_s32_f64(s0, d0),
- "eebd0bc0 vcvt.s32.f64 s0, d0");
- COMPARE(vcvt_f64_u32(d0, s1),
- "eeb80b60 vcvt.f64.u32 d0, s1");
- COMPARE(vcvt_f64_s32(d0, s1),
- "eeb80be0 vcvt.f64.s32 d0, s1");
- COMPARE(vcvt_f32_s32(s0, s2),
- "eeb80ac1 vcvt.f32.s32 s0, s2");
- COMPARE(vcvt_f64_s32(d0, 2),
- "eeba0bcf vcvt.f64.s32 d0, d0, #2");
+ COMPARE(vcvt_f32_f64(s31, d15),
+ "eef7fbcf vcvt.f32.f64 s31, d15");
+ COMPARE(vcvt_f32_s32(s30, s29),
+ "eeb8faee vcvt.f32.s32 s30, s29");
+ COMPARE(vcvt_f64_f32(d14, s28),
+ "eeb7eace vcvt.f64.f32 d14, s28");
+ COMPARE(vcvt_f64_s32(d13, s27),
+ "eeb8dbed vcvt.f64.s32 d13, s27");
+ COMPARE(vcvt_f64_u32(d12, s26),
+ "eeb8cb4d vcvt.f64.u32 d12, s26");
+ COMPARE(vcvt_s32_f32(s25, s24),
+ "eefdcacc vcvt.s32.f32 s25, s24");
+ COMPARE(vcvt_s32_f64(s23, d11),
+ "eefdbbcb vcvt.s32.f64 s23, d11");
+ COMPARE(vcvt_u32_f32(s22, s21),
+ "eebcbaea vcvt.u32.f32 s22, s21");
+ COMPARE(vcvt_u32_f64(s20, d10),
+ "eebcabca vcvt.u32.f64 s20, d10");
+
+ COMPARE(vcvt_f64_s32(d9, 2),
+ "eeba9bcf vcvt.f64.s32 d9, d9, #2");
if (CpuFeatures::IsSupported(VFP32DREGS)) {
COMPARE(vmov(d3, d27),
@@ -742,12 +755,27 @@
COMPARE(vmla(d16, d17, d18),
"ee410ba2 vmla.f64 d16, d17, d18");
- COMPARE(vcvt_u32_f64(s0, d16),
- "eebc0be0 vcvt.u32.f64 s0, d16");
- COMPARE(vcvt_s32_f64(s0, d16),
- "eebd0be0 vcvt.s32.f64 s0, d16");
- COMPARE(vcvt_f64_u32(d16, s1),
- "eef80b60 vcvt.f64.u32 d16, s1");
+ COMPARE(vcvt_f32_f64(s0, d31),
+ "eeb70bef vcvt.f32.f64 s0, d31");
+ COMPARE(vcvt_f32_s32(s1, s2),
+ "eef80ac1 vcvt.f32.s32 s1, s2");
+ COMPARE(vcvt_f64_f32(d30, s3),
+ "eef7eae1 vcvt.f64.f32 d30, s3");
+ COMPARE(vcvt_f64_s32(d29, s4),
+ "eef8dbc2 vcvt.f64.s32 d29, s4");
+ COMPARE(vcvt_f64_u32(d28, s5),
+ "eef8cb62 vcvt.f64.u32 d28, s5");
+ COMPARE(vcvt_s32_f32(s6, s7),
+ "eebd3ae3 vcvt.s32.f32 s6, s7");
+ COMPARE(vcvt_s32_f64(s8, d27),
+ "eebd4beb vcvt.s32.f64 s8, d27");
+ COMPARE(vcvt_u32_f32(s9, s10),
+ "eefc4ac5 vcvt.u32.f32 s9, s10");
+ COMPARE(vcvt_u32_f64(s11, d26),
+ "eefc5bea vcvt.u32.f64 s11, d26");
+
+ COMPARE(vcvt_f64_s32(d25, 2),
+ "eefa9bcf vcvt.f64.s32 d25, d25, #2");
}
}
@@ -1003,3 +1031,45 @@
VERIFY_RUN();
}
+
+
+TEST(Barrier) {
+ SET_UP();
+
+ if (CpuFeatures::IsSupported(ARMv7)) {
+ CpuFeatureScope scope(&assm, ARMv7);
+
+ COMPARE(dmb(OSHLD),
+ "f57ff051 dmb oshld");
+ COMPARE(dmb(OSHST),
+ "f57ff052 dmb oshst");
+ COMPARE(dmb(OSH),
+ "f57ff053 dmb osh");
+ COMPARE(dmb(NSHLD),
+ "f57ff055 dmb nshld");
+ COMPARE(dmb(NSHST),
+ "f57ff056 dmb nshst");
+ COMPARE(dmb(NSH),
+ "f57ff057 dmb nsh");
+ COMPARE(dmb(ISHLD),
+ "f57ff059 dmb ishld");
+ COMPARE(dmb(ISHST),
+ "f57ff05a dmb ishst");
+ COMPARE(dmb(ISH),
+ "f57ff05b dmb ish");
+ COMPARE(dmb(LD),
+ "f57ff05d dmb ld");
+ COMPARE(dmb(ST),
+ "f57ff05e dmb st");
+ COMPARE(dmb(SY),
+ "f57ff05f dmb sy");
+
+ COMPARE(dsb(ISH),
+ "f57ff04b dsb ish");
+
+ COMPARE(isb(ISH),
+ "f57ff06b isb ish");
+ }
+
+ VERIFY_RUN();
+}