blockmem.isa (7741:340b6f01d69b) blockmem.isa (10184:bbfa3152bdea)
1// Copyright (c) 2006-2007 The Regents of The University of Michigan
2// All rights reserved.
3//
4// Redistribution and use in source and binary forms, with or without
5// modification, are permitted provided that the following conditions are
6// met: redistributions of source code must retain the above copyright
7// notice, this list of conditions and the following disclaimer;
8// redistributions in binary form must reproduce the above copyright

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

235 %(InitiateAccDeclare)s
236 %(CompleteAccDeclare)s
237 };
238 };
239}};
240
241// Basic instruction class constructor template.
242def template BlockMemConstructor {{
1// Copyright (c) 2006-2007 The Regents of The University of Michigan
2// All rights reserved.
3//
4// Redistribution and use in source and binary forms, with or without
5// modification, are permitted provided that the following conditions are
6// met: redistributions of source code must retain the above copyright
7// notice, this list of conditions and the following disclaimer;
8// redistributions in binary form must reproduce the above copyright

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

235 %(InitiateAccDeclare)s
236 %(CompleteAccDeclare)s
237 };
238 };
239}};
240
241// Basic instruction class constructor template.
242def template BlockMemConstructor {{
243 inline %(class_name)s::%(class_name)s(ExtMachInst machInst)
243 %(class_name)s::%(class_name)s(ExtMachInst machInst)
244 : %(base_class)s("%(mnemonic)s", machInst)
245 {
246 %(constructor)s;
247 microops[0] = new %(class_name)s_0(machInst);
248 microops[1] = new %(class_name)s_1(machInst);
249 microops[2] = new %(class_name)s_2(machInst);
250 microops[3] = new %(class_name)s_3(machInst);
251 microops[4] = new %(class_name)s_4(machInst);
252 microops[5] = new %(class_name)s_5(machInst);
253 microops[6] = new %(class_name)s_6(machInst);
254 microops[7] = new %(class_name)s_7(machInst);
255 }
256}};
257
258def template BlockMemMicroConstructor {{
244 : %(base_class)s("%(mnemonic)s", machInst)
245 {
246 %(constructor)s;
247 microops[0] = new %(class_name)s_0(machInst);
248 microops[1] = new %(class_name)s_1(machInst);
249 microops[2] = new %(class_name)s_2(machInst);
250 microops[3] = new %(class_name)s_3(machInst);
251 microops[4] = new %(class_name)s_4(machInst);
252 microops[5] = new %(class_name)s_5(machInst);
253 microops[6] = new %(class_name)s_6(machInst);
254 microops[7] = new %(class_name)s_7(machInst);
255 }
256}};
257
258def template BlockMemMicroConstructor {{
259 inline %(class_name)s::
259 %(class_name)s::
260 %(class_name)s_%(micro_pc)s::
261 %(class_name)s_%(micro_pc)s(ExtMachInst machInst) :
262 %(base_class)sMicro("%(mnemonic)s[%(micro_pc)s]",
263 machInst, %(op_class)s, %(micro_pc)s * 8)
264 {
265 %(constructor)s;
266 %(set_flags)s;
267 }

--- 74 unchanged lines hidden ---
260 %(class_name)s_%(micro_pc)s::
261 %(class_name)s_%(micro_pc)s(ExtMachInst machInst) :
262 %(base_class)sMicro("%(mnemonic)s[%(micro_pc)s]",
263 machInst, %(op_class)s, %(micro_pc)s * 8)
264 {
265 %(constructor)s;
266 %(set_flags)s;
267 }

--- 74 unchanged lines hidden ---