int.isa (12234:78ece221f9f5) int.isa (12616:4b463b4dc098)
1// -*- mode:c++ -*-
2
3// Copyright (c) 2007 MIPS Technologies, Inc.
4// All rights reserved.
5//
6// Redistribution and use in source and binary forms, with or without
7// modification, are permitted provided that the following conditions are
8// met: redistributions of source code must retain the above copyright

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

43 protected:
44
45 /// Constructor
46 IntOp(const char *mnem, MachInst _machInst, OpClass __opClass) :
47 MipsStaticInst(mnem, _machInst, __opClass)
48 {
49 }
50
1// -*- mode:c++ -*-
2
3// Copyright (c) 2007 MIPS Technologies, Inc.
4// All rights reserved.
5//
6// Redistribution and use in source and binary forms, with or without
7// modification, are permitted provided that the following conditions are
8// met: redistributions of source code must retain the above copyright

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

43 protected:
44
45 /// Constructor
46 IntOp(const char *mnem, MachInst _machInst, OpClass __opClass) :
47 MipsStaticInst(mnem, _machInst, __opClass)
48 {
49 }
50
51 std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const;
51 std::string generateDisassembly(
52 Addr pc, const SymbolTable *symtab) const override;
52 };
53
54
55 class HiLoOp: public IntOp
56 {
57 protected:
58
59 /// Constructor
60 HiLoOp(const char *mnem, MachInst _machInst, OpClass __opClass) :
61 IntOp(mnem, _machInst, __opClass)
62 {
63 }
64
53 };
54
55
56 class HiLoOp: public IntOp
57 {
58 protected:
59
60 /// Constructor
61 HiLoOp(const char *mnem, MachInst _machInst, OpClass __opClass) :
62 IntOp(mnem, _machInst, __opClass)
63 {
64 }
65
65 std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const;
66 std::string generateDisassembly(
67 Addr pc, const SymbolTable *symtab) const override;
66 };
67
68 class HiLoRsSelOp: public HiLoOp
69 {
70 protected:
71
72 /// Constructor
73 HiLoRsSelOp(const char *mnem, MachInst _machInst, OpClass __opClass) :
74 HiLoOp(mnem, _machInst, __opClass)
75 {
76 }
77
68 };
69
70 class HiLoRsSelOp: public HiLoOp
71 {
72 protected:
73
74 /// Constructor
75 HiLoRsSelOp(const char *mnem, MachInst _machInst, OpClass __opClass) :
76 HiLoOp(mnem, _machInst, __opClass)
77 {
78 }
79
78 std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const;
80 std::string generateDisassembly(
81 Addr pc, const SymbolTable *symtab) const override;
79 };
80
81 class HiLoRdSelOp: public HiLoOp
82 {
83 protected:
84
85 /// Constructor
86 HiLoRdSelOp(const char *mnem, MachInst _machInst, OpClass __opClass) :
87 HiLoOp(mnem, _machInst, __opClass)
88 {
89 }
90
82 };
83
84 class HiLoRdSelOp: public HiLoOp
85 {
86 protected:
87
88 /// Constructor
89 HiLoRdSelOp(const char *mnem, MachInst _machInst, OpClass __opClass) :
90 HiLoOp(mnem, _machInst, __opClass)
91 {
92 }
93
91 std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const;
94 std::string generateDisassembly(
95 Addr pc, const SymbolTable *symtab) const override;
92 };
93
94 class HiLoRdSelValOp: public HiLoOp
95 {
96 protected:
97
98 /// Constructor
99 HiLoRdSelValOp(const char *mnem, MachInst _machInst, OpClass __opClass) :
100 HiLoOp(mnem, _machInst, __opClass)
101 {
102 }
103
96 };
97
98 class HiLoRdSelValOp: public HiLoOp
99 {
100 protected:
101
102 /// Constructor
103 HiLoRdSelValOp(const char *mnem, MachInst _machInst, OpClass __opClass) :
104 HiLoOp(mnem, _machInst, __opClass)
105 {
106 }
107
104 std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const;
108 std::string generateDisassembly(
109 Addr pc, const SymbolTable *symtab) const override;
105 };
106
107 class IntImmOp : public MipsStaticInst
108 {
109 protected:
110
111 int16_t imm;
112 int32_t sextImm;

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

119 {
120 //If Bit 15 is 1 then Sign Extend
121 int32_t temp = sextImm & 0x00008000;
122 if (temp > 0 && strcmp(mnemonic,"lui") != 0) {
123 sextImm |= 0xFFFF0000;
124 }
125 }
126
110 };
111
112 class IntImmOp : public MipsStaticInst
113 {
114 protected:
115
116 int16_t imm;
117 int32_t sextImm;

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

124 {
125 //If Bit 15 is 1 then Sign Extend
126 int32_t temp = sextImm & 0x00008000;
127 if (temp > 0 && strcmp(mnemonic,"lui") != 0) {
128 sextImm |= 0xFFFF0000;
129 }
130 }
131
127 std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const;
128
129
132 std::string generateDisassembly(
133 Addr pc, const SymbolTable *symtab) const override;
130 };
131
132}};
133
134// HiLo instruction class execute method template.
135def template HiLoExecute {{
136 Fault %(class_name)s::execute(
137 ExecContext *xc, Trace::InstRecord *traceData) const

--- 247 unchanged lines hidden ---
134 };
135
136}};
137
138// HiLo instruction class execute method template.
139def template HiLoExecute {{
140 Fault %(class_name)s::execute(
141 ExecContext *xc, Trace::InstRecord *traceData) const

--- 247 unchanged lines hidden ---