aboutsummaryrefslogtreecommitdiff
path: root/test/aarch64/test-assembler-aarch64.cc
diff options
context:
space:
mode:
Diffstat (limited to 'test/aarch64/test-assembler-aarch64.cc')
-rw-r--r--test/aarch64/test-assembler-aarch64.cc26
1 files changed, 24 insertions, 2 deletions
diff --git a/test/aarch64/test-assembler-aarch64.cc b/test/aarch64/test-assembler-aarch64.cc
index 9ccf7920..7bd54517 100644
--- a/test/aarch64/test-assembler-aarch64.cc
+++ b/test/aarch64/test-assembler-aarch64.cc
@@ -21791,14 +21791,36 @@ TEST(system_dc) {
START();
__ Mov(x20, msg_addr);
__ Dc(CVAC, x20);
- __ Mov(x21, x20);
+ __ Mov(x21, msg_addr);
__ Dc(CVAU, x21);
- __ Mov(x22, x21);
+ __ Mov(x22, msg_addr);
__ Dc(CIVAC, x22);
// TODO: Add tests to check ZVA.
END();
RUN();
+ ASSERT_EQUAL_64(msg_addr, x20);
+ ASSERT_EQUAL_64(msg_addr, x21);
+ ASSERT_EQUAL_64(msg_addr, x22);
+
+ TEARDOWN();
+}
+
+
+TEST(system_dcpop) {
+ SETUP_WITH_FEATURES(CPUFeatures::kDCPoP);
+ const char* msg = "DCPoP test!";
+ uintptr_t msg_addr = reinterpret_cast<uintptr_t>(msg);
+
+ START();
+ __ Mov(x20, msg_addr);
+ __ Dc(CVAP, x20);
+ END();
+
+#ifdef VIXL_INCLUDE_SIMULATOR_AARCH64
+ RUN();
+ ASSERT_EQUAL_64(msg_addr, x20);
+#endif
TEARDOWN();
}