aboutsummaryrefslogtreecommitdiff
path: root/test/armv8/a64.rs
diff options
context:
space:
mode:
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 6f43c22..593dcbf 100644
--- a/test/armv8/a64.rs
+++ b/test/armv8/a64.rs
@@ -4283,3 +4283,23 @@ fn test_ext() {
assert!(errs.is_empty());
}
+
+#[test]
+fn test_indexed() {
+ const TESTS: &[([u8; 4], &'static str)] = &[
+ ([0x10, 0x11, 0x80, 0x0f], "fmla v16.2s, v8.2s, v0.s[0]"),
+ ([0x39, 0x58, 0x88, 0x0f], "fmls v25.2s, v1.2s, v8.s[2]"),
+ ([0x08, 0x92, 0x8a, 0x0f], "fmul v8.2s, v16.2s, v10.s[0]"),
+ ([0x01, 0x12, 0x8b, 0x0f], "fmla v1.2s, v16.2s, v11.s[0]"),
+ ([0x8c, 0x12, 0x8e, 0x0f], "fmla v12.2s, v20.2s, v14.s[0]"),
+ ([0xc6, 0x12, 0x8e, 0x0f], "fmla v6.2s, v22.2s, v14.s[0]"),
+ ([0x3c, 0x58, 0xa9, 0x0f], "fmls v28.2s, v1.2s, v9.s[3]"),
+ ];
+ let errs = run_tests(TESTS);
+
+ for err in errs.iter() {
+ println!("{}", err);
+ }
+
+ assert!(errs.is_empty());
+}