diff options
Diffstat (limited to 'tests/armv8/a64.rs')
-rw-r--r-- | tests/armv8/a64.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/armv8/a64.rs b/tests/armv8/a64.rs index 3f8c4e4..7f6fd04 100644 --- a/tests/armv8/a64.rs +++ b/tests/armv8/a64.rs @@ -58,6 +58,26 @@ fn test_unpredictable() { } #[test] +fn test_barrier() { + test_display([0xbf, 0x30, 0x03, 0xd5], "dmb #0"); + test_display([0xbf, 0x31, 0x03, 0xd5], "dmb oshld"); + test_display([0xbf, 0x32, 0x03, 0xd5], "dmb oshst"); + test_display([0xbf, 0x33, 0x03, 0xd5], "dmb osh"); + test_display([0xbf, 0x34, 0x03, 0xd5], "dmb #4"); + test_display([0xbf, 0x35, 0x03, 0xd5], "dmb nshld"); + test_display([0xbf, 0x36, 0x03, 0xd5], "dmb nshst"); + test_display([0xbf, 0x37, 0x03, 0xd5], "dmb nsh"); + test_display([0xbf, 0x38, 0x03, 0xd5], "dmb #8"); + test_display([0xbf, 0x39, 0x03, 0xd5], "dmb ishld"); + test_display([0xbf, 0x3a, 0x03, 0xd5], "dmb ishst"); + test_display([0xbf, 0x3b, 0x03, 0xd5], "dmb ish"); + test_display([0xbf, 0x3c, 0x03, 0xd5], "dmb #12"); + test_display([0xbf, 0x3d, 0x03, 0xd5], "dmb ld"); + test_display([0xbf, 0x3e, 0x03, 0xd5], "dmb st"); + test_display([0xbf, 0x3f, 0x03, 0xd5], "dmb sy"); +} + +#[test] fn test_display_misc() { test_display( [0xc0, 0x03, 0x5f, 0xd6], |