Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Side by Side Diff: src/trusted/validator_arm/gen/arm32_decode_baselines_1.h

Issue 12223046: Use generated actual decoders for ARM table: (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client/
Patch Set: Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright 2013 The Native Client Authors. All rights reserved. 2 * Copyright 2013 The Native Client Authors. All rights reserved.
3 * Use of this source code is governed by a BSD-style license that can 3 * Use of this source code is governed by a BSD-style license that can
4 * be found in the LICENSE file. 4 * be found in the LICENSE file.
5 */ 5 */
6 6
7 // DO NOT EDIT: GENERATED CODE 7 // DO NOT EDIT: GENERATED CODE
8 8
9 #ifndef NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_GEN_ARM32_DECODE_BASELINES_1_H_ 9 #ifndef NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_GEN_ARM32_DECODE_BASELINES_1_H_
10 #define NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_GEN_ARM32_DECODE_BASELINES_1_H_ 10 #define NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_GEN_ARM32_DECODE_BASELINES_1_H_
(...skipping 821 matching lines...) Expand 10 before | Expand all | Expand 10 after
832 private: 832 private:
833 NACL_DISALLOW_COPY_AND_ASSIGN( 833 NACL_DISALLOW_COPY_AND_ASSIGN(
834 BLX_register_cccc000100101111111111110011mmmm_case_0); 834 BLX_register_cccc000100101111111111110011mmmm_case_0);
835 }; 835 };
836 836
837 // BL_BLX_immediate_cccc1011iiiiiiiiiiiiiiiiiiiiiiii_case_0: 837 // BL_BLX_immediate_cccc1011iiiiiiiiiiiiiiiiiiiiiiii_case_0:
838 // 838 //
839 // {Cond: Cond(31:28), 839 // {Cond: Cond(31:28),
840 // Lr: 14, 840 // Lr: 14,
841 // Pc: 15, 841 // Pc: 15,
842 // actual: Actual_BL_BLX_immediate_cccc1011iiiiiiiiiiiiiiiiiiiiiiii_case_1,
842 // baseline: BranchImmediate24, 843 // baseline: BranchImmediate24,
843 // constraints: , 844 // constraints: ,
844 // defs: {Pc, Lr}, 845 // defs: {Pc, Lr},
845 // fields: [Cond(31:28), imm24(23:0)], 846 // fields: [Cond(31:28), imm24(23:0)],
846 // generated_baseline: BL_BLX_immediate_cccc1011iiiiiiiiiiiiiiiiiiiiiiii_case _0, 847 // generated_baseline: BL_BLX_immediate_cccc1011iiiiiiiiiiiiiiiiiiiiiiii_case _0,
847 // imm24: imm24(23:0), 848 // imm24: imm24(23:0),
848 // imm32: SignExtend(imm24:'00'(1:0), 32), 849 // imm32: SignExtend(imm24:'00'(1:0), 32),
849 // pattern: cccc1011iiiiiiiiiiiiiiiiiiiiiiii, 850 // pattern: cccc1011iiiiiiiiiiiiiiiiiiiiiiii,
850 // relative: true, 851 // relative: true,
851 // relative_offset: imm32, 852 // relative_offset: imm32 + 8,
852 // rule: BL_BLX_immediate, 853 // rule: BL_BLX_immediate,
853 // safety: [true => MAY_BE_SAFE], 854 // safety: [true => MAY_BE_SAFE],
854 // true: true, 855 // true: true,
855 // uses: {Pc}} 856 // uses: {Pc}}
856 class BL_BLX_immediate_cccc1011iiiiiiiiiiiiiiiiiiiiiiii_case_0 857 class BL_BLX_immediate_cccc1011iiiiiiiiiiiiiiiiiiiiiiii_case_0
857 : public ClassDecoder { 858 : public ClassDecoder {
858 public: 859 public:
859 BL_BLX_immediate_cccc1011iiiiiiiiiiiiiiiiiiiiiiii_case_0() 860 BL_BLX_immediate_cccc1011iiiiiiiiiiiiiiiiiiiiiiii_case_0()
860 : ClassDecoder() {} 861 : ClassDecoder() {}
861 virtual RegisterList defs(Instruction inst) const; 862 virtual RegisterList defs(Instruction inst) const;
862 virtual bool is_relative_branch(Instruction i) const; 863 virtual bool is_relative_branch(Instruction i) const;
863 virtual int32_t branch_target_offset(Instruction i) const; 864 virtual int32_t branch_target_offset(Instruction i) const;
864 virtual SafetyLevel safety(Instruction i) const; 865 virtual SafetyLevel safety(Instruction i) const;
865 virtual RegisterList uses(Instruction i) const; 866 virtual RegisterList uses(Instruction i) const;
866 private: 867 private:
867 NACL_DISALLOW_COPY_AND_ASSIGN( 868 NACL_DISALLOW_COPY_AND_ASSIGN(
868 BL_BLX_immediate_cccc1011iiiiiiiiiiiiiiiiiiiiiiii_case_0); 869 BL_BLX_immediate_cccc1011iiiiiiiiiiiiiiiiiiiiiiii_case_0);
869 }; 870 };
870 871
871 // B_cccc1010iiiiiiiiiiiiiiiiiiiiiiii_case_0: 872 // B_cccc1010iiiiiiiiiiiiiiiiiiiiiiii_case_0:
872 // 873 //
873 // {Cond: Cond(31:28), 874 // {Cond: Cond(31:28),
874 // Pc: 15, 875 // Pc: 15,
876 // actual: Actual_B_cccc1010iiiiiiiiiiiiiiiiiiiiiiii_case_1,
875 // baseline: BranchImmediate24, 877 // baseline: BranchImmediate24,
876 // constraints: , 878 // constraints: ,
877 // defs: {Pc}, 879 // defs: {Pc},
878 // fields: [Cond(31:28), imm24(23:0)], 880 // fields: [Cond(31:28), imm24(23:0)],
879 // generated_baseline: B_cccc1010iiiiiiiiiiiiiiiiiiiiiiii_case_0, 881 // generated_baseline: B_cccc1010iiiiiiiiiiiiiiiiiiiiiiii_case_0,
880 // imm24: imm24(23:0), 882 // imm24: imm24(23:0),
881 // imm32: SignExtend(imm24:'00'(1:0), 32), 883 // imm32: SignExtend(imm24:'00'(1:0), 32),
882 // pattern: cccc1010iiiiiiiiiiiiiiiiiiiiiiii, 884 // pattern: cccc1010iiiiiiiiiiiiiiiiiiiiiiii,
883 // relative: true, 885 // relative: true,
884 // relative_offset: imm32, 886 // relative_offset: imm32 + 8,
885 // rule: B, 887 // rule: B,
886 // safety: [true => MAY_BE_SAFE], 888 // safety: [true => MAY_BE_SAFE],
887 // true: true, 889 // true: true,
888 // uses: {Pc}} 890 // uses: {Pc}}
889 class B_cccc1010iiiiiiiiiiiiiiiiiiiiiiii_case_0 891 class B_cccc1010iiiiiiiiiiiiiiiiiiiiiiii_case_0
890 : public ClassDecoder { 892 : public ClassDecoder {
891 public: 893 public:
892 B_cccc1010iiiiiiiiiiiiiiiiiiiiiiii_case_0() 894 B_cccc1010iiiiiiiiiiiiiiiiiiiiiiii_case_0()
893 : ClassDecoder() {} 895 : ClassDecoder() {}
894 virtual RegisterList defs(Instruction inst) const; 896 virtual RegisterList defs(Instruction inst) const;
(...skipping 725 matching lines...) Expand 10 before | Expand all | Expand 10 after
1620 NACL_DISALLOW_COPY_AND_ASSIGN( 1622 NACL_DISALLOW_COPY_AND_ASSIGN(
1621 LDC_literal_cccc110pudw11111ddddcccciiiiiiii_case_0); 1623 LDC_literal_cccc110pudw11111ddddcccciiiiiiii_case_0);
1622 }; 1624 };
1623 1625
1624 // LDMDA_LDMFA_cccc100000w1nnnnrrrrrrrrrrrrrrrr_case_0: 1626 // LDMDA_LDMFA_cccc100000w1nnnnrrrrrrrrrrrrrrrr_case_0:
1625 // 1627 //
1626 // {None: 32, 1628 // {None: 32,
1627 // Pc: 15, 1629 // Pc: 15,
1628 // Rn: Rn(19:16), 1630 // Rn: Rn(19:16),
1629 // W: W(21), 1631 // W: W(21),
1632 // actual: Actual_LDMDA_LDMFA_cccc100000w1nnnnrrrrrrrrrrrrrrrr_case_1,
1630 // base: Rn, 1633 // base: Rn,
1631 // baseline: LoadRegisterList, 1634 // baseline: LoadRegisterList,
1632 // cond: cond(31:28), 1635 // cond: cond(31:28),
1633 // constraints: , 1636 // constraints: ,
1634 // defs: Union({Rn 1637 // defs: Union({Rn
1635 // if wback 1638 // if wback
1636 // else None}, registers), 1639 // else None}, registers),
1637 // fields: [cond(31:28), W(21), Rn(19:16), register_list(15:0)], 1640 // fields: [cond(31:28), W(21), Rn(19:16), register_list(15:0)],
1638 // generated_baseline: LDMDA_LDMFA_cccc100000w1nnnnrrrrrrrrrrrrrrrr_case_0, 1641 // generated_baseline: LDMDA_LDMFA_cccc100000w1nnnnrrrrrrrrrrrrrrrr_case_0,
1639 // pattern: cccc100000w1nnnnrrrrrrrrrrrrrrrr, 1642 // pattern: cccc100000w1nnnnrrrrrrrrrrrrrrrr,
1640 // register_list: register_list(15:0), 1643 // register_list: register_list(15:0),
1641 // registers: RegisterList(register_list), 1644 // registers: RegisterList(register_list),
1642 // rule: LDMDA_LDMFA, 1645 // rule: LDMDA_LDMFA,
1643 // safety: [Rn == 1646 // safety: [Rn ==
1644 // Pc || 1647 // Pc ||
1645 // NumGPRs(registers) < 1648 // NumGPRs(registers) <
1646 // 1 => UNPREDICTABLE, 1649 // 1 => UNPREDICTABLE,
1647 // wback && 1650 // wback &&
1648 // Contains(registers, Rn) => UNKNOWN, 1651 // Contains(registers, Rn) => UNKNOWN,
1649 // Contains(registers, Pc) => FORBIDDEN_OPERANDS], 1652 // Contains(registers, Pc) => FORBIDDEN_OPERANDS],
1650 // small_imm_base_wb: true, 1653 // small_imm_base_wb: wback,
1651 // true: true,
1652 // uses: {Rn}, 1654 // uses: {Rn},
1653 // wback: W(21)=1} 1655 // wback: W(21)=1}
1654 class LDMDA_LDMFA_cccc100000w1nnnnrrrrrrrrrrrrrrrr_case_0 1656 class LDMDA_LDMFA_cccc100000w1nnnnrrrrrrrrrrrrrrrr_case_0
1655 : public ClassDecoder { 1657 : public ClassDecoder {
1656 public: 1658 public:
1657 LDMDA_LDMFA_cccc100000w1nnnnrrrrrrrrrrrrrrrr_case_0() 1659 LDMDA_LDMFA_cccc100000w1nnnnrrrrrrrrrrrrrrrr_case_0()
1658 : ClassDecoder() {} 1660 : ClassDecoder() {}
1659 virtual Register base_address_register(Instruction i) const; 1661 virtual Register base_address_register(Instruction i) const;
1660 virtual RegisterList defs(Instruction inst) const; 1662 virtual RegisterList defs(Instruction inst) const;
1661 virtual SafetyLevel safety(Instruction i) const; 1663 virtual SafetyLevel safety(Instruction i) const;
1662 virtual bool base_address_register_writeback_small_immediate( 1664 virtual bool base_address_register_writeback_small_immediate(
1663 Instruction i) const; 1665 Instruction i) const;
1664 virtual RegisterList uses(Instruction i) const; 1666 virtual RegisterList uses(Instruction i) const;
1665 private: 1667 private:
1666 NACL_DISALLOW_COPY_AND_ASSIGN( 1668 NACL_DISALLOW_COPY_AND_ASSIGN(
1667 LDMDA_LDMFA_cccc100000w1nnnnrrrrrrrrrrrrrrrr_case_0); 1669 LDMDA_LDMFA_cccc100000w1nnnnrrrrrrrrrrrrrrrr_case_0);
1668 }; 1670 };
1669 1671
1670 // LDMDB_LDMEA_cccc100100w1nnnnrrrrrrrrrrrrrrrr_case_0: 1672 // LDMDB_LDMEA_cccc100100w1nnnnrrrrrrrrrrrrrrrr_case_0:
1671 // 1673 //
1672 // {None: 32, 1674 // {None: 32,
1673 // Pc: 15, 1675 // Pc: 15,
1674 // Rn: Rn(19:16), 1676 // Rn: Rn(19:16),
1675 // W: W(21), 1677 // W: W(21),
1678 // actual: Actual_LDMDA_LDMFA_cccc100000w1nnnnrrrrrrrrrrrrrrrr_case_1,
1676 // base: Rn, 1679 // base: Rn,
1677 // baseline: LoadRegisterList, 1680 // baseline: LoadRegisterList,
1678 // cond: cond(31:28), 1681 // cond: cond(31:28),
1679 // constraints: , 1682 // constraints: ,
1680 // defs: Union({Rn 1683 // defs: Union({Rn
1681 // if wback 1684 // if wback
1682 // else None}, registers), 1685 // else None}, registers),
1683 // fields: [cond(31:28), W(21), Rn(19:16), register_list(15:0)], 1686 // fields: [cond(31:28), W(21), Rn(19:16), register_list(15:0)],
1684 // generated_baseline: LDMDB_LDMEA_cccc100100w1nnnnrrrrrrrrrrrrrrrr_case_0, 1687 // generated_baseline: LDMDB_LDMEA_cccc100100w1nnnnrrrrrrrrrrrrrrrr_case_0,
1685 // pattern: cccc100100w1nnnnrrrrrrrrrrrrrrrr, 1688 // pattern: cccc100100w1nnnnrrrrrrrrrrrrrrrr,
1686 // register_list: register_list(15:0), 1689 // register_list: register_list(15:0),
1687 // registers: RegisterList(register_list), 1690 // registers: RegisterList(register_list),
1688 // rule: LDMDB_LDMEA, 1691 // rule: LDMDB_LDMEA,
1689 // safety: [Rn == 1692 // safety: [Rn ==
1690 // Pc || 1693 // Pc ||
1691 // NumGPRs(registers) < 1694 // NumGPRs(registers) <
1692 // 1 => UNPREDICTABLE, 1695 // 1 => UNPREDICTABLE,
1693 // wback && 1696 // wback &&
1694 // Contains(registers, Rn) => UNKNOWN, 1697 // Contains(registers, Rn) => UNKNOWN,
1695 // Contains(registers, Pc) => FORBIDDEN_OPERANDS], 1698 // Contains(registers, Pc) => FORBIDDEN_OPERANDS],
1696 // small_imm_base_wb: true, 1699 // small_imm_base_wb: wback,
1697 // true: true,
1698 // uses: {Rn}, 1700 // uses: {Rn},
1699 // wback: W(21)=1} 1701 // wback: W(21)=1}
1700 class LDMDB_LDMEA_cccc100100w1nnnnrrrrrrrrrrrrrrrr_case_0 1702 class LDMDB_LDMEA_cccc100100w1nnnnrrrrrrrrrrrrrrrr_case_0
1701 : public ClassDecoder { 1703 : public ClassDecoder {
1702 public: 1704 public:
1703 LDMDB_LDMEA_cccc100100w1nnnnrrrrrrrrrrrrrrrr_case_0() 1705 LDMDB_LDMEA_cccc100100w1nnnnrrrrrrrrrrrrrrrr_case_0()
1704 : ClassDecoder() {} 1706 : ClassDecoder() {}
1705 virtual Register base_address_register(Instruction i) const; 1707 virtual Register base_address_register(Instruction i) const;
1706 virtual RegisterList defs(Instruction inst) const; 1708 virtual RegisterList defs(Instruction inst) const;
1707 virtual SafetyLevel safety(Instruction i) const; 1709 virtual SafetyLevel safety(Instruction i) const;
1708 virtual bool base_address_register_writeback_small_immediate( 1710 virtual bool base_address_register_writeback_small_immediate(
1709 Instruction i) const; 1711 Instruction i) const;
1710 virtual RegisterList uses(Instruction i) const; 1712 virtual RegisterList uses(Instruction i) const;
1711 private: 1713 private:
1712 NACL_DISALLOW_COPY_AND_ASSIGN( 1714 NACL_DISALLOW_COPY_AND_ASSIGN(
1713 LDMDB_LDMEA_cccc100100w1nnnnrrrrrrrrrrrrrrrr_case_0); 1715 LDMDB_LDMEA_cccc100100w1nnnnrrrrrrrrrrrrrrrr_case_0);
1714 }; 1716 };
1715 1717
1716 // LDMIB_LDMED_cccc100110w1nnnnrrrrrrrrrrrrrrrr_case_0: 1718 // LDMIB_LDMED_cccc100110w1nnnnrrrrrrrrrrrrrrrr_case_0:
1717 // 1719 //
1718 // {None: 32, 1720 // {None: 32,
1719 // Pc: 15, 1721 // Pc: 15,
1720 // Rn: Rn(19:16), 1722 // Rn: Rn(19:16),
1721 // W: W(21), 1723 // W: W(21),
1724 // actual: Actual_LDMDA_LDMFA_cccc100000w1nnnnrrrrrrrrrrrrrrrr_case_1,
1722 // base: Rn, 1725 // base: Rn,
1723 // baseline: LoadRegisterList, 1726 // baseline: LoadRegisterList,
1724 // cond: cond(31:28), 1727 // cond: cond(31:28),
1725 // constraints: , 1728 // constraints: ,
1726 // defs: Union({Rn 1729 // defs: Union({Rn
1727 // if wback 1730 // if wback
1728 // else None}, registers), 1731 // else None}, registers),
1729 // fields: [cond(31:28), W(21), Rn(19:16), register_list(15:0)], 1732 // fields: [cond(31:28), W(21), Rn(19:16), register_list(15:0)],
1730 // generated_baseline: LDMIB_LDMED_cccc100110w1nnnnrrrrrrrrrrrrrrrr_case_0, 1733 // generated_baseline: LDMIB_LDMED_cccc100110w1nnnnrrrrrrrrrrrrrrrr_case_0,
1731 // pattern: cccc100110w1nnnnrrrrrrrrrrrrrrrr, 1734 // pattern: cccc100110w1nnnnrrrrrrrrrrrrrrrr,
1732 // register_list: register_list(15:0), 1735 // register_list: register_list(15:0),
1733 // registers: RegisterList(register_list), 1736 // registers: RegisterList(register_list),
1734 // rule: LDMIB_LDMED, 1737 // rule: LDMIB_LDMED,
1735 // safety: [Rn == 1738 // safety: [Rn ==
1736 // Pc || 1739 // Pc ||
1737 // NumGPRs(registers) < 1740 // NumGPRs(registers) <
1738 // 1 => UNPREDICTABLE, 1741 // 1 => UNPREDICTABLE,
1739 // wback && 1742 // wback &&
1740 // Contains(registers, Rn) => UNKNOWN, 1743 // Contains(registers, Rn) => UNKNOWN,
1741 // Contains(registers, Pc) => FORBIDDEN_OPERANDS], 1744 // Contains(registers, Pc) => FORBIDDEN_OPERANDS],
1742 // small_imm_base_wb: true, 1745 // small_imm_base_wb: wback,
1743 // true: true,
1744 // uses: {Rn}, 1746 // uses: {Rn},
1745 // wback: W(21)=1} 1747 // wback: W(21)=1}
1746 class LDMIB_LDMED_cccc100110w1nnnnrrrrrrrrrrrrrrrr_case_0 1748 class LDMIB_LDMED_cccc100110w1nnnnrrrrrrrrrrrrrrrr_case_0
1747 : public ClassDecoder { 1749 : public ClassDecoder {
1748 public: 1750 public:
1749 LDMIB_LDMED_cccc100110w1nnnnrrrrrrrrrrrrrrrr_case_0() 1751 LDMIB_LDMED_cccc100110w1nnnnrrrrrrrrrrrrrrrr_case_0()
1750 : ClassDecoder() {} 1752 : ClassDecoder() {}
1751 virtual Register base_address_register(Instruction i) const; 1753 virtual Register base_address_register(Instruction i) const;
1752 virtual RegisterList defs(Instruction inst) const; 1754 virtual RegisterList defs(Instruction inst) const;
1753 virtual SafetyLevel safety(Instruction i) const; 1755 virtual SafetyLevel safety(Instruction i) const;
1754 virtual bool base_address_register_writeback_small_immediate( 1756 virtual bool base_address_register_writeback_small_immediate(
1755 Instruction i) const; 1757 Instruction i) const;
1756 virtual RegisterList uses(Instruction i) const; 1758 virtual RegisterList uses(Instruction i) const;
1757 private: 1759 private:
1758 NACL_DISALLOW_COPY_AND_ASSIGN( 1760 NACL_DISALLOW_COPY_AND_ASSIGN(
1759 LDMIB_LDMED_cccc100110w1nnnnrrrrrrrrrrrrrrrr_case_0); 1761 LDMIB_LDMED_cccc100110w1nnnnrrrrrrrrrrrrrrrr_case_0);
1760 }; 1762 };
1761 1763
1762 // LDM_LDMIA_LDMFD_cccc100010w1nnnnrrrrrrrrrrrrrrrr_case_0: 1764 // LDM_LDMIA_LDMFD_cccc100010w1nnnnrrrrrrrrrrrrrrrr_case_0:
1763 // 1765 //
1764 // {None: 32, 1766 // {None: 32,
1765 // Pc: 15, 1767 // Pc: 15,
1766 // Rn: Rn(19:16), 1768 // Rn: Rn(19:16),
1767 // W: W(21), 1769 // W: W(21),
1770 // actual: Actual_LDMDA_LDMFA_cccc100000w1nnnnrrrrrrrrrrrrrrrr_case_1,
1768 // base: Rn, 1771 // base: Rn,
1769 // baseline: LoadRegisterList, 1772 // baseline: LoadRegisterList,
1770 // cond: cond(31:28), 1773 // cond: cond(31:28),
1771 // constraints: , 1774 // constraints: ,
1772 // defs: Union({Rn 1775 // defs: Union({Rn
1773 // if wback 1776 // if wback
1774 // else None}, registers), 1777 // else None}, registers),
1775 // fields: [cond(31:28), W(21), Rn(19:16), register_list(15:0)], 1778 // fields: [cond(31:28), W(21), Rn(19:16), register_list(15:0)],
1776 // generated_baseline: LDM_LDMIA_LDMFD_cccc100010w1nnnnrrrrrrrrrrrrrrrr_case_ 0, 1779 // generated_baseline: LDM_LDMIA_LDMFD_cccc100010w1nnnnrrrrrrrrrrrrrrrr_case_ 0,
1777 // pattern: cccc100010w1nnnnrrrrrrrrrrrrrrrr, 1780 // pattern: cccc100010w1nnnnrrrrrrrrrrrrrrrr,
1778 // register_list: register_list(15:0), 1781 // register_list: register_list(15:0),
1779 // registers: RegisterList(register_list), 1782 // registers: RegisterList(register_list),
1780 // rule: LDM_LDMIA_LDMFD, 1783 // rule: LDM_LDMIA_LDMFD,
1781 // safety: [Rn == 1784 // safety: [Rn ==
1782 // Pc || 1785 // Pc ||
1783 // NumGPRs(registers) < 1786 // NumGPRs(registers) <
1784 // 1 => UNPREDICTABLE, 1787 // 1 => UNPREDICTABLE,
1785 // wback && 1788 // wback &&
1786 // Contains(registers, Rn) => UNKNOWN, 1789 // Contains(registers, Rn) => UNKNOWN,
1787 // Contains(registers, Pc) => FORBIDDEN_OPERANDS], 1790 // Contains(registers, Pc) => FORBIDDEN_OPERANDS],
1788 // small_imm_base_wb: true, 1791 // small_imm_base_wb: wback,
1789 // true: true,
1790 // uses: {Rn}, 1792 // uses: {Rn},
1791 // wback: W(21)=1} 1793 // wback: W(21)=1}
1792 class LDM_LDMIA_LDMFD_cccc100010w1nnnnrrrrrrrrrrrrrrrr_case_0 1794 class LDM_LDMIA_LDMFD_cccc100010w1nnnnrrrrrrrrrrrrrrrr_case_0
1793 : public ClassDecoder { 1795 : public ClassDecoder {
1794 public: 1796 public:
1795 LDM_LDMIA_LDMFD_cccc100010w1nnnnrrrrrrrrrrrrrrrr_case_0() 1797 LDM_LDMIA_LDMFD_cccc100010w1nnnnrrrrrrrrrrrrrrrr_case_0()
1796 : ClassDecoder() {} 1798 : ClassDecoder() {}
1797 virtual Register base_address_register(Instruction i) const; 1799 virtual Register base_address_register(Instruction i) const;
1798 virtual RegisterList defs(Instruction inst) const; 1800 virtual RegisterList defs(Instruction inst) const;
1799 virtual SafetyLevel safety(Instruction i) const; 1801 virtual SafetyLevel safety(Instruction i) const;
(...skipping 4298 matching lines...) Expand 10 before | Expand all | Expand 10 after
6098 virtual SafetyLevel safety(Instruction i) const; 6100 virtual SafetyLevel safety(Instruction i) const;
6099 virtual RegisterList uses(Instruction i) const; 6101 virtual RegisterList uses(Instruction i) const;
6100 private: 6102 private:
6101 NACL_DISALLOW_COPY_AND_ASSIGN( 6103 NACL_DISALLOW_COPY_AND_ASSIGN(
6102 SMLSLD_cccc01110100hhhhllllmmmm01m1nnnn_case_0); 6104 SMLSLD_cccc01110100hhhhllllmmmm01m1nnnn_case_0);
6103 }; 6105 };
6104 6106
6105 } // namespace nacl_arm_test 6107 } // namespace nacl_arm_test
6106 6108
6107 #endif // NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_GEN_ARM32_DECODE_BASELINES_1_ H_ 6109 #endif // NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_GEN_ARM32_DECODE_BASELINES_1_ H_
OLDNEW
« no previous file with comments | « src/trusted/validator_arm/gen/arm32_decode_actuals_1.cc ('k') | src/trusted/validator_arm/gen/arm32_decode_baselines_1.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698