about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--test/arch/aarch64/arch.py1786
-rw-r--r--test/test_all.py1
2 files changed, 1787 insertions, 0 deletions
diff --git a/test/arch/aarch64/arch.py b/test/arch/aarch64/arch.py
new file mode 100644
index 00000000..a42fd9db
--- /dev/null
+++ b/test/arch/aarch64/arch.py
@@ -0,0 +1,1786 @@
+import os, sys
+import time
+from miasm2.arch.aarch64.arch import *
+
+filename = os.environ.get('PYTHONSTARTUP')
+if filename and os.path.isfile(filename):
+    execfile(filename)
+
+
+reg_tests_aarch64 = [
+    ("XXXXXXXX    TST        W5, W3",
+     "BF00036A"),
+    ("XXXXXXXX    LDP        X19, X20, [SP, 0x10]",
+     "F35341A9"),
+    ("XXXXXXXX    STP        X24, X23, [SP, 0x10]",
+     "F85F01A9"),
+
+
+    ("004024DC    MVN        X1, X0",
+     "E10320AA"),
+
+    ("00011374    SUB        SP, SP, 0x20",
+     "FF8300D1"),
+    ("0009F254    SUB        W19, W19, 0x40",
+     "73020151"),
+    ("00025F24    SUBS       W3, W0, 0x1",
+     "03040071"),
+    ("00071338    SUBS       X1, X1, 0x1",
+     "210400F1"),
+    ("0000E678    SUB        SP, SP, 0x360",
+     "FF830DD1"),
+    ("0000E7E4    ADD        X0, X24, 0x40",
+     "00030191"),
+    ("00011230    ADDS       X19, X19, 0x8",
+     "732200B1"),
+    ("0000CC68    ADRP       X3, 0xCF000",
+     "630600F0"),
+    ("000432A0    ADR        X1, 0xC",
+     "61000010"),
+    ("0000E928    SUB        X22, X22, X2",
+     "D60202CB"),
+    ("00035B50    SUB        W2, W0, W1",
+     "0200014B"),
+    ("00012018    ADD        X0, X0, X3 LSL 0x1",
+     "0004038B"),
+    ("0000E9A4    SUBS       W23, W2, W23",
+     "5700176B"),
+    ("0006D500    ADD        X0, X0, 0x1000",
+     "00044091"),
+    ("000A57C0    ADD        X0, X0, 0x5000",
+     "00144091"),
+    ("0001EDF4    ADD        W0, W0, W2 LSR 0x1",
+     "0004420B"),
+    ("00067434    ADD        X19, X0, X19 LSR 0x3",
+     "130C538B"),
+    ("0008E148    SUB        W20, W1, W20 ASR 0x1",
+     "3404944B"),
+    ("00013258    SUB        X19, X1, X19 ASR 0x3F",
+     "33FC93CB"),
+    ("0000D66C    SUB        SP, X23, X0 UXTX 0x0",
+     "FF6220CB"),
+    ("00071EF4    SUBS       X0, X0, 0x10000",
+     "004040F1"),
+    ("0000D5AC    NEG        W6, W6",
+     "E603064B"),
+
+
+    ("004028B8    CMP        X0, XZR",
+     "1F001FEB"),
+    ("004029D0    CMP        X0, 0x3F",
+     "1FFC00F1"),
+
+
+    ("0007FA38    AND        W0, W0, 0x7000000",
+     "00080812"),
+
+    ("0009E5C4    AND        W0, W0, 0xFF",
+     "001C0012"),
+    ("0007BDB0    AND        W0, W0, 0x7",
+     "00080012"),
+
+    ("000A0A14    EOR        W24, W24, 0x6",
+     "18071F52"),
+
+    ("0004A0C0    EOR        W19, W0, 0x3",
+     "13040052"),
+
+    ("00010234    EOR        W0, W0, 0x4000",
+     "00001252"),
+
+    ("00020924    EOR        W0, W0, 0x4",
+     "00001E52"),
+
+    ("0002094C    EOR        W0, W0, 0x8",
+     "00001D52"),
+    ("0004B410    EOR        W0, W0, 0x1",
+     "00000052"),
+
+
+    ("000466BC    AND        X19, X0, 0xFFFFFFFFFFFFFFF8",
+     "13F07D92"),
+    ("0000FA3C    AND        W0, W0, 0xFF00",
+     "001C1812"),
+    ("0002049C    AND        W1, W0, 0x7FFF",
+     "01380012"),
+    ("0001F650    AND        X0, X0, 0x1FFFFFFF0",
+     "00707C92"),
+    ("0009B4B0    AND        W0, W0, 0xFFFFFF87",
+     "006C1912"),
+    ("0005D7D4    AND        W0, W0, 0xFF0000FF",
+     "003C0812"),
+    ("0000D564    ORR        W0, W0, 0xFFFFFFF8",
+     "00701D32"),
+    ("00065E24    ORR        X19, X19, 0x1",
+     "730240B2"),
+    ("000165AC    ANDS       W0, W24, 0xE",
+     "000B1F72"),
+    ("00079A80    ANDS       X20, X2, 0xFF",
+     "541C40F2"),
+
+    ("0005BD5C    AND        W0, W0, W24",
+     "0000180A"),
+    ("0008F824    AND        W0, W24, W23",
+     "0003170A"),
+    ("0001AFE4    BIC        X5, X23, X5",
+     "E502258A"),
+
+    ("000A36B4    BIC        W0, W21, W19",
+     "A002330A"),
+    ("0000CD54    ORR        W0, W2, W0 LSL 0x10",
+     "4040002A"),
+    ("0000CD88    ORR        X0, X0, X1 LSL 0x20",
+     "008001AA"),
+    ("0001C420    ORR        X21, X21, X0 LSL 0x30",
+     "B5C200AA"),
+    ("0006C060    ORR        W1, W5, W1 ASR 0x8",
+     "A120812A"),
+    ("0002962C    ORN        W0, W0, W25",
+     "0000392A"),
+    ("0000FBE4    EOR        W1, W1, W0",
+     "2100004A"),
+    ("0001C3B0    EOR        X3, X2, X2 ASR 0x3F",
+     "43FC82CA"),
+    ("00022174    EOR        W3, W3, W1 LSL 0x8",
+     "6320014A"),
+    ("00010B0C    ANDS       W19, W19, W1",
+     "7302016A"),
+    ("0006634C    ANDS       X2, X20, X2",
+     "820202EA"),
+    ("0003E0C8    BICS       W19, W19, W2",
+     "7302226A"),
+
+    ("00026388    MOVK       W0, 0x4550 LSL 0x10",
+     "00AAA872"),
+    ("000218A4    MOVZ       W0, 0x2580",
+     "00B08452"),
+    ("000340E8    MOVZ       X1, 0x0",
+     "010080D2"),
+    ("0001D628    MOVZ       X1, 0x100000",
+     "0102A0D2"),
+    ("0003317C    MOVN       W2, 0x0",
+     "02008012"),
+    ("00034FC0    MOVN       W2, 0x80000000",
+     "0200B012"),
+    ("000234C8    MOVN       X2, 0x8000000000000000",
+     "0200F092"),
+    ("000290B0    MOVN       X3, 0x0",
+     "03008092"),
+
+    ("00029074    MOV        X0, X26",
+     "E0031AAA"),
+    ("00028F40    MOV        W0, W24",
+     "E003182A"),
+    ("00028D84    B.NE       0x40",
+     "01020054"),
+    ("00028DC0    B.GE       0xC",
+     "6A000054"),
+    ("0000C880    B.NE       0xFFFFFFFFFFFFFFD8",
+     "C1FEFF54"),
+    ("0000D27C    B.LS       0x2C",
+     "69010054"),
+
+    ("XXXXXXXX    ADD        W0, W0, W0 UXTB 0x3",
+     "000C200B"),
+    ("XXXXXXXX    ADD        W0, W0, W0 UXTB 0x1",
+     "0004200B"),
+    ("XXXXXXXX    ADD        W0, W0, W0 UXTB 0x0",
+     "0000200B"),
+    ("0000B330    BR         X17",
+     "20021FD6"),
+    ("000A54F0    BLR        X20",
+     "80023FD6"),
+    ("000A5684    RET        LR",
+     "C0035FD6"),
+    ("000A563C    BL         0xFFFFFFFFFFF66A54",
+     "959AFD97"),
+    ("000A4CF4    B          0xFFFFFFFFFFFFFFD0",
+     "F4FFFF17"),
+
+    ("00012008    STRB       W7, [X6], 0x2",
+     "C7240038"),
+    ("00010A2C    LDRB       W1, [X19], 0x1",
+     "61164038"),
+    ("0002FDF0    LDR        W0, [X24], 0x4",
+     "004740B8"),
+    ("000A8F38    STR        W2, [X1], 0x4",
+     "224400B8"),
+    ("0003F2D0    STR        X0, [X1], 0x8",
+     "208400F8"),
+    ("00081764    LDRSB      W1, [X19], 0x1",
+     "6116C038"),
+    ("0002CABC    STRH       W1, [X0], 0x2",
+     "01240078"),
+    ("00037EF0    LDRH       W2, [X1], 0x4",
+     "22444078"),
+
+    ("00081504    LDR        Q0, [X1], 0x10",
+     "2004C13C"),
+    ("00081508    STR        B0, [X1], 0x10",
+     "2004013C"),
+    ("0008150C    LDR        B0, [X1], 0x10",
+     "2004413C"),
+    ("00081510    STR        Q0, [X1], 0x10",
+     "2004813C"),
+    ("00081508    STR        S0, [X1], 0x10",
+     "200401BC"),
+
+
+    ("0006A108    LDR        X0, [X24, 0x8]!",
+     "008F40F8"),
+    ("0007D490    LDRB       W1, [X0, 0x1]!",
+     "011C4038"),
+    ("00028888    LDRB       W1, [X24, 0xFFFFFFFFFFFFFFFF]!",
+     "01FF5F38"),
+    ("0000F550    STRB       W27, [X0, 0xFFFFFFFFFFFFFFFF]!",
+     "1BFC1F38"),
+    ("0001104C    STR        W0, [X1, 0xFFFFFFFFFFFFFFFC]!",
+     "20CC1FB8"),
+    ("00016BF0    STR        WZR, [X20, 0xFFFFFFFFFFFFFFFC]!",
+     "9FCE1FB8"),
+    ("000169BC    STR        XZR, [X2, 0xFFFFFFFFFFFFFFF8]!",
+     "5F8C1FF8"),
+
+    ("000169CC    STR        X2, [SP, 0x48]",
+     "E22700F9"),
+    ("000169C8    STR        X2, [SP, 0x40]",
+     "E22300F9"),
+    ("0007C144    LDR        W0, [X0, 0x4]",
+     "000440B9"),
+    ("0006C158    LDR        W6, [X2, 0x1DD8]",
+     "46D85DB9"),
+    ("00017F04    STR        XZR, [SP, 0xA8]",
+     "FF5700F9"),
+    ("00061B04    LDR        X20, [X0, 0xC30]",
+     "141846F9"),
+
+
+    ("0000F55C    STURB      W19, [X24, 0xFFFFFFFFFFFFFFFF]",
+     "13F31F38"),
+    ("0000FCC4    STUR       X4, [X25, 0xFFFFFFFFFFFFFFF8]",
+     "24831FF8"),
+    ("00029C40    STUR       W22, [X20, 0x1A]",
+     "96A201B8"),
+    ("00036364    STURB      WZR, [X20, 0xFFFFFFFFFFFFFFFF]",
+     "9FF21F38"),
+    ("0003CEF0    STURH      W2, [X0, 0xFFFFFFFFFFFFFFFE]",
+     "02E01F78"),
+    ("0000E91C    LDUR       X2, [X1, 0xFFFFFFFFFFFFFF80]",
+     "220058F8"),
+    ("00010318    LDUR       W0, [X0, 0xFFFFFFFFFFFFFFF0]",
+     "00005FB8"),
+    ("0000F54C    LDURB      W19, [X24, 0xFFFFFFFFFFFFFFFF]",
+     "13F35F38"),
+    ("0006D484    LDURH      W4, [X3, 0xFFFFFFFFFFFFFFFE]",
+     "64E05F78"),
+    ("000A028C    LDURSH     W3, [X3, 0xFFFFFFFFFFFFFFFE]",
+     "63E0DF78"),
+
+    ("0000C6E8    STTRB      W7, [X5, 0xF]",
+     "A7F80038"),
+    ("0000C6F8    LDTRB      W7, [X5, 0xF]",
+     "A7F84038"),
+    ("0000C700    LDURSB     X7, [X5, 0xF]",
+     "A7F08038"),
+    ("0000C708    LDTRSB     X7, [X5, 0xF]",
+     "A7F88038"),
+    ("0000C728    STTR       B7, [X5, 0xF]",
+     "A7F8003C"),
+    ("0000C738    LDTR       B7, [X5, 0xF]",
+     "A7F8403C"),
+    ("0000C740    STUR       Q7, [X5, 0xF]",
+     "A7F0803C"),
+
+
+
+
+
+
+
+
+
+# brute force
+    ("0000C6E0    ADD        W7, W5, 0xF",
+     "A73C0011"),
+    ("0000C6E4    ADD        W7, W5, 0xF000",
+     "A73C4011"),
+    ("0000C6E8    ADDS       W7, W5, 0xF",
+     "A73C0031"),
+    ("0000C6EC    ADDS       W7, W5, 0xF000",
+     "A73C4031"),
+    ("0000C6F0    SUB        W7, W5, 0xF",
+     "A73C0051"),
+    ("0000C6F4    SUB        W7, W5, 0xF000",
+     "A73C4051"),
+    ("0000C6F8    SUBS       W7, W5, 0xF",
+     "A73C0071"),
+    ("0000C6FC    SUBS       W7, W5, 0xF000",
+     "A73C4071"),
+    ("0000C700    ADD        X7, X5, 0xF",
+     "A73C0091"),
+    ("0000C704    ADD        X7, X5, 0xF000",
+     "A73C4091"),
+    ("0000C708    ADDS       X7, X5, 0xF",
+     "A73C00B1"),
+    ("0000C70C    ADDS       X7, X5, 0xF000",
+     "A73C40B1"),
+    ("0000C710    SUB        X7, X5, 0xF",
+     "A73C00D1"),
+    ("0000C714    SUB        X7, X5, 0xF000",
+     "A73C40D1"),
+    ("0000C718    SUBS       X7, X5, 0xF",
+     "A73C00F1"),
+    ("0000C71C    SUBS       X7, X5, 0xF000",
+     "A73C40F1"),
+
+    ("0000C6E0    ADD        W15, W7, W5 LSL 0xF",
+     "EF3C050B"),
+    ("0000C6E4    ADD        W15, W7, W5 LSR 0xF",
+     "EF3C450B"),
+    ("0000C6E8    ADDS       W15, W7, W5 LSL 0xF",
+     "EF3C052B"),
+    ("0000C6EC    ADDS       W15, W7, W5 LSR 0xF",
+     "EF3C452B"),
+    ("0000C6F0    SUB        W15, W7, W5 LSL 0xF",
+     "EF3C054B"),
+    ("0000C6F4    SUB        W15, W7, W5 LSR 0xF",
+     "EF3C454B"),
+    ("0000C6F8    SUBS       W15, W7, W5 LSL 0xF",
+     "EF3C056B"),
+    ("0000C6FC    SUBS       W15, W7, W5 LSR 0xF",
+     "EF3C456B"),
+    ("0000C700    ADD        X15, X7, X5 LSL 0xF",
+     "EF3C058B"),
+    ("0000C704    ADD        X15, X7, X5 LSR 0xF",
+     "EF3C458B"),
+    ("0000C708    ADDS       X15, X7, X5 LSL 0xF",
+     "EF3C05AB"),
+    ("0000C70C    ADDS       X15, X7, X5 LSR 0xF",
+     "EF3C45AB"),
+    ("0000C710    SUB        X15, X7, X5 LSL 0xF",
+     "EF3C05CB"),
+    ("0000C714    SUB        X15, X7, X5 LSR 0xF",
+     "EF3C45CB"),
+    ("0000C718    SUBS       X15, X7, X5 LSL 0xF",
+     "EF3C05EB"),
+    ("0000C71C    SUBS       X15, X7, X5 LSR 0xF",
+     "EF3C45EB"),
+
+
+    ("0000C6E0    ADD        W3, W15, W7 UXTB 0x3",
+     "E30D270B"),
+    ("0000C6E4    ADD        W3, W15, W7 UXTH 0x3",
+     "E32D270B"),
+    ("0000C6E8    ADD        W3, W15, W7 UXTW 0x3",
+     "E34D270B"),
+    ("0000C6EC    ADD        W3, W15, W7 UXTX 0x3",
+     "E36D270B"),
+    ("0000C6F0    ADD        W3, W15, W7 SXTB 0x3",
+     "E38D270B"),
+    ("0000C6F4    ADD        W3, W15, W7 SXTH 0x3",
+     "E3AD270B"),
+    ("0000C6F8    ADD        W3, W15, W7 SXTW 0x3",
+     "E3CD270B"),
+    ("0000C6FC    ADD        W3, W15, W7 SXTX 0x3",
+     "E3ED270B"),
+    ("0000C700    ADDS       W3, W15, W7 UXTB 0x3",
+     "E30D272B"),
+    ("0000C704    ADDS       W3, W15, W7 UXTH 0x3",
+     "E32D272B"),
+    ("0000C708    ADDS       W3, W15, W7 UXTW 0x3",
+     "E34D272B"),
+    ("0000C70C    ADDS       W3, W15, W7 UXTX 0x3",
+     "E36D272B"),
+    ("0000C710    ADDS       W3, W15, W7 SXTB 0x3",
+     "E38D272B"),
+    ("0000C714    ADDS       W3, W15, W7 SXTH 0x3",
+     "E3AD272B"),
+    ("0000C718    ADDS       W3, W15, W7 SXTW 0x3",
+     "E3CD272B"),
+    ("0000C71C    ADDS       W3, W15, W7 SXTX 0x3",
+     "E3ED272B"),
+    ("0000C720    SUB        W3, W15, W7 UXTB 0x3",
+     "E30D274B"),
+    ("0000C724    SUB        W3, W15, W7 UXTH 0x3",
+     "E32D274B"),
+    ("0000C728    SUB        W3, W15, W7 UXTW 0x3",
+     "E34D274B"),
+    ("0000C72C    SUB        W3, W15, W7 UXTX 0x3",
+     "E36D274B"),
+    ("0000C730    SUB        W3, W15, W7 SXTB 0x3",
+     "E38D274B"),
+    ("0000C734    SUB        W3, W15, W7 SXTH 0x3",
+     "E3AD274B"),
+    ("0000C738    SUB        W3, W15, W7 SXTW 0x3",
+     "E3CD274B"),
+    ("0000C73C    SUB        W3, W15, W7 SXTX 0x3",
+     "E3ED274B"),
+    ("0000C740    SUBS       W3, W15, W7 UXTB 0x3",
+     "E30D276B"),
+    ("0000C744    SUBS       W3, W15, W7 UXTH 0x3",
+     "E32D276B"),
+    ("0000C748    SUBS       W3, W15, W7 UXTW 0x3",
+     "E34D276B"),
+    ("0000C74C    SUBS       W3, W15, W7 UXTX 0x3",
+     "E36D276B"),
+    ("0000C750    SUBS       W3, W15, W7 SXTB 0x3",
+     "E38D276B"),
+    ("0000C754    SUBS       W3, W15, W7 SXTH 0x3",
+     "E3AD276B"),
+    ("0000C758    SUBS       W3, W15, W7 SXTW 0x3",
+     "E3CD276B"),
+    ("0000C75C    SUBS       W3, W15, W7 SXTX 0x3",
+     "E3ED276B"),
+    ("0000C760    ADD        X3, X15, W7 UXTB 0x3",
+     "E30D278B"),
+    ("0000C764    ADD        X3, X15, W7 UXTH 0x3",
+     "E32D278B"),
+    ("0000C768    ADD        X3, X15, W7 UXTW 0x3",
+     "E34D278B"),
+    ("0000C76C    ADD        X3, X15, X7 UXTX 0x3",
+     "E36D278B"),
+    ("0000C770    ADD        X3, X15, W7 SXTB 0x3",
+     "E38D278B"),
+    ("0000C774    ADD        X3, X15, W7 SXTH 0x3",
+     "E3AD278B"),
+    ("0000C778    ADD        X3, X15, W7 SXTW 0x3",
+     "E3CD278B"),
+    ("0000C77C    ADD        X3, X15, X7 SXTX 0x3",
+     "E3ED278B"),
+    ("0000C780    ADDS       X3, X15, W7 UXTB 0x3",
+     "E30D27AB"),
+    ("0000C784    ADDS       X3, X15, W7 UXTH 0x3",
+     "E32D27AB"),
+    ("0000C788    ADDS       X3, X15, W7 UXTW 0x3",
+     "E34D27AB"),
+    ("0000C78C    ADDS       X3, X15, X7 UXTX 0x3",
+     "E36D27AB"),
+    ("0000C790    ADDS       X3, X15, W7 SXTB 0x3",
+     "E38D27AB"),
+    ("0000C794    ADDS       X3, X15, W7 SXTH 0x3",
+     "E3AD27AB"),
+    ("0000C798    ADDS       X3, X15, W7 SXTW 0x3",
+     "E3CD27AB"),
+    ("0000C79C    ADDS       X3, X15, X7 SXTX 0x3",
+     "E3ED27AB"),
+    ("0000C7A0    SUB        X3, X15, W7 UXTB 0x3",
+     "E30D27CB"),
+    ("0000C7A4    SUB        X3, X15, W7 UXTH 0x3",
+     "E32D27CB"),
+    ("0000C7A8    SUB        X3, X15, W7 UXTW 0x3",
+     "E34D27CB"),
+    ("0000C7AC    SUB        X3, X15, X7 UXTX 0x3",
+     "E36D27CB"),
+    ("0000C7B0    SUB        X3, X15, W7 SXTB 0x3",
+     "E38D27CB"),
+    ("0000C7B4    SUB        X3, X15, W7 SXTH 0x3",
+     "E3AD27CB"),
+    ("0000C7B8    SUB        X3, X15, W7 SXTW 0x3",
+     "E3CD27CB"),
+    ("0000C7BC    SUB        X3, X15, X7 SXTX 0x3",
+     "E3ED27CB"),
+    ("0000C7C0    SUBS       X3, X15, W7 UXTB 0x3",
+     "E30D27EB"),
+    ("0000C7C4    SUBS       X3, X15, W7 UXTH 0x3",
+     "E32D27EB"),
+    ("0000C7C8    SUBS       X3, X15, W7 UXTW 0x3",
+     "E34D27EB"),
+    ("0000C7CC    SUBS       X3, X15, X7 UXTX 0x3",
+     "E36D27EB"),
+    ("0000C7D0    SUBS       X3, X15, W7 SXTB 0x3",
+     "E38D27EB"),
+    ("0000C7D4    SUBS       X3, X15, W7 SXTH 0x3",
+     "E3AD27EB"),
+    ("0000C7D8    SUBS       X3, X15, W7 SXTW 0x3",
+     "E3CD27EB"),
+    ("0000C7DC    SUBS       X3, X15, X7 SXTX 0x3",
+     "E3ED27EB"),
+
+
+    ("0000C6E0    AND        W3, W15, 0xFE000001",
+     "E31D0712"),
+    ("0000C6E4    ORR        W3, W15, 0xFE000001",
+     "E31D0732"),
+    ("0000C6E8    EOR        W3, W15, 0xFE000001",
+     "E31D0752"),
+    ("0000C6EC    ANDS       W3, W15, 0xFE000001",
+     "E31D0772"),
+# XXX???? TODO CHECK
+#    ("0000C6F0    AND        X3, X15, 0xFE000001FE000001",
+#     "E31D0792"),
+#    ("0000C6F4    ORR        X3, X15, 0xFE000001FE000001",
+#     "E31D07B2"),
+#    ("0000C6F8    EOR        X3, X15, 0xFE000001FE000001",
+#     "E31D07D2"),
+#    ("0000C6FC    ANDS       X3, X15, 0xFE000001FE000001",
+#     "E31D07F2"),
+
+
+    ("0000C6E0    AND        W3, W15, W7 LSL 0xB",
+     "E32D070A"),
+    ("0000C6E4    BIC        W3, W15, W7 LSL 0xB",
+     "E32D270A"),
+    ("0000C6E8    AND        W3, W15, W7 LSR 0xB",
+     "E32D470A"),
+    ("0000C6EC    BIC        W3, W15, W7 LSR 0xB",
+     "E32D670A"),
+    ("0000C6F0    AND        W3, W15, W7 ASR 0xB",
+     "E32D870A"),
+    ("0000C6F4    BIC        W3, W15, W7 ASR 0xB",
+     "E32DA70A"),
+    ("0000C6F8    AND        W3, W15, W7 ROR 0xB",
+     "E32DC70A"),
+    ("0000C6FC    BIC        W3, W15, W7 ROR 0xB",
+     "E32DE70A"),
+    ("0000C700    ORR        W3, W15, W7 LSL 0xB",
+     "E32D072A"),
+    ("0000C704    ORN        W3, W15, W7 LSL 0xB",
+     "E32D272A"),
+    ("0000C708    ORR        W3, W15, W7 LSR 0xB",
+     "E32D472A"),
+    ("0000C70C    ORN        W3, W15, W7 LSR 0xB",
+     "E32D672A"),
+    ("0000C710    ORR        W3, W15, W7 ASR 0xB",
+     "E32D872A"),
+    ("0000C714    ORN        W3, W15, W7 ASR 0xB",
+     "E32DA72A"),
+    ("0000C718    ORR        W3, W15, W7 ROR 0xB",
+     "E32DC72A"),
+    ("0000C71C    ORN        W3, W15, W7 ROR 0xB",
+     "E32DE72A"),
+    ("0000C720    EOR        W3, W15, W7 LSL 0xB",
+     "E32D074A"),
+    ("0000C724    EON        W3, W15, W7 LSL 0xB",
+     "E32D274A"),
+    ("0000C728    EOR        W3, W15, W7 LSR 0xB",
+     "E32D474A"),
+    ("0000C72C    EON        W3, W15, W7 LSR 0xB",
+     "E32D674A"),
+    ("0000C730    EOR        W3, W15, W7 ASR 0xB",
+     "E32D874A"),
+    ("0000C734    EON        W3, W15, W7 ASR 0xB",
+     "E32DA74A"),
+    ("0000C738    EOR        W3, W15, W7 ROR 0xB",
+     "E32DC74A"),
+    ("0000C73C    EON        W3, W15, W7 ROR 0xB",
+     "E32DE74A"),
+    ("0000C740    ANDS       W3, W15, W7 LSL 0xB",
+     "E32D076A"),
+    ("0000C744    BICS       W3, W15, W7 LSL 0xB",
+     "E32D276A"),
+    ("0000C748    ANDS       W3, W15, W7 LSR 0xB",
+     "E32D476A"),
+    ("0000C74C    BICS       W3, W15, W7 LSR 0xB",
+     "E32D676A"),
+    ("0000C750    ANDS       W3, W15, W7 ASR 0xB",
+     "E32D876A"),
+    ("0000C754    BICS       W3, W15, W7 ASR 0xB",
+     "E32DA76A"),
+    ("0000C758    ANDS       W3, W15, W7 ROR 0xB",
+     "E32DC76A"),
+    ("0000C75C    BICS       W3, W15, W7 ROR 0xB",
+     "E32DE76A"),
+    ("0000C760    AND        X3, X15, X7 LSL 0xB",
+     "E32D078A"),
+    ("0000C764    BIC        X3, X15, X7 LSL 0xB",
+     "E32D278A"),
+    ("0000C768    AND        X3, X15, X7 LSR 0xB",
+     "E32D478A"),
+    ("0000C76C    BIC        X3, X15, X7 LSR 0xB",
+     "E32D678A"),
+    ("0000C770    AND        X3, X15, X7 ASR 0xB",
+     "E32D878A"),
+    ("0000C774    BIC        X3, X15, X7 ASR 0xB",
+     "E32DA78A"),
+    ("0000C778    AND        X3, X15, X7 ROR 0xB",
+     "E32DC78A"),
+    ("0000C77C    BIC        X3, X15, X7 ROR 0xB",
+     "E32DE78A"),
+    ("0000C780    ORR        X3, X15, X7 LSL 0xB",
+     "E32D07AA"),
+    ("0000C784    ORN        X3, X15, X7 LSL 0xB",
+     "E32D27AA"),
+    ("0000C788    ORR        X3, X15, X7 LSR 0xB",
+     "E32D47AA"),
+    ("0000C78C    ORN        X3, X15, X7 LSR 0xB",
+     "E32D67AA"),
+    ("0000C790    ORR        X3, X15, X7 ASR 0xB",
+     "E32D87AA"),
+    ("0000C794    ORN        X3, X15, X7 ASR 0xB",
+     "E32DA7AA"),
+    ("0000C798    ORR        X3, X15, X7 ROR 0xB",
+     "E32DC7AA"),
+    ("0000C79C    ORN        X3, X15, X7 ROR 0xB",
+     "E32DE7AA"),
+    ("0000C7A0    EOR        X3, X15, X7 LSL 0xB",
+     "E32D07CA"),
+    ("0000C7A4    EON        X3, X15, X7 LSL 0xB",
+     "E32D27CA"),
+    ("0000C7A8    EOR        X3, X15, X7 LSR 0xB",
+     "E32D47CA"),
+    ("0000C7AC    EON        X3, X15, X7 LSR 0xB",
+     "E32D67CA"),
+    ("0000C7B0    EOR        X3, X15, X7 ASR 0xB",
+     "E32D87CA"),
+    ("0000C7B4    EON        X3, X15, X7 ASR 0xB",
+     "E32DA7CA"),
+    ("0000C7B8    EOR        X3, X15, X7 ROR 0xB",
+     "E32DC7CA"),
+    ("0000C7BC    EON        X3, X15, X7 ROR 0xB",
+     "E32DE7CA"),
+    ("0000C7C0    ANDS       X3, X15, X7 LSL 0xB",
+     "E32D07EA"),
+    ("0000C7C4    BICS       X3, X15, X7 LSL 0xB",
+     "E32D27EA"),
+    ("0000C7C8    ANDS       X3, X15, X7 LSR 0xB",
+     "E32D47EA"),
+    ("0000C7CC    BICS       X3, X15, X7 LSR 0xB",
+     "E32D67EA"),
+    ("0000C7D0    ANDS       X3, X15, X7 ASR 0xB",
+     "E32D87EA"),
+    ("0000C7D4    BICS       X3, X15, X7 ASR 0xB",
+     "E32DA7EA"),
+    ("0000C7D8    ANDS       X3, X15, X7 ROR 0xB",
+     "E32DC7EA"),
+    ("0000C7DC    BICS       X3, X15, X7 ROR 0xB",
+     "E32DE7EA"),
+
+
+
+
+    ("0000C6E0    STURB      W7, [X5, 0xF]",
+     "A7F00038"),
+    ("0000C6E4    STRB       W7, [X5], 0xF",
+     "A7F40038"),
+    ("0000C6E8    STTRB      W7, [X5, 0xF]",
+     "A7F80038"),
+    ("0000C6EC    STRB       W7, [X5, 0xF]!",
+     "A7FC0038"),
+    ("0000C6F0    LDURB      W7, [X5, 0xF]",
+     "A7F04038"),
+    ("0000C6F4    LDRB       W7, [X5], 0xF",
+     "A7F44038"),
+    ("0000C6F8    LDTRB      W7, [X5, 0xF]",
+     "A7F84038"),
+    ("0000C6FC    LDRB       W7, [X5, 0xF]!",
+     "A7FC4038"),
+    ("0000C700    LDURSB     X7, [X5, 0xF]",
+     "A7F08038"),
+    ("0000C704    LDRSB      X7, [X5], 0xF",
+     "A7F48038"),
+    ("0000C708    LDTRSB     X7, [X5, 0xF]",
+     "A7F88038"),
+    ("0000C70C    LDRSB      X7, [X5, 0xF]!",
+     "A7FC8038"),
+    ("0000C710    LDURSB     W7, [X5, 0xF]",
+     "A7F0C038"),
+    ("0000C714    LDRSB      W7, [X5], 0xF",
+     "A7F4C038"),
+    ("0000C718    LDTRSB     W7, [X5, 0xF]",
+     "A7F8C038"),
+    ("0000C71C    LDRSB      W7, [X5, 0xF]!",
+     "A7FCC038"),
+    ("0000C720    STUR       B7, [X5, 0xF]",
+     "A7F0003C"),
+    ("0000C724    STR        B7, [X5], 0xF",
+     "A7F4003C"),
+    ("0000C728    STTR       B7, [X5, 0xF]",
+     "A7F8003C"),
+    ("0000C72C    STR        B7, [X5, 0xF]!",
+     "A7FC003C"),
+    ("0000C730    LDUR       B7, [X5, 0xF]",
+     "A7F0403C"),
+    ("0000C734    LDR        B7, [X5], 0xF",
+     "A7F4403C"),
+    ("0000C738    LDTR       B7, [X5, 0xF]",
+     "A7F8403C"),
+    ("0000C73C    LDR        B7, [X5, 0xF]!",
+     "A7FC403C"),
+    ("0000C740    STUR       Q7, [X5, 0xF]",
+     "A7F0803C"),
+    ("0000C744    STR        Q7, [X5], 0xF",
+     "A7F4803C"),
+    ("0000C748    STTR       Q7, [X5, 0xF]",
+     "A7F8803C"),
+    ("0000C74C    STR        Q7, [X5, 0xF]!",
+     "A7FC803C"),
+    ("0000C750    LDUR       Q7, [X5, 0xF]",
+     "A7F0C03C"),
+    ("0000C754    LDR        Q7, [X5], 0xF",
+     "A7F4C03C"),
+    ("0000C758    LDTR       Q7, [X5, 0xF]",
+     "A7F8C03C"),
+    ("0000C75C    LDR        Q7, [X5, 0xF]!",
+     "A7FCC03C"),
+    ("0000C760    STURH      W7, [X5, 0xF]",
+     "A7F00078"),
+    ("0000C764    STRH       W7, [X5], 0xF",
+     "A7F40078"),
+    ("0000C768    STTRH      W7, [X5, 0xF]",
+     "A7F80078"),
+    ("0000C76C    STRH       W7, [X5, 0xF]!",
+     "A7FC0078"),
+    ("0000C770    LDURH      W7, [X5, 0xF]",
+     "A7F04078"),
+    ("0000C774    LDRH       W7, [X5], 0xF",
+     "A7F44078"),
+    ("0000C778    LDTRH      W7, [X5, 0xF]",
+     "A7F84078"),
+    ("0000C77C    LDRH       W7, [X5, 0xF]!",
+     "A7FC4078"),
+    ("0000C780    LDURSH     X7, [X5, 0xF]",
+     "A7F08078"),
+    ("0000C784    LDRSH      X7, [X5], 0xF",
+     "A7F48078"),
+    ("0000C788    LDTRSH     X7, [X5, 0xF]",
+     "A7F88078"),
+    ("0000C78C    LDRSH      X7, [X5, 0xF]!",
+     "A7FC8078"),
+    ("0000C790    LDURSH     W7, [X5, 0xF]",
+     "A7F0C078"),
+    ("0000C794    LDRSH      W7, [X5], 0xF",
+     "A7F4C078"),
+    ("0000C798    LDTRSH     W7, [X5, 0xF]",
+     "A7F8C078"),
+    ("0000C79C    LDRSH      W7, [X5, 0xF]!",
+     "A7FCC078"),
+    ("0000C7A0    STUR       H7, [X5, 0xF]",
+     "A7F0007C"),
+    ("0000C7A4    STR        H7, [X5], 0xF",
+     "A7F4007C"),
+    ("0000C7A8    STTR       H7, [X5, 0xF]",
+     "A7F8007C"),
+    ("0000C7AC    STR        H7, [X5, 0xF]!",
+     "A7FC007C"),
+    ("0000C7B0    LDUR       H7, [X5, 0xF]",
+     "A7F0407C"),
+    ("0000C7B4    LDR        H7, [X5], 0xF",
+     "A7F4407C"),
+    ("0000C7B8    LDTR       H7, [X5, 0xF]",
+     "A7F8407C"),
+    ("0000C7BC    LDR        H7, [X5, 0xF]!",
+     "A7FC407C"),
+    ("0000C7E0    STUR       W7, [X5, 0xF]",
+     "A7F000B8"),
+    ("0000C7E4    STR        W7, [X5], 0xF",
+     "A7F400B8"),
+    ("0000C7E8    STTR       W7, [X5, 0xF]",
+     "A7F800B8"),
+    ("0000C7EC    STR        W7, [X5, 0xF]!",
+     "A7FC00B8"),
+    ("0000C7F0    LDUR       W7, [X5, 0xF]",
+     "A7F040B8"),
+    ("0000C7F4    LDR        W7, [X5], 0xF",
+     "A7F440B8"),
+    ("0000C7F8    LDTR       W7, [X5, 0xF]",
+     "A7F840B8"),
+    ("0000C7FC    LDR        W7, [X5, 0xF]!",
+     "A7FC40B8"),
+    ("0000C800    LDURSW     X7, [X5, 0xF]",
+     "A7F080B8"),
+    ("0000C804    LDRSW      X7, [X5], 0xF",
+     "A7F480B8"),
+    ("0000C808    LDTRSW     X7, [X5, 0xF]",
+     "A7F880B8"),
+    ("0000C80C    LDRSW      X7, [X5, 0xF]!",
+     "A7FC80B8"),
+    ("0000C820    STUR       S7, [X5, 0xF]",
+     "A7F000BC"),
+    ("0000C824    STR        S7, [X5], 0xF",
+     "A7F400BC"),
+    ("0000C828    STTR       S7, [X5, 0xF]",
+     "A7F800BC"),
+    ("0000C82C    STR        S7, [X5, 0xF]!",
+     "A7FC00BC"),
+    ("0000C830    LDUR       S7, [X5, 0xF]",
+     "A7F040BC"),
+    ("0000C834    LDR        S7, [X5], 0xF",
+     "A7F440BC"),
+    ("0000C838    LDTR       S7, [X5, 0xF]",
+     "A7F840BC"),
+    ("0000C83C    LDR        S7, [X5, 0xF]!",
+     "A7FC40BC"),
+    ("0000C860    STUR       X7, [X5, 0xF]",
+     "A7F000F8"),
+    ("0000C864    STR        X7, [X5], 0xF",
+     "A7F400F8"),
+    ("0000C868    STTR       X7, [X5, 0xF]",
+     "A7F800F8"),
+    ("0000C86C    STR        X7, [X5, 0xF]!",
+     "A7FC00F8"),
+    ("0000C870    LDUR       X7, [X5, 0xF]",
+     "A7F040F8"),
+    ("0000C874    LDR        X7, [X5], 0xF",
+     "A7F440F8"),
+    ("0000C878    LDTR       X7, [X5, 0xF]",
+     "A7F840F8"),
+    ("0000C87C    LDR        X7, [X5, 0xF]!",
+     "A7FC40F8"),
+    ("0000C8A0    STUR       D7, [X5, 0xF]",
+     "A7F000FC"),
+    ("0000C8A4    STR        D7, [X5], 0xF",
+     "A7F400FC"),
+    ("0000C8A8    STTR       D7, [X5, 0xF]",
+     "A7F800FC"),
+    ("0000C8AC    STR        D7, [X5, 0xF]!",
+     "A7FC00FC"),
+    ("0000C8B0    LDUR       D7, [X5, 0xF]",
+     "A7F040FC"),
+    ("0000C8B4    LDR        D7, [X5], 0xF",
+     "A7F440FC"),
+    ("0000C8B8    LDTR       D7, [X5, 0xF]",
+     "A7F840FC"),
+    ("0000C8BC    LDR        D7, [X5, 0xF]!",
+     "A7FC40FC"),
+    ("0000C8E0    STRB       W7, [X7]",
+     "E7000039"),
+    ("0000C8E4    LDRB       W7, [X7]",
+     "E7004039"),
+    ("0000C8E8    LDRSB      X7, [X7]",
+     "E7008039"),
+    ("0000C8EC    LDRSB      W7, [X7]",
+     "E700C039"),
+    ("0000C8F0    STR        B7, [X7]",
+     "E700003D"),
+    ("0000C8F4    LDR        B7, [X7]",
+     "E700403D"),
+    ("0000C8F8    STR        Q7, [X7]",
+     "E700803D"),
+    ("0000C8FC    LDR        Q7, [X7]",
+     "E700C03D"),
+    ("0000C900    STRH       W7, [X7]",
+     "E7000079"),
+    ("0000C904    LDRH       W7, [X7]",
+     "E7004079"),
+    ("0000C908    LDRSH      X7, [X7]",
+     "E7008079"),
+    ("0000C90C    LDRSH      W7, [X7]",
+     "E700C079"),
+    ("0000C910    STR        H7, [X7]",
+     "E700007D"),
+    ("0000C914    LDR        H7, [X7]",
+     "E700407D"),
+    ("0000C920    STR        W7, [X7]",
+     "E70000B9"),
+    ("0000C924    LDR        W7, [X7]",
+     "E70040B9"),
+    ("0000C928    LDRSW      X7, [X7]",
+     "E70080B9"),
+    ("0000C930    STR        S7, [X7]",
+     "E70000BD"),
+    ("0000C934    LDR        S7, [X7]",
+     "E70040BD"),
+    ("0000C940    STR        X7, [X7]",
+     "E70000F9"),
+    ("0000C944    LDR        X7, [X7]",
+     "E70040F9"),
+    ("0000C950    STR        D7, [X7]",
+     "E70000FD"),
+    ("0000C954    LDR        D7, [X7]",
+     "E70040FD"),
+
+    ("0000C6E0    STRB       W17, [X0, 0xF]",
+     "113C0039"),
+    ("0000C6E4    LDRB       W17, [X0, 0xF]",
+     "113C4039"),
+    ("0000C6E8    LDRSB      X17, [X0, 0xF]",
+     "113C8039"),
+    ("0000C6EC    LDRSB      W17, [X0, 0xF]",
+     "113CC039"),
+    ("0000C6F0    STR        B17, [X0, 0xF]",
+     "113C003D"),
+    ("0000C6F4    LDR        B17, [X0, 0xF]",
+     "113C403D"),
+    ("0000C6F8    STR        Q17, [X0, 0xF0]",
+     "113C803D"),
+    ("0000C6FC    LDR        Q17, [X0, 0xF0]",
+     "113CC03D"),
+    ("0000C700    STRH       W17, [X0, 0x1E]",
+     "113C0079"),
+    ("0000C704    LDRH       W17, [X0, 0x1E]",
+     "113C4079"),
+    ("0000C708    LDRSH      X17, [X0, 0x1E]",
+     "113C8079"),
+    ("0000C70C    LDRSH      W17, [X0, 0x1E]",
+     "113CC079"),
+    ("0000C710    STR        H17, [X0, 0x1E]",
+     "113C007D"),
+    ("0000C714    LDR        H17, [X0, 0x1E]",
+     "113C407D"),
+    ("0000C720    STR        W17, [X0, 0x3C]",
+     "113C00B9"),
+    ("0000C724    LDR        W17, [X0, 0x3C]",
+     "113C40B9"),
+    ("0000C728    LDRSW      X17, [X0, 0x3C]",
+     "113C80B9"),
+    ("0000C730    STR        S17, [X0, 0x3C]",
+     "113C00BD"),
+    ("0000C734    LDR        S17, [X0, 0x3C]",
+     "113C40BD"),
+    ("0000C740    STR        X17, [X0, 0x78]",
+     "113C00F9"),
+    ("0000C744    LDR        X17, [X0, 0x78]",
+     "113C40F9"),
+    ("0000C750    STR        D17, [X0, 0x78]",
+     "113C00FD"),
+    ("0000C754    LDR        D17, [X0, 0x78]",
+     "113C40FD"),
+    ("0000C760    STURH      W7, [X5, 0xF]",
+     "A7F00078"),
+    ("0000C764    STRH       W7, [X5], 0xF",
+     "A7F40078"),
+    ("0000C768    STTRH      W7, [X5, 0xF]",
+     "A7F80078"),
+    ("0000C76C    STRH       W7, [X5, 0xF]!",
+     "A7FC0078"),
+    ("0000C770    LDURH      W7, [X5, 0xF]",
+     "A7F04078"),
+    ("0000C774    LDRH       W7, [X5], 0xF",
+     "A7F44078"),
+    ("0000C778    LDTRH      W7, [X5, 0xF]",
+     "A7F84078"),
+    ("0000C77C    LDRH       W7, [X5, 0xF]!",
+     "A7FC4078"),
+    ("0000C780    LDURSH     X7, [X5, 0xF]",
+     "A7F08078"),
+    ("0000C784    LDRSH      X7, [X5], 0xF",
+     "A7F48078"),
+    ("0000C788    LDTRSH     X7, [X5, 0xF]",
+     "A7F88078"),
+    ("0000C78C    LDRSH      X7, [X5, 0xF]!",
+     "A7FC8078"),
+    ("0000C790    LDURSH     W7, [X5, 0xF]",
+     "A7F0C078"),
+    ("0000C794    LDRSH      W7, [X5], 0xF",
+     "A7F4C078"),
+    ("0000C798    LDTRSH     W7, [X5, 0xF]",
+     "A7F8C078"),
+    ("0000C79C    LDRSH      W7, [X5, 0xF]!",
+     "A7FCC078"),
+    ("0000C7A0    STUR       H7, [X5, 0xF]",
+     "A7F0007C"),
+    ("0000C7A4    STR        H7, [X5], 0xF",
+     "A7F4007C"),
+    ("0000C7A8    STTR       H7, [X5, 0xF]",
+     "A7F8007C"),
+    ("0000C7AC    STR        H7, [X5, 0xF]!",
+     "A7FC007C"),
+    ("0000C7B0    LDUR       H7, [X5, 0xF]",
+     "A7F0407C"),
+    ("0000C7B4    LDR        H7, [X5], 0xF",
+     "A7F4407C"),
+    ("0000C7B8    LDTR       H7, [X5, 0xF]",
+     "A7F8407C"),
+    ("0000C7BC    LDR        H7, [X5, 0xF]!",
+     "A7FC407C"),
+    ("0000C7E0    STUR       W7, [X5, 0xF]",
+     "A7F000B8"),
+    ("0000C7E4    STR        W7, [X5], 0xF",
+     "A7F400B8"),
+    ("0000C7E8    STTR       W7, [X5, 0xF]",
+     "A7F800B8"),
+    ("0000C7EC    STR        W7, [X5, 0xF]!",
+     "A7FC00B8"),
+    ("0000C7F0    LDUR       W7, [X5, 0xF]",
+     "A7F040B8"),
+    ("0000C7F4    LDR        W7, [X5], 0xF",
+     "A7F440B8"),
+    ("0000C7F8    LDTR       W7, [X5, 0xF]",
+     "A7F840B8"),
+    ("0000C7FC    LDR        W7, [X5, 0xF]!",
+     "A7FC40B8"),
+    ("0000C800    LDURSW     X7, [X5, 0xF]",
+     "A7F080B8"),
+    ("0000C804    LDRSW      X7, [X5], 0xF",
+     "A7F480B8"),
+    ("0000C808    LDTRSW     X7, [X5, 0xF]",
+     "A7F880B8"),
+    ("0000C80C    LDRSW      X7, [X5, 0xF]!",
+     "A7FC80B8"),
+    ("0000C820    STUR       S7, [X5, 0xF]",
+     "A7F000BC"),
+    ("0000C824    STR        S7, [X5], 0xF",
+     "A7F400BC"),
+    ("0000C828    STTR       S7, [X5, 0xF]",
+     "A7F800BC"),
+    ("0000C82C    STR        S7, [X5, 0xF]!",
+     "A7FC00BC"),
+    ("0000C830    LDUR       S7, [X5, 0xF]",
+     "A7F040BC"),
+    ("0000C834    LDR        S7, [X5], 0xF",
+     "A7F440BC"),
+    ("0000C838    LDTR       S7, [X5, 0xF]",
+     "A7F840BC"),
+    ("0000C83C    LDR        S7, [X5, 0xF]!",
+     "A7FC40BC"),
+    ("0000C860    STUR       X7, [X5, 0xF]",
+     "A7F000F8"),
+    ("0000C864    STR        X7, [X5], 0xF",
+     "A7F400F8"),
+    ("0000C868    STTR       X7, [X5, 0xF]",
+     "A7F800F8"),
+    ("0000C86C    STR        X7, [X5, 0xF]!",
+     "A7FC00F8"),
+    ("0000C870    LDUR       X7, [X5, 0xF]",
+     "A7F040F8"),
+    ("0000C874    LDR        X7, [X5], 0xF",
+     "A7F440F8"),
+    ("0000C878    LDTR       X7, [X5, 0xF]",
+     "A7F840F8"),
+    ("0000C87C    LDR        X7, [X5, 0xF]!",
+     "A7FC40F8"),
+    ("0000C8A0    STUR       D7, [X5, 0xF]",
+     "A7F000FC"),
+    ("0000C8A4    STR        D7, [X5], 0xF",
+     "A7F400FC"),
+    ("0000C8A8    STTR       D7, [X5, 0xF]",
+     "A7F800FC"),
+    ("0000C8AC    STR        D7, [X5, 0xF]!",
+     "A7FC00FC"),
+    ("0000C8B0    LDUR       D7, [X5, 0xF]",
+     "A7F040FC"),
+    ("0000C8B4    LDR        D7, [X5], 0xF",
+     "A7F440FC"),
+    ("0000C8B8    LDTR       D7, [X5, 0xF]",
+     "A7F840FC"),
+    ("0000C8BC    LDR        D7, [X5, 0xF]!",
+     "A7FC40FC"),
+    ("0000C8E0    STRB       W7, [X7]",
+     "E7000039"),
+    ("0000C8E4    LDRB       W7, [X7]",
+     "E7004039"),
+    ("0000C8E8    LDRSB      X7, [X7]",
+     "E7008039"),
+    ("0000C8EC    LDRSB      W7, [X7]",
+     "E700C039"),
+    ("0000C8F0    STR        B7, [X7]",
+     "E700003D"),
+    ("0000C8F4    LDR        B7, [X7]",
+     "E700403D"),
+    ("0000C8F8    STR        Q7, [X7]",
+     "E700803D"),
+    ("0000C8FC    LDR        Q7, [X7]",
+     "E700C03D"),
+    ("0000C900    STRH       W7, [X7]",
+     "E7000079"),
+    ("0000C904    LDRH       W7, [X7]",
+     "E7004079"),
+    ("0000C908    LDRSH      X7, [X7]",
+     "E7008079"),
+    ("0000C90C    LDRSH      W7, [X7]",
+     "E700C079"),
+    ("0000C910    STR        H7, [X7]",
+     "E700007D"),
+    ("0000C914    LDR        H7, [X7]",
+     "E700407D"),
+    ("0000C920    STR        W7, [X7]",
+     "E70000B9"),
+    ("0000C924    LDR        W7, [X7]",
+     "E70040B9"),
+    ("0000C928    LDRSW      X7, [X7]",
+     "E70080B9"),
+    ("0000C930    STR        S7, [X7]",
+     "E70000BD"),
+    ("0000C934    LDR        S7, [X7]",
+     "E70040BD"),
+    ("0000C940    STR        X7, [X7]",
+     "E70000F9"),
+    ("0000C944    LDR        X7, [X7]",
+     "E70040F9"),
+    ("0000C950    STR        D7, [X7]",
+     "E70000FD"),
+    ("0000C954    LDR        D7, [X7]",
+     "E70040FD"),
+
+
+    ("0000C6F0    STRB       W17, [X3, W7 UXTW 0x0]",
+     "71482738"),
+    ("0000C6F8    STRB       W17, [X3, X7]",
+     "71682738"),
+    ("0000C710    STRB       W17, [X3, W7 SXTW 0x0]",
+     "71C82738"),
+    ("0000C718    STRB       W17, [X3, X7 SXTX 0x0]",
+     "71E82738"),
+    ("0000C730    LDRB       W17, [X3, W7 UXTW 0x0]",
+     "71486738"),
+    ("0000C738    LDRB       W17, [X3, X7]",
+     "71686738"),
+    ("0000C750    LDRB       W17, [X3, W7 SXTW 0x0]",
+     "71C86738"),
+    ("0000C758    LDRB       W17, [X3, X7 SXTX 0x0]",
+     "71E86738"),
+    ("0000C770    LDRSB      X17, [X3, W7 UXTW 0x0]",
+     "7148A738"),
+    ("0000C778    LDRSB      X17, [X3, X7]",
+     "7168A738"),
+    ("0000C790    LDRSB      X17, [X3, W7 SXTW 0x0]",
+     "71C8A738"),
+    ("0000C798    LDRSB      X17, [X3, X7 SXTX 0x0]",
+     "71E8A738"),
+    ("0000C7B0    LDRSB      W17, [X3, W7 UXTW 0x0]",
+     "7148E738"),
+    ("0000C7B8    LDRSB      W17, [X3, X7]",
+     "7168E738"),
+    ("0000C7D0    LDRSB      W17, [X3, W7 SXTW 0x0]",
+     "71C8E738"),
+    ("0000C7D8    LDRSB      W17, [X3, X7 SXTX 0x0]",
+     "71E8E738"),
+    ("0000C7F0    STR        B17, [X3, W7 UXTW 0x0]",
+     "7148273C"),
+    ("0000C7F8    STR        B17, [X3, X7]",
+     "7168273C"),
+    ("0000C810    STR        B17, [X3, W7 SXTW 0x0]",
+     "71C8273C"),
+    ("0000C818    STR        B17, [X3, X7 SXTX 0x0]",
+     "71E8273C"),
+    ("0000C830    LDR        B17, [X3, W7 UXTW 0x0]",
+     "7148673C"),
+    ("0000C838    LDR        B17, [X3, X7]",
+     "7168673C"),
+    ("0000C850    LDR        B17, [X3, W7 SXTW 0x0]",
+     "71C8673C"),
+    ("0000C858    LDR        B17, [X3, X7 SXTX 0x0]",
+     "71E8673C"),
+    ("0000C870    STR        Q17, [X3, W7 UXTW 0x0]",
+     "7148A73C"),
+    ("0000C878    STR        Q17, [X3, X7]",
+     "7168A73C"),
+    ("0000C87C    STR        Q17, [X3, X7 LSL 0x4]",
+     "7178A73C"),
+    ("0000C890    STR        Q17, [X3, W7 SXTW 0x0]",
+     "71C8A73C"),
+    ("0000C894    STR        Q17, [X3, W7 SXTW 0x4]",
+     "71D8A73C"),
+    ("0000C898    STR        Q17, [X3, X7 SXTX 0x0]",
+     "71E8A73C"),
+    ("0000C89C    STR        Q17, [X3, X7 SXTX 0x4]",
+     "71F8A73C"),
+    ("0000C8B0    LDR        Q17, [X3, W7 UXTW 0x0]",
+     "7148E73C"),
+    ("0000C8B4    LDR        Q17, [X3, W7 UXTW 0x4]",
+     "7158E73C"),
+    ("0000C8B8    LDR        Q17, [X3, X7]",
+     "7168E73C"),
+    ("0000C8BC    LDR        Q17, [X3, X7 LSL 0x4]",
+     "7178E73C"),
+    ("0000C8D0    LDR        Q17, [X3, W7 SXTW 0x0]",
+     "71C8E73C"),
+    ("0000C8D4    LDR        Q17, [X3, W7 SXTW 0x4]",
+     "71D8E73C"),
+    ("0000C8D8    LDR        Q17, [X3, X7 SXTX 0x0]",
+     "71E8E73C"),
+    ("0000C8DC    LDR        Q17, [X3, X7 SXTX 0x4]",
+     "71F8E73C"),
+    ("0000C8F0    STRH       W17, [X3, W7 UXTW 0x0]",
+     "71482778"),
+    ("0000C8F4    STRH       W17, [X3, W7 UXTW 0x1]",
+     "71582778"),
+    ("0000C8F8    STRH       W17, [X3, X7]",
+     "71682778"),
+    ("0000C8FC    STRH       W17, [X3, X7 LSL 0x1]",
+     "71782778"),
+    ("0000C910    STRH       W17, [X3, W7 SXTW 0x0]",
+     "71C82778"),
+    ("0000C914    STRH       W17, [X3, W7 SXTW 0x1]",
+     "71D82778"),
+    ("0000C918    STRH       W17, [X3, X7 SXTX 0x0]",
+     "71E82778"),
+    ("0000C91C    STRH       W17, [X3, X7 SXTX 0x1]",
+     "71F82778"),
+    ("0000C930    LDRH       W17, [X3, W7 UXTW 0x0]",
+     "71486778"),
+    ("0000C934    LDRH       W17, [X3, W7 UXTW 0x1]",
+     "71586778"),
+    ("0000C938    LDRH       W17, [X3, X7]",
+     "71686778"),
+    ("0000C93C    LDRH       W17, [X3, X7 LSL 0x1]",
+     "71786778"),
+    ("0000C950    LDRH       W17, [X3, W7 SXTW 0x0]",
+     "71C86778"),
+    ("0000C954    LDRH       W17, [X3, W7 SXTW 0x1]",
+     "71D86778"),
+    ("0000C958    LDRH       W17, [X3, X7 SXTX 0x0]",
+     "71E86778"),
+    ("0000C95C    LDRH       W17, [X3, X7 SXTX 0x1]",
+     "71F86778"),
+    ("0000C970    LDRSH      X17, [X3, W7 UXTW 0x0]",
+     "7148A778"),
+    ("0000C974    LDRSH      X17, [X3, W7 UXTW 0x1]",
+     "7158A778"),
+    ("0000C978    LDRSH      X17, [X3, X7]",
+     "7168A778"),
+    ("0000C97C    LDRSH      X17, [X3, X7 LSL 0x1]",
+     "7178A778"),
+    ("0000C990    LDRSH      X17, [X3, W7 SXTW 0x0]",
+     "71C8A778"),
+    ("0000C994    LDRSH      X17, [X3, W7 SXTW 0x1]",
+     "71D8A778"),
+    ("0000C998    LDRSH      X17, [X3, X7 SXTX 0x0]",
+     "71E8A778"),
+    ("0000C99C    LDRSH      X17, [X3, X7 SXTX 0x1]",
+     "71F8A778"),
+    ("0000C9B0    LDRSH      W17, [X3, W7 UXTW 0x0]",
+     "7148E778"),
+    ("0000C9B4    LDRSH      W17, [X3, W7 UXTW 0x1]",
+     "7158E778"),
+    ("0000C9B8    LDRSH      W17, [X3, X7]",
+     "7168E778"),
+    ("0000C9BC    LDRSH      W17, [X3, X7 LSL 0x1]",
+     "7178E778"),
+    ("0000C9D0    LDRSH      W17, [X3, W7 SXTW 0x0]",
+     "71C8E778"),
+    ("0000C9D4    LDRSH      W17, [X3, W7 SXTW 0x1]",
+     "71D8E778"),
+    ("0000C9D8    LDRSH      W17, [X3, X7 SXTX 0x0]",
+     "71E8E778"),
+    ("0000C9DC    LDRSH      W17, [X3, X7 SXTX 0x1]",
+     "71F8E778"),
+    ("0000C9F0    STR        H17, [X3, W7 UXTW 0x0]",
+     "7148277C"),
+    ("0000C9F4    STR        H17, [X3, W7 UXTW 0x1]",
+     "7158277C"),
+    ("0000C9F8    STR        H17, [X3, X7]",
+     "7168277C"),
+    ("0000C9FC    STR        H17, [X3, X7 LSL 0x1]",
+     "7178277C"),
+    ("0000CA10    STR        H17, [X3, W7 SXTW 0x0]",
+     "71C8277C"),
+    ("0000CA14    STR        H17, [X3, W7 SXTW 0x1]",
+     "71D8277C"),
+    ("0000CA18    STR        H17, [X3, X7 SXTX 0x0]",
+     "71E8277C"),
+    ("0000CA1C    STR        H17, [X3, X7 SXTX 0x1]",
+     "71F8277C"),
+    ("0000CA30    LDR        H17, [X3, W7 UXTW 0x0]",
+     "7148677C"),
+    ("0000CA34    LDR        H17, [X3, W7 UXTW 0x1]",
+     "7158677C"),
+    ("0000CA38    LDR        H17, [X3, X7]",
+     "7168677C"),
+    ("0000CA3C    LDR        H17, [X3, X7 LSL 0x1]",
+     "7178677C"),
+    ("0000CA50    LDR        H17, [X3, W7 SXTW 0x0]",
+     "71C8677C"),
+    ("0000CA54    LDR        H17, [X3, W7 SXTW 0x1]",
+     "71D8677C"),
+    ("0000CA58    LDR        H17, [X3, X7 SXTX 0x0]",
+     "71E8677C"),
+    ("0000CA5C    LDR        H17, [X3, X7 SXTX 0x1]",
+     "71F8677C"),
+    ("0000CAF0    STR        W17, [X3, W7 UXTW 0x0]",
+     "714827B8"),
+    ("0000CAF4    STR        W17, [X3, W7 UXTW 0x2]",
+     "715827B8"),
+    ("0000CAF8    STR        W17, [X3, X7]",
+     "716827B8"),
+    ("0000CAFC    STR        W17, [X3, X7 LSL 0x2]",
+     "717827B8"),
+    ("0000CB10    STR        W17, [X3, W7 SXTW 0x0]",
+     "71C827B8"),
+    ("0000CB14    STR        W17, [X3, W7 SXTW 0x2]",
+     "71D827B8"),
+    ("0000CB18    STR        W17, [X3, X7 SXTX 0x0]",
+     "71E827B8"),
+    ("0000CB1C    STR        W17, [X3, X7 SXTX 0x2]",
+     "71F827B8"),
+    ("0000CB30    LDR        W17, [X3, W7 UXTW 0x0]",
+     "714867B8"),
+    ("0000CB34    LDR        W17, [X3, W7 UXTW 0x2]",
+     "715867B8"),
+    ("0000CB38    LDR        W17, [X3, X7]",
+     "716867B8"),
+    ("0000CB3C    LDR        W17, [X3, X7 LSL 0x2]",
+     "717867B8"),
+    ("0000CB50    LDR        W17, [X3, W7 SXTW 0x0]",
+     "71C867B8"),
+    ("0000CB54    LDR        W17, [X3, W7 SXTW 0x2]",
+     "71D867B8"),
+    ("0000CB58    LDR        W17, [X3, X7 SXTX 0x0]",
+     "71E867B8"),
+    ("0000CB5C    LDR        W17, [X3, X7 SXTX 0x2]",
+     "71F867B8"),
+    ("0000CB70    LDRSW      X17, [X3, W7 UXTW 0x0]",
+     "7148A7B8"),
+    ("0000CB74    LDRSW      X17, [X3, W7 UXTW 0x2]",
+     "7158A7B8"),
+    ("0000CB78    LDRSW      X17, [X3, X7]",
+     "7168A7B8"),
+    ("0000CB7C    LDRSW      X17, [X3, X7 LSL 0x2]",
+     "7178A7B8"),
+    ("0000CB90    LDRSW      X17, [X3, W7 SXTW 0x0]",
+     "71C8A7B8"),
+    ("0000CB94    LDRSW      X17, [X3, W7 SXTW 0x2]",
+     "71D8A7B8"),
+    ("0000CB98    LDRSW      X17, [X3, X7 SXTX 0x0]",
+     "71E8A7B8"),
+    ("0000CB9C    LDRSW      X17, [X3, X7 SXTX 0x2]",
+     "71F8A7B8"),
+    ("0000CBF0    STR        S17, [X3, W7 UXTW 0x0]",
+     "714827BC"),
+    ("0000CBF4    STR        S17, [X3, W7 UXTW 0x2]",
+     "715827BC"),
+    ("0000CBF8    STR        S17, [X3, X7]",
+     "716827BC"),
+    ("0000CBFC    STR        S17, [X3, X7 LSL 0x2]",
+     "717827BC"),
+    ("0000CC10    STR        S17, [X3, W7 SXTW 0x0]",
+     "71C827BC"),
+    ("0000CC14    STR        S17, [X3, W7 SXTW 0x2]",
+     "71D827BC"),
+    ("0000CC18    STR        S17, [X3, X7 SXTX 0x0]",
+     "71E827BC"),
+    ("0000CC1C    STR        S17, [X3, X7 SXTX 0x2]",
+     "71F827BC"),
+    ("0000CC30    LDR        S17, [X3, W7 UXTW 0x0]",
+     "714867BC"),
+    ("0000CC34    LDR        S17, [X3, W7 UXTW 0x2]",
+     "715867BC"),
+    ("0000CC38    LDR        S17, [X3, X7]",
+     "716867BC"),
+    ("0000CC3C    LDR        S17, [X3, X7 LSL 0x2]",
+     "717867BC"),
+    ("0000CC50    LDR        S17, [X3, W7 SXTW 0x0]",
+     "71C867BC"),
+    ("0000CC54    LDR        S17, [X3, W7 SXTW 0x2]",
+     "71D867BC"),
+    ("0000CC58    LDR        S17, [X3, X7 SXTX 0x0]",
+     "71E867BC"),
+    ("0000CC5C    LDR        S17, [X3, X7 SXTX 0x2]",
+     "71F867BC"),
+    ("0000CCF0    STR        X17, [X3, W7 UXTW 0x0]",
+     "714827F8"),
+    ("0000CCF4    STR        X17, [X3, W7 UXTW 0x3]",
+     "715827F8"),
+    ("0000CCF8    STR        X17, [X3, X7]",
+     "716827F8"),
+    ("0000CCFC    STR        X17, [X3, X7 LSL 0x3]",
+     "717827F8"),
+    ("0000CD10    STR        X17, [X3, W7 SXTW 0x0]",
+     "71C827F8"),
+    ("0000CD14    STR        X17, [X3, W7 SXTW 0x3]",
+     "71D827F8"),
+    ("0000CD18    STR        X17, [X3, X7 SXTX 0x0]",
+     "71E827F8"),
+    ("0000CD1C    STR        X17, [X3, X7 SXTX 0x3]",
+     "71F827F8"),
+    ("0000CD30    LDR        X17, [X3, W7 UXTW 0x0]",
+     "714867F8"),
+    ("0000CD34    LDR        X17, [X3, W7 UXTW 0x3]",
+     "715867F8"),
+    ("0000CD38    LDR        X17, [X3, X7]",
+     "716867F8"),
+    ("0000CD3C    LDR        X17, [X3, X7 LSL 0x3]",
+     "717867F8"),
+    ("0000CD50    LDR        X17, [X3, W7 SXTW 0x0]",
+     "71C867F8"),
+    ("0000CD54    LDR        X17, [X3, W7 SXTW 0x3]",
+     "71D867F8"),
+    ("0000CD58    LDR        X17, [X3, X7 SXTX 0x0]",
+     "71E867F8"),
+    ("0000CD5C    LDR        X17, [X3, X7 SXTX 0x3]",
+     "71F867F8"),
+    ("0000CDF0    STR        D17, [X3, W7 UXTW 0x0]",
+     "714827FC"),
+    ("0000CDF4    STR        D17, [X3, W7 UXTW 0x3]",
+     "715827FC"),
+    ("0000CDF8    STR        D17, [X3, X7]",
+     "716827FC"),
+    ("0000CDFC    STR        D17, [X3, X7 LSL 0x3]",
+     "717827FC"),
+    ("0000CE10    STR        D17, [X3, W7 SXTW 0x0]",
+     "71C827FC"),
+    ("0000CE14    STR        D17, [X3, W7 SXTW 0x3]",
+     "71D827FC"),
+    ("0000CE18    STR        D17, [X3, X7 SXTX 0x0]",
+     "71E827FC"),
+    ("0000CE1C    STR        D17, [X3, X7 SXTX 0x3]",
+     "71F827FC"),
+    ("0000CE30    LDR        D17, [X3, W7 UXTW 0x0]",
+     "714867FC"),
+    ("0000CE34    LDR        D17, [X3, W7 UXTW 0x3]",
+     "715867FC"),
+    ("0000CE38    LDR        D17, [X3, X7]",
+     "716867FC"),
+    ("0000CE3C    LDR        D17, [X3, X7 LSL 0x3]",
+     "717867FC"),
+    ("0000CE50    LDR        D17, [X3, W7 SXTW 0x0]",
+     "71C867FC"),
+    ("0000CE54    LDR        D17, [X3, W7 SXTW 0x3]",
+     "71D867FC"),
+    ("0000CE58    LDR        D17, [X3, X7 SXTX 0x0]",
+     "71E867FC"),
+    ("0000CE5C    LDR        D17, [X3, X7 SXTX 0x3]",
+     "71F867FC"),
+
+
+
+    ("0000C6F8    STP        D10, D11, [SP, 0x68]",
+     "EAAF066D"),
+    ("004009E4    STP        X29, LR, [SP, 0xFFFFFFFFFFFFFFF0]!",
+     "FD7BBFA9"),
+
+    ("0000C6E0    STP        W3, W15, [X3], 0x7C",
+     "63BC8F28"),
+    ("0000C6E4    LDP        W3, W15, [X3], 0x7C",
+     "63BCCF28"),
+    ("0000C6E8    STP        W3, W15, [X3, 0x7C]!",
+     "63BC8F29"),
+    ("0000C6EC    LDP        W3, W15, [X3, 0x7C]!",
+     "63BCCF29"),
+    ("0000C6F0    STP        X3, X15, [X3], 0xF8",
+     "63BC8FA8"),
+    ("0000C6F4    LDP        X3, X15, [X3], 0xF8",
+     "63BCCFA8"),
+    ("0000C6F8    STP        X3, X15, [X3, 0xF8]!",
+     "63BC8FA9"),
+    ("0000C6FC    LDP        X3, X15, [X3, 0xF8]!",
+     "63BCCFA9"),
+
+    ("0000C6E0    STP        S3, S15, [X3], 0x7C",
+     "63BC8F2C"),
+    ("0000C6E4    LDP        S3, S15, [X3], 0x7C",
+     "63BCCF2C"),
+    ("0000C6E8    STP        S3, S15, [X3, 0x7C]!",
+     "63BC8F2D"),
+    ("0000C6EC    LDP        S3, S15, [X3, 0x7C]!",
+     "63BCCF2D"),
+    ("0000C6F0    STP        D3, D15, [X3], 0xF8",
+     "63BC8F6C"),
+    ("0000C6F4    LDP        D3, D15, [X3], 0xF8",
+     "63BCCF6C"),
+    ("0000C6F8    STP        D3, D15, [X3, 0xF8]!",
+     "63BC8F6D"),
+    ("0000C6FC    LDP        D3, D15, [X3, 0xF8]!",
+     "63BCCF6D"),
+    ("0000C700    STP        Q3, Q15, [X3], 0x1F0",
+     "63BC8FAC"),
+    ("0000C704    LDP        Q3, Q15, [X3], 0x1F0",
+     "63BCCFAC"),
+    ("0000C708    STP        Q3, Q15, [X3, 0x1F0]!",
+     "63BC8FAD"),
+    ("0000C70C    LDP        Q3, Q15, [X3, 0x1F0]!",
+     "63BCCFAD"),
+
+    ("00028614    STP        D8, D9, [SP, 0x70]",
+     "E827076D"),
+
+
+
+    ("0000C6E0    RBIT       W3, W3",
+     "6300C05A"),
+    ("0000C6E4    REV16      W3, W3",
+     "6304C05A"),
+    ("0000C6E8    REV        W3, W3",
+     "6308C05A"),
+    ("0000C6F0    CLZ        W3, W3",
+     "6310C05A"),
+    ("0000C6F4    CLS        W3, W3",
+     "6314C05A"),
+    ("0000C710    RBIT       X3, X3",
+     "6300C0DA"),
+    ("0000C714    REV16      X3, X3",
+     "6304C0DA"),
+    ("0000C718    REV32      X3, X3",
+     "6308C0DA"),
+    ("0000C71C    REV        X3, X3",
+     "630CC0DA"),
+    ("0000C720    CLZ        X3, X3",
+     "6310C0DA"),
+    ("0000C724    CLS        X3, X3",
+     "6314C0DA"),
+
+    ("00028678    CBNZ       W0, 0x24",
+     "20010035"),
+    ("0000C734    CBZ        X1, 0x4C4",
+     "212600B4"),
+
+    ("0000D088    FMOV       D10, D0",
+     "0A40601E"),
+    ("0000C710    FMOV       D14, X0",
+     "0E00679E"),
+    ("0000C738    FMOV       X0, D14",
+     "C001669E"),
+    ("00010308    FMOV       W0, S12",
+     "8001261E"),
+
+    ("0000CC94    FSUB       D0, D5, D0",
+     "A038601E"),
+    ("0000D1A4    FADD       D0, D1, D10",
+     "20286A1E"),
+    ("00044DB4    FDIV       D1, D0, D8",
+     "0118681E"),
+    ("0001AB48    FMUL       D0, D8, D0",
+     "0009601E"),
+    ("0001C5C0    FMUL       S0, S0, S1",
+     "0008211E"),
+    ("0000CCA0    FMADD      D1, D0, D4, D1",
+     "0104441F"),
+    ("0002F938    FMSUB      D2, D2, D1, D3",
+     "428C411F"),
+    ("0000CFE8    FABS       D10, D8",
+     "0AC1601E"),
+    ("00010014    FNEG       D11, D0",
+     "0B40611E"),
+    ("0000CCBC    FMOV       D0, 0x40",
+     "0010681E"),
+    ("0008BD54    FCMP       D0, D1",
+     "0020611E"),
+    ("0000C6E4    FCMP       S3, 0x0",
+     "6820201E"),
+    ("0000C6EC    FCMP       D3, 0x0",
+     "6820601E"),
+    ("0008BD54    FCMP       D0, D1",
+     "0020611E"),
+    ("0000F58C    FCMPE      D8, 0x0",
+     "1821601E"),
+
+
+    ("0000CD28    FCVTZU     W1, D0",
+     "0100791E"),
+    ("0000CAB0    FCVTZS     X2, D0",
+     "0200789E"),
+    ("0001C5C4    FCVT       D0, S0",
+     "00C0221E"),
+    ("0002F90C    FCVT       S1, D0",
+     "0140621E"),
+
+
+    ("0000CCA4    SCVTF      D0, W5",
+     "A000621E"),
+    ("0000CAC0    SCVTF      D1, X2",
+     "4100629E"),
+    ("0000CD6C    UCVTF      D1, W0",
+     "0100631E"),
+
+    ("0003D25C    UBFM       X1, X0, 0x3D, 0x3",
+     "010C7DD3"),
+
+    ("0000C6E0    CSEL       W7, W3, W1, EQ",
+     "6700811A"),
+    ("0000C6E4    CSINC      W7, W3, W1, EQ",
+     "6704811A"),
+    ("0000C6E8    CSINV      W7, W3, W1, EQ",
+     "6700815A"),
+    ("0000C6EC    CSNEG      W7, W3, W1, EQ",
+     "6704815A"),
+    ("0000C6F0    CSEL       W7, W3, W1, CC",
+     "6730811A"),
+    ("0000C6F4    CSINC      W7, W3, W1, CC",
+     "6734811A"),
+    ("0000C6F8    CSINV      W7, W3, W1, CC",
+     "6730815A"),
+    ("0000C6FC    CSNEG      W7, W3, W1, CC",
+     "6734815A"),
+    ("0000C700    CSEL       W7, W3, W1, NV",
+     "67F0811A"),
+    ("0000C704    CSINC      W7, W3, W1, NV",
+     "67F4811A"),
+    ("0000C708    CSINV      W7, W3, W1, NV",
+     "67F0815A"),
+    ("0000C70C    CSNEG      W7, W3, W1, NV",
+     "67F4815A"),
+    ("0000C710    CSEL       W7, W3, W1, EQ",
+     "6700811A"),
+    ("0000C714    CSINC      W7, W3, W1, EQ",
+     "6704811A"),
+    ("0000C718    CSINV      W7, W3, W1, EQ",
+     "6700815A"),
+    ("0000C71C    CSNEG      W7, W3, W1, EQ",
+     "6704815A"),
+    ("0000C720    CSEL       W7, W3, W1, CC",
+     "6730811A"),
+    ("0000C724    CSINC      W7, W3, W1, CC",
+     "6734811A"),
+    ("0000C728    CSINV      W7, W3, W1, CC",
+     "6730815A"),
+    ("0000C72C    CSNEG      W7, W3, W1, CC",
+     "6734815A"),
+    ("0000C730    CSEL       W7, W3, W1, NV",
+     "67F0811A"),
+    ("0000C734    CSINC      W7, W3, W1, NV",
+     "67F4811A"),
+    ("0000C738    CSINV      W7, W3, W1, NV",
+     "67F0815A"),
+    ("0000C73C    CSNEG      W7, W3, W1, NV",
+     "67F4815A"),
+    ("0000C740    CSEL       X7, X3, X1, EQ",
+     "6700819A"),
+    ("0000C744    CSINC      X7, X3, X1, EQ",
+     "6704819A"),
+    ("0000C748    CSINV      X7, X3, X1, EQ",
+     "670081DA"),
+    ("0000C74C    CSNEG      X7, X3, X1, EQ",
+     "670481DA"),
+    ("0000C750    CSEL       X7, X3, X1, CC",
+     "6730819A"),
+    ("0000C754    CSINC      X7, X3, X1, CC",
+     "6734819A"),
+    ("0000C758    CSINV      X7, X3, X1, CC",
+     "673081DA"),
+    ("0000C75C    CSNEG      X7, X3, X1, CC",
+     "673481DA"),
+    ("0000C760    CSEL       X7, X3, X1, NV",
+     "67F0819A"),
+    ("0000C764    CSINC      X7, X3, X1, NV",
+     "67F4819A"),
+    ("0000C768    CSINV      X7, X3, X1, NV",
+     "67F081DA"),
+    ("0000C76C    CSNEG      X7, X3, X1, NV",
+     "67F481DA"),
+    ("0000C770    CSEL       X7, X3, X1, EQ",
+     "6700819A"),
+    ("0000C774    CSINC      X7, X3, X1, EQ",
+     "6704819A"),
+    ("0000C778    CSINV      X7, X3, X1, EQ",
+     "670081DA"),
+    ("0000C77C    CSNEG      X7, X3, X1, EQ",
+     "670481DA"),
+    ("0000C780    CSEL       X7, X3, X1, CC",
+     "6730819A"),
+    ("0000C784    CSINC      X7, X3, X1, CC",
+     "6734819A"),
+    ("0000C788    CSINV      X7, X3, X1, CC",
+     "673081DA"),
+    ("0000C78C    CSNEG      X7, X3, X1, CC",
+     "673481DA"),
+    ("0000C790    CSEL       X7, X3, X1, NV",
+     "67F0819A"),
+    ("0000C794    CSINC      X7, X3, X1, NV",
+     "67F4819A"),
+    ("0000C798    CSINV      X7, X3, X1, NV",
+     "67F081DA"),
+    ("0000C79C    CSNEG      X7, X3, X1, NV",
+     "67F481DA"),
+    ("0000DEB8    CSET       W0, NE",
+     "E0079F1A"),
+    ("00031190    CSET       X3, NE",
+     "E3079F9A"),
+    ("00068EE4    CSETM      W19, NE",
+     "F3039F5A"),
+    ("00083E20    CSETM      W19, MI",
+     "F3539F5A"),
+    ("0000D7FC    CSINC      W2, W2, W2, NE",
+     "4214821A"),
+    ("0007FB50    CSNEG      W0, W0, W0, EQ",
+     "0004805A"),
+
+
+
+
+    ("000A3304    TBNZ       W19, 0x1F, 0xFFFFFFFFFFFFFEEC",
+     "73F7FF37"),
+    ("0000CA34    TBZ        W0, 0x1F, 0x1C",
+     "E000F836"),
+    ("0001332C    TBZ        X19, 0x3F, 0x14",
+     "B300F8B6"),
+
+    ("0006BC4C    MADD       X15, X15, X0, XZR",
+     "EF7D009B"),
+    ("0000EAC0    MADD       W22, W0, W22, W1",
+     "1604161B"),
+    ("00011F00    MSUB       W0, W4, W3, W0",
+     "8080031B"),
+    ("0001A1B8    MSUB       X0, X0, X1, X22",
+     "00D8019B"),
+    ("000100C8    SMADDL     X25, W25, W20, X0",
+     "3903349B"),
+    ("00055860    UMADDL     X0, W0, W20, X1",
+     "0004B49B"),
+    ("00462068    UMULH      X10, X5, X9",
+     "AA7CC99B"),
+
+    ("0003A290    UDIV       W1, W23, W1",
+     "E10AC11A"),
+    ("0000D26C    SDIV       X1, X0, X1",
+     "010CC19A"),
+
+    ("0000CC50    LDR        D4, 0xD0",
+     "8406005C"),
+
+    ("0000CC90    LSL        W5, W7, W3",
+     "E520C31A"),
+    ("0000D5B0    LSL        X1, X1, X6",
+     "2120C69A"),
+    ("0001CE98    ASR        W0, W0, W20",
+     "0028D41A"),
+    ("0005DD30    ASR        X19, X3, X19",
+     "7328D39A"),
+    ("0001B118    LSR        W4, W1, W3",
+     "2424C31A"),
+    ("000374E8    LSR        X3, X4, X1",
+     "8324C19A"),
+    ("0009EB84    ROR        X3, X3, X6",
+     "632CC69A"),
+    ("00050634    NOP        ",
+     "1F2003D5"),
+
+    ("0006C588    EXTR       W2, W2, W2, 0x1F",
+     "427C8213"),
+
+    ("00458AB8    CCMP       X3, X5, 0x8, GE",
+     "68A045FA"),
+    ("00458F90    CCMP       W3, 0x1, 0x0, CS",
+     "6028417A"),
+
+    ("00463288    SVC        0x0",
+     "010000D4"),
+
+
+    ("00458FF4    MRS        X0, 0x3, c13, c0, 0x2",
+     "40D03BD5"),
+    ("0045BA04    MSR        0x3, c13, c0, 0x2, X0",
+     "40D01BD5"),
+    ("0048A2E8    MRS        X13, 0x3, c4, c4, 0x0",
+     "0D443BD5"),
+    ("0048A9DC    MRS        X0, 0x3, c4, c4, 0x1",
+     "20443BD5"),
+
+    ("004010C8    ORR        W2, 0x0, 0x1",
+     "E2030032"),
+
+    ("0045B008    LDXR       W7, [X19]",
+     "677E5F88"),
+    ("0045AEC4    LDXR       W13, [X19]",
+     "6D7E5F88"),
+    ("0045B014    STXR       W2, W6, [X19]",
+     "667E0288"),
+
+    ("00464084    LDAXR      W13, [X20]",
+     "8DFE5F88"),
+    ("0046FA7C    LDAXR      X17, [X16]",
+     "11FE5FC8"),
+    ("00464090    STLXR      W14, W2, [X20]",
+     "82FE0E88"),
+
+    ("0045ADB0    DMB        c11",
+     "BF3B03D5"),
+
+    ("00484A08    BRK        0x3E8",
+     "007D20D4"),
+]
+
+
+
+def h2i(s):
+    return s.replace(' ', '').decode('hex')
+
+
+ts = time.time()
+
+for s, l in reg_tests_aarch64[:]:
+    print "-" * 80
+    print s[:12], l
+    s = s[12:]
+    b = h2i((l))
+    mn = mn_aarch64.dis(b, 'l')
+    print [str(x) for x in mn.args]
+    print s
+    print mn
+    assert(str(mn) == s)
+    l = mn_aarch64.fromstring(s, 'l')
+    assert(str(l) == s)
+    a = mn_aarch64.asm(l)
+    print [x for x in a]
+    print repr(b)
+    assert(b in a)
+
diff --git a/test/test_all.py b/test/test_all.py
index 7270af3d..2f4efc88 100644
--- a/test/test_all.py
+++ b/test/test_all.py
@@ -41,6 +41,7 @@ for script in ["x86/sem.py",
                "arm/arch.py",
                "arm/sem.py",
                "aarch64/unit/mn_ubfm.py",
+               "aarch64/arch.py",
                "msp430/arch.py",
                "msp430/sem.py",
                "sh4/arch.py",