regop.isa (4708:efa060dd6f3c) regop.isa (4712:79b4c64296ce)
1// Copyright (c) 2007 The Hewlett-Packard Development Company
2// All rights reserved.
3//
4// Redistribution and use of this software in source and binary forms,
5// with or without modification, are permitted provided that the
6// following conditions are met:
7//
8// The software must be used only for Non-Commercial Use which means any

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

121 protected:
122 void buildMe();
123
124 public:
125 %(class_name)s(ExtMachInst _machInst,
126 const char * instMnem,
127 bool isMicro, bool isDelayed, bool isFirst, bool isLast,
128 RegIndex _src1, RegIndex _src2, RegIndex _dest,
1// Copyright (c) 2007 The Hewlett-Packard Development Company
2// All rights reserved.
3//
4// Redistribution and use of this software in source and binary forms,
5// with or without modification, are permitted provided that the
6// following conditions are met:
7//
8// The software must be used only for Non-Commercial Use which means any

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

121 protected:
122 void buildMe();
123
124 public:
125 %(class_name)s(ExtMachInst _machInst,
126 const char * instMnem,
127 bool isMicro, bool isDelayed, bool isFirst, bool isLast,
128 RegIndex _src1, RegIndex _src2, RegIndex _dest,
129 uint8_t _dataSize, uint8_t _ext);
129 uint8_t _dataSize, uint16_t _ext);
130
131 %(class_name)s(ExtMachInst _machInst,
132 const char * instMnem,
133 RegIndex _src1, RegIndex _src2, RegIndex _dest,
130
131 %(class_name)s(ExtMachInst _machInst,
132 const char * instMnem,
133 RegIndex _src1, RegIndex _src2, RegIndex _dest,
134 uint8_t _dataSize, uint8_t _ext);
134 uint8_t _dataSize, uint16_t _ext);
135
136 %(BasicExecDeclare)s
137 };
138}};
139
140def template MicroRegOpImmDeclare {{
141
142 class %(class_name)sImm : public %(base_class)s
143 {
144 protected:
145 void buildMe();
146
147 public:
148 %(class_name)sImm(ExtMachInst _machInst,
149 const char * instMnem,
150 bool isMicro, bool isDelayed, bool isFirst, bool isLast,
151 RegIndex _src1, uint8_t _imm8, RegIndex _dest,
135
136 %(BasicExecDeclare)s
137 };
138}};
139
140def template MicroRegOpImmDeclare {{
141
142 class %(class_name)sImm : public %(base_class)s
143 {
144 protected:
145 void buildMe();
146
147 public:
148 %(class_name)sImm(ExtMachInst _machInst,
149 const char * instMnem,
150 bool isMicro, bool isDelayed, bool isFirst, bool isLast,
151 RegIndex _src1, uint8_t _imm8, RegIndex _dest,
152 uint8_t _dataSize, uint8_t _ext);
152 uint8_t _dataSize, uint16_t _ext);
153
154 %(class_name)sImm(ExtMachInst _machInst,
155 const char * instMnem,
156 RegIndex _src1, uint8_t _imm8, RegIndex _dest,
153
154 %(class_name)sImm(ExtMachInst _machInst,
155 const char * instMnem,
156 RegIndex _src1, uint8_t _imm8, RegIndex _dest,
157 uint8_t _dataSize, uint8_t _ext);
157 uint8_t _dataSize, uint16_t _ext);
158
159 %(BasicExecDeclare)s
160 };
161}};
162
163def template MicroRegOpConstructor {{
164
165 inline void %(class_name)s::buildMe()
166 {
167 %(constructor)s;
168 }
169
170 inline %(class_name)s::%(class_name)s(
171 ExtMachInst machInst, const char * instMnem,
172 RegIndex _src1, RegIndex _src2, RegIndex _dest,
158
159 %(BasicExecDeclare)s
160 };
161}};
162
163def template MicroRegOpConstructor {{
164
165 inline void %(class_name)s::buildMe()
166 {
167 %(constructor)s;
168 }
169
170 inline %(class_name)s::%(class_name)s(
171 ExtMachInst machInst, const char * instMnem,
172 RegIndex _src1, RegIndex _src2, RegIndex _dest,
173 uint8_t _dataSize, uint8_t _ext) :
173 uint8_t _dataSize, uint16_t _ext) :
174 %(base_class)s(machInst, "%(mnemonic)s", instMnem,
175 false, false, false, false,
176 _src1, _src2, _dest, _dataSize, _ext,
177 %(op_class)s)
178 {
179 buildMe();
180 }
181
182 inline %(class_name)s::%(class_name)s(
183 ExtMachInst machInst, const char * instMnem,
184 bool isMicro, bool isDelayed, bool isFirst, bool isLast,
185 RegIndex _src1, RegIndex _src2, RegIndex _dest,
174 %(base_class)s(machInst, "%(mnemonic)s", instMnem,
175 false, false, false, false,
176 _src1, _src2, _dest, _dataSize, _ext,
177 %(op_class)s)
178 {
179 buildMe();
180 }
181
182 inline %(class_name)s::%(class_name)s(
183 ExtMachInst machInst, const char * instMnem,
184 bool isMicro, bool isDelayed, bool isFirst, bool isLast,
185 RegIndex _src1, RegIndex _src2, RegIndex _dest,
186 uint8_t _dataSize, uint8_t _ext) :
186 uint8_t _dataSize, uint16_t _ext) :
187 %(base_class)s(machInst, "%(mnemonic)s", instMnem,
188 isMicro, isDelayed, isFirst, isLast,
189 _src1, _src2, _dest, _dataSize, _ext,
190 %(op_class)s)
191 {
192 buildMe();
193 }
194}};
195
196def template MicroRegOpImmConstructor {{
197
198 inline void %(class_name)sImm::buildMe()
199 {
200 %(constructor)s;
201 }
202
203 inline %(class_name)sImm::%(class_name)sImm(
204 ExtMachInst machInst, const char * instMnem,
205 RegIndex _src1, uint8_t _imm8, RegIndex _dest,
187 %(base_class)s(machInst, "%(mnemonic)s", instMnem,
188 isMicro, isDelayed, isFirst, isLast,
189 _src1, _src2, _dest, _dataSize, _ext,
190 %(op_class)s)
191 {
192 buildMe();
193 }
194}};
195
196def template MicroRegOpImmConstructor {{
197
198 inline void %(class_name)sImm::buildMe()
199 {
200 %(constructor)s;
201 }
202
203 inline %(class_name)sImm::%(class_name)sImm(
204 ExtMachInst machInst, const char * instMnem,
205 RegIndex _src1, uint8_t _imm8, RegIndex _dest,
206 uint8_t _dataSize, uint8_t _ext) :
206 uint8_t _dataSize, uint16_t _ext) :
207 %(base_class)s(machInst, "%(mnemonic)s", instMnem,
208 false, false, false, false,
209 _src1, _imm8, _dest, _dataSize, _ext,
210 %(op_class)s)
211 {
212 buildMe();
213 }
214
215 inline %(class_name)sImm::%(class_name)sImm(
216 ExtMachInst machInst, const char * instMnem,
217 bool isMicro, bool isDelayed, bool isFirst, bool isLast,
218 RegIndex _src1, uint8_t _imm8, RegIndex _dest,
207 %(base_class)s(machInst, "%(mnemonic)s", instMnem,
208 false, false, false, false,
209 _src1, _imm8, _dest, _dataSize, _ext,
210 %(op_class)s)
211 {
212 buildMe();
213 }
214
215 inline %(class_name)sImm::%(class_name)sImm(
216 ExtMachInst machInst, const char * instMnem,
217 bool isMicro, bool isDelayed, bool isFirst, bool isLast,
218 RegIndex _src1, uint8_t _imm8, RegIndex _dest,
219 uint8_t _dataSize, uint8_t _ext) :
219 uint8_t _dataSize, uint16_t _ext) :
220 %(base_class)s(machInst, "%(mnemonic)s", instMnem,
221 isMicro, isDelayed, isFirst, isLast,
222 _src1, _imm8, _dest, _dataSize, _ext,
223 %(op_class)s)
224 {
225 buildMe();
226 }
227}};

--- 233 unchanged lines hidden ---
220 %(base_class)s(machInst, "%(mnemonic)s", instMnem,
221 isMicro, isDelayed, isFirst, isLast,
222 _src1, _imm8, _dest, _dataSize, _ext,
223 %(op_class)s)
224 {
225 buildMe();
226 }
227}};

--- 233 unchanged lines hidden ---