aboutsummaryrefslogtreecommitdiff
path: root/test/armv8/a64.rs
diff options
context:
space:
mode:
authoriximeow <me@iximeow.net>2021-12-27 19:24:02 -0800
committeriximeow <me@iximeow.net>2021-12-27 19:24:02 -0800
commit1e26b5a52a7150565c1cfe7b92866a6f13c714fb (patch)
tree75c58f6c07a25f1bfbdc4f88fd60363ea15d23ee /test/armv8/a64.rs
parent4e28a1078e93c15bc8b9076504f2eba4656ccf76 (diff)
movi/mvni scalar/vector
Diffstat (limited to 'test/armv8/a64.rs')
-rw-r--r--test/armv8/a64.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/test/armv8/a64.rs b/test/armv8/a64.rs
index 4ee0bff..ed2b49d 100644
--- a/test/armv8/a64.rs
+++ b/test/armv8/a64.rs
@@ -4319,3 +4319,23 @@ fn test_simd_abs() {
assert!(errs.is_empty());
}
+
+#[test]
+fn test_movi() {
+ const TESTS: &[([u8; 4], &'static str)] = &[
+ ([0x1c, 0x04, 0x00, 0x0f], "movi v28.2s, 0x0"),
+ ([0x28, 0x04, 0x00, 0x0f], "movi v8.2s, 0x1"),
+ ([0x80, 0x66, 0x01, 0x0f], "movi v0.2s, 0x34, lsl 24"),
+ ([0x17, 0x64, 0x04, 0x0f], "movi v23.2s, 0x80, lsl 24"),
+ ([0x01, 0xe4, 0x00, 0x6f], "movi v1.2d, 0x0"),
+ ([0x02, 0xe4, 0x00, 0x6f], "movi v2.2d, 0x0"),
+ ([0x03, 0xe4, 0x00, 0x2f], "movi d3, 0x0"),
+ ];
+ let errs = run_tests(TESTS);
+
+ for err in errs.iter() {
+ println!("{}", err);
+ }
+
+ assert!(errs.is_empty());
+}