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

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

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

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

1041 IntRegIndex _op1, IntRegIndex _op2,
1042 uint64_t _imm, VfpMicroMode mode = VfpNotAMicroop) :
1043 FpOp(mnem, _machInst, __opClass),
1044 dest(_dest), op1(_op1), op2(_op2), imm(_imm)
1045 {
1046 setVfpMicroFlags(mode, flags);
1047 }
1048
1049 std::string generateDisassembly(
1050 Addr pc, const SymbolTable *symtab) const override;
1051};
1052
1053}
1054
1055#endif //__ARCH_ARM_INSTS_VFP_HH__