Deleted Added
sdiff udiff text old ( 12032:d218c2fe9440 ) new ( 12616:4b463b4dc098 )
full compact
1/*
2 * Copyright (c) 2010-2013 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 876 unchanged lines hidden (view full) ---

885
886 FpCondCompRegOp(const char *mnem, ExtMachInst _machInst,
887 OpClass __opClass, IntRegIndex _op1, IntRegIndex _op2,
888 ConditionCode _condCode, uint8_t _defCc) :
889 FpOp(mnem, _machInst, __opClass),
890 op1(_op1), op2(_op2), condCode(_condCode), defCc(_defCc)
891 {}
892
893 std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const;
894};
895
896class FpCondSelOp : public FpOp
897{
898 protected:
899 IntRegIndex dest, op1, op2;
900 ConditionCode condCode;
901
902 FpCondSelOp(const char *mnem, ExtMachInst _machInst, OpClass __opClass,
903 IntRegIndex _dest, IntRegIndex _op1, IntRegIndex _op2,
904 ConditionCode _condCode) :
905 FpOp(mnem, _machInst, __opClass),
906 dest(_dest), op1(_op1), op2(_op2), condCode(_condCode)
907 {}
908
909 std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const;
910};
911
912class FpRegRegOp : public FpOp
913{
914 protected:
915 IntRegIndex dest;
916 IntRegIndex op1;
917
918 FpRegRegOp(const char *mnem, ExtMachInst _machInst, OpClass __opClass,
919 IntRegIndex _dest, IntRegIndex _op1,
920 VfpMicroMode mode = VfpNotAMicroop) :
921 FpOp(mnem, _machInst, __opClass), dest(_dest), op1(_op1)
922 {
923 setVfpMicroFlags(mode, flags);
924 }
925
926 std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const;
927};
928
929class FpRegImmOp : public FpOp
930{
931 protected:
932 IntRegIndex dest;
933 uint64_t imm;
934
935 FpRegImmOp(const char *mnem, ExtMachInst _machInst, OpClass __opClass,
936 IntRegIndex _dest, uint64_t _imm,
937 VfpMicroMode mode = VfpNotAMicroop) :
938 FpOp(mnem, _machInst, __opClass), dest(_dest), imm(_imm)
939 {
940 setVfpMicroFlags(mode, flags);
941 }
942
943 std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const;
944};
945
946class FpRegRegImmOp : public FpOp
947{
948 protected:
949 IntRegIndex dest;
950 IntRegIndex op1;
951 uint64_t imm;
952
953 FpRegRegImmOp(const char *mnem, ExtMachInst _machInst, OpClass __opClass,
954 IntRegIndex _dest, IntRegIndex _op1,
955 uint64_t _imm, VfpMicroMode mode = VfpNotAMicroop) :
956 FpOp(mnem, _machInst, __opClass), dest(_dest), op1(_op1), imm(_imm)
957 {
958 setVfpMicroFlags(mode, flags);
959 }
960
961 std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const;
962};
963
964class FpRegRegRegOp : public FpOp
965{
966 protected:
967 IntRegIndex dest;
968 IntRegIndex op1;
969 IntRegIndex op2;
970
971 FpRegRegRegOp(const char *mnem, ExtMachInst _machInst, OpClass __opClass,
972 IntRegIndex _dest, IntRegIndex _op1, IntRegIndex _op2,
973 VfpMicroMode mode = VfpNotAMicroop) :
974 FpOp(mnem, _machInst, __opClass), dest(_dest), op1(_op1), op2(_op2)
975 {
976 setVfpMicroFlags(mode, flags);
977 }
978
979 std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const;
980};
981
982class FpRegRegRegCondOp : public FpOp
983{
984 protected:
985 IntRegIndex dest;
986 IntRegIndex op1;
987 IntRegIndex op2;

--- 4 unchanged lines hidden (view full) ---

992 IntRegIndex _op2, ConditionCode _cond,
993 VfpMicroMode mode = VfpNotAMicroop) :
994 FpOp(mnem, _machInst, __opClass), dest(_dest), op1(_op1), op2(_op2),
995 cond(_cond)
996 {
997 setVfpMicroFlags(mode, flags);
998 }
999
1000 std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const;
1001};
1002
1003class FpRegRegRegRegOp : public FpOp
1004{
1005 protected:
1006 IntRegIndex dest;
1007 IntRegIndex op1;
1008 IntRegIndex op2;
1009 IntRegIndex op3;
1010
1011 FpRegRegRegRegOp(const char *mnem, ExtMachInst _machInst, OpClass __opClass,
1012 IntRegIndex _dest, IntRegIndex _op1, IntRegIndex _op2,
1013 IntRegIndex _op3, VfpMicroMode mode = VfpNotAMicroop) :
1014 FpOp(mnem, _machInst, __opClass), dest(_dest), op1(_op1), op2(_op2),
1015 op3(_op3)
1016 {
1017 setVfpMicroFlags(mode, flags);
1018 }
1019
1020 std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const;
1021};
1022
1023class FpRegRegRegImmOp : public FpOp
1024{
1025 protected:
1026 IntRegIndex dest;
1027 IntRegIndex op1;
1028 IntRegIndex op2;

--- 4 unchanged lines hidden (view full) ---

1033 IntRegIndex _op1, IntRegIndex _op2,
1034 uint64_t _imm, VfpMicroMode mode = VfpNotAMicroop) :
1035 FpOp(mnem, _machInst, __opClass),
1036 dest(_dest), op1(_op1), op2(_op2), imm(_imm)
1037 {
1038 setVfpMicroFlags(mode, flags);
1039 }
1040
1041 std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const;
1042};
1043
1044}
1045
1046#endif //__ARCH_ARM_INSTS_VFP_HH__