1588
1589 generate (RegAndAbsOp, ["cbzw", "cbnzw", "cbz", "cbnz", "adr", "adrp"])
1590
1591 generate (RegImmAbsOp, ["tbz", "tbnz"])
1592
1593 generate (MoveWideImmOp, ["movnw", "movzw", "movkw", "movn", "movz", "movk"])
1594
1595 generate (BitfieldOp, ["sbfm", "bfmw", "ubfmw", "sbfm", "bfm", "ubfm"])
1596
1597 generate (ExtractOp, ["extrw", "extr"])
1598
1599 generate (CondBranchOp, ["EQ", "NE", "HS", "CS", "LO", "CC", "MI", "PL", "VS", "VC",
1600 "HI", "LS", "GE", "LT", "GT", "LE", "AL", "NV" ])
1601
1602 generate (ImmOp, ["svc", "hvc", "smc", "brk", "hlt", # "dcps1", "dcps2", "dcps3"
1603 ])
1604
1605 generate (Op, ["nop", "yield", "wfe", "sev", "sevl",
1606 "autia1716", "autiasp", "autiaz", "autib1716", "autibsp", "autibz",
1607 "pacia1716", "paciasp", "paciaz", "pacib1716", "pacibsp", "pacibz",
1608 "eret", "drps", "isb",])
1609
1610 # Ensure the "i" is not stripped off the end of the instruction
1611 generate (PostfixExceptionOp, ["wfi", "xpaclri"])
1612
1613 barriers = ["OSHLD", "OSHST", "OSH", "NSHLD", "NSHST", "NSH",
1614 "ISHLD", "ISHST", "ISH", "LD", "ST", "SY"]
1615
1616 generate (SystemOp, [["dsb", barriers], ["dmb", barriers]])
1617
1618 generate (OneRegOp, ["br", "blr",
1619 "paciza", "pacizb", "pacdza", "pacdzb",
1620 "autiza", "autizb", "autdza", "autdzb", "xpacd",
1621 "braaz", "brabz", "blraaz", "blrabz"])
1622
1623 for system_reg in ["fpsr", "nzcv"]:
1624 generate (SystemOneRegOp, [ ["msr", system_reg] ])
1625
1626 for system_reg in ["fpsr", "nzcv", "dczid_el0", "ctr_el0"]:
1627 generate (OneRegSystemOp, [ ["mrs", system_reg] ])
1628
|
1588
1589 generate (RegAndAbsOp, ["cbzw", "cbnzw", "cbz", "cbnz", "adr", "adrp"])
1590
1591 generate (RegImmAbsOp, ["tbz", "tbnz"])
1592
1593 generate (MoveWideImmOp, ["movnw", "movzw", "movkw", "movn", "movz", "movk"])
1594
1595 generate (BitfieldOp, ["sbfm", "bfmw", "ubfmw", "sbfm", "bfm", "ubfm"])
1596
1597 generate (ExtractOp, ["extrw", "extr"])
1598
1599 generate (CondBranchOp, ["EQ", "NE", "HS", "CS", "LO", "CC", "MI", "PL", "VS", "VC",
1600 "HI", "LS", "GE", "LT", "GT", "LE", "AL", "NV" ])
1601
1602 generate (ImmOp, ["svc", "hvc", "smc", "brk", "hlt", # "dcps1", "dcps2", "dcps3"
1603 ])
1604
1605 generate (Op, ["nop", "yield", "wfe", "sev", "sevl",
1606 "autia1716", "autiasp", "autiaz", "autib1716", "autibsp", "autibz",
1607 "pacia1716", "paciasp", "paciaz", "pacib1716", "pacibsp", "pacibz",
1608 "eret", "drps", "isb", "sb",])
1609
1610 # Ensure the "i" is not stripped off the end of the instruction
1611 generate (PostfixExceptionOp, ["wfi", "xpaclri"])
1612
1613 barriers = ["OSHLD", "OSHST", "OSH", "NSHLD", "NSHST", "NSH",
1614 "ISHLD", "ISHST", "ISH", "LD", "ST", "SY"]
1615
1616 generate (SystemOp, [["dsb", barriers], ["dmb", barriers]])
1617
1618 generate (OneRegOp, ["br", "blr",
1619 "paciza", "pacizb", "pacdza", "pacdzb",
1620 "autiza", "autizb", "autdza", "autdzb", "xpacd",
1621 "braaz", "brabz", "blraaz", "blrabz"])
1622
1623 for system_reg in ["fpsr", "nzcv"]:
1624 generate (SystemOneRegOp, [ ["msr", system_reg] ])
1625
1626 for system_reg in ["fpsr", "nzcv", "dczid_el0", "ctr_el0"]:
1627 generate (OneRegSystemOp, [ ["mrs", system_reg] ])
1628
|