regop.isa (7620:3d8a23caa1ef) regop.isa (7626:bdd926760470)
1// Copyright (c) 2007-2008 The Hewlett-Packard Development Company
2// All rights reserved.
3//
4// The license below extends only to copyright in the software and shall
5// not be construed as granting a license to any other intellectual
6// property including but not limited to intellectual property relating
7// to a hardware implementation of the functionality of the software
8// licensed hereunder. You may use the software subject to the license

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

96 }
97 return fault;
98 }
99}};
100
101def template MicroRegOpDeclare {{
102 class %(class_name)s : public %(base_class)s
103 {
1// Copyright (c) 2007-2008 The Hewlett-Packard Development Company
2// All rights reserved.
3//
4// The license below extends only to copyright in the software and shall
5// not be construed as granting a license to any other intellectual
6// property including but not limited to intellectual property relating
7// to a hardware implementation of the functionality of the software
8// licensed hereunder. You may use the software subject to the license

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

96 }
97 return fault;
98 }
99}};
100
101def template MicroRegOpDeclare {{
102 class %(class_name)s : public %(base_class)s
103 {
104 protected:
105 void buildMe();
106
107 public:
108 %(class_name)s(ExtMachInst _machInst,
109 const char * instMnem, uint64_t setFlags,
110 InstRegIndex _src1, InstRegIndex _src2, InstRegIndex _dest,
111 uint8_t _dataSize, uint16_t _ext);
112
104 public:
105 %(class_name)s(ExtMachInst _machInst,
106 const char * instMnem, uint64_t setFlags,
107 InstRegIndex _src1, InstRegIndex _src2, InstRegIndex _dest,
108 uint8_t _dataSize, uint16_t _ext);
109
113 %(class_name)s(ExtMachInst _machInst,
114 const char * instMnem,
115 InstRegIndex _src1, InstRegIndex _src2, InstRegIndex _dest,
116 uint8_t _dataSize, uint16_t _ext);
117
118 %(BasicExecDeclare)s
119 };
120}};
121
122def template MicroRegOpImmDeclare {{
123
124 class %(class_name)s : public %(base_class)s
125 {
110 %(BasicExecDeclare)s
111 };
112}};
113
114def template MicroRegOpImmDeclare {{
115
116 class %(class_name)s : public %(base_class)s
117 {
126 protected:
127 void buildMe();
128
129 public:
130 %(class_name)s(ExtMachInst _machInst,
131 const char * instMnem, uint64_t setFlags,
132 InstRegIndex _src1, uint8_t _imm8, InstRegIndex _dest,
133 uint8_t _dataSize, uint16_t _ext);
134
118 public:
119 %(class_name)s(ExtMachInst _machInst,
120 const char * instMnem, uint64_t setFlags,
121 InstRegIndex _src1, uint8_t _imm8, InstRegIndex _dest,
122 uint8_t _dataSize, uint16_t _ext);
123
135 %(class_name)s(ExtMachInst _machInst,
136 const char * instMnem,
137 InstRegIndex _src1, uint8_t _imm8, InstRegIndex _dest,
138 uint8_t _dataSize, uint16_t _ext);
139
140 %(BasicExecDeclare)s
141 };
142}};
143
144def template MicroRegOpConstructor {{
124 %(BasicExecDeclare)s
125 };
126}};
127
128def template MicroRegOpConstructor {{
145
146 inline void %(class_name)s::buildMe()
147 {
148 %(constructor)s;
149 }
150
151 inline %(class_name)s::%(class_name)s(
129 inline %(class_name)s::%(class_name)s(
152 ExtMachInst machInst, const char * instMnem,
153 InstRegIndex _src1, InstRegIndex _src2, InstRegIndex _dest,
154 uint8_t _dataSize, uint16_t _ext) :
155 %(base_class)s(machInst, "%(mnemonic)s", instMnem, 0,
156 _src1, _src2, _dest, _dataSize, _ext,
157 %(op_class)s)
158 {
159 buildMe();
160 }
161
162 inline %(class_name)s::%(class_name)s(
163 ExtMachInst machInst, const char * instMnem, uint64_t setFlags,
164 InstRegIndex _src1, InstRegIndex _src2, InstRegIndex _dest,
165 uint8_t _dataSize, uint16_t _ext) :
166 %(base_class)s(machInst, "%(mnemonic)s", instMnem, setFlags,
167 _src1, _src2, _dest, _dataSize, _ext,
168 %(op_class)s)
169 {
130 ExtMachInst machInst, const char * instMnem, uint64_t setFlags,
131 InstRegIndex _src1, InstRegIndex _src2, InstRegIndex _dest,
132 uint8_t _dataSize, uint16_t _ext) :
133 %(base_class)s(machInst, "%(mnemonic)s", instMnem, setFlags,
134 _src1, _src2, _dest, _dataSize, _ext,
135 %(op_class)s)
136 {
170 buildMe();
137 %(constructor)s;
171 }
172}};
173
174def template MicroRegOpImmConstructor {{
138 }
139}};
140
141def template MicroRegOpImmConstructor {{
175
176 inline void %(class_name)s::buildMe()
177 {
178 %(constructor)s;
179 }
180
181 inline %(class_name)s::%(class_name)s(
142 inline %(class_name)s::%(class_name)s(
182 ExtMachInst machInst, const char * instMnem,
183 InstRegIndex _src1, uint8_t _imm8, InstRegIndex _dest,
184 uint8_t _dataSize, uint16_t _ext) :
185 %(base_class)s(machInst, "%(mnemonic)s", instMnem, 0,
186 _src1, _imm8, _dest, _dataSize, _ext,
187 %(op_class)s)
188 {
189 buildMe();
190 }
191
192 inline %(class_name)s::%(class_name)s(
193 ExtMachInst machInst, const char * instMnem, uint64_t setFlags,
194 InstRegIndex _src1, uint8_t _imm8, InstRegIndex _dest,
195 uint8_t _dataSize, uint16_t _ext) :
196 %(base_class)s(machInst, "%(mnemonic)s", instMnem, setFlags,
197 _src1, _imm8, _dest, _dataSize, _ext,
198 %(op_class)s)
199 {
143 ExtMachInst machInst, const char * instMnem, uint64_t setFlags,
144 InstRegIndex _src1, uint8_t _imm8, InstRegIndex _dest,
145 uint8_t _dataSize, uint16_t _ext) :
146 %(base_class)s(machInst, "%(mnemonic)s", instMnem, setFlags,
147 _src1, _imm8, _dest, _dataSize, _ext,
148 %(op_class)s)
149 {
200 buildMe();
150 %(constructor)s;
201 }
202}};
203
204output header {{
205 void
206 divide(uint64_t dividend, uint64_t divisor,
207 uint64_t &quotient, uint64_t &remainder);
208

--- 1224 unchanged lines hidden ---
151 }
152}};
153
154output header {{
155 void
156 divide(uint64_t dividend, uint64_t divisor,
157 uint64_t &quotient, uint64_t &remainder);
158

--- 1224 unchanged lines hidden ---