Deleted Added
sdiff udiff text old ( 7087:fb8d5786ff30 ) new ( 7620:3d8a23caa1ef )
full compact
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

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

71def template MicroLeaDeclare {{
72 class %(class_name)s : public %(base_class)s
73 {
74 protected:
75 void buildMe();
76
77 public:
78 %(class_name)s(ExtMachInst _machInst,
79 const char * instMnem, uint64_t setFlags,
80 uint8_t _scale, InstRegIndex _index, InstRegIndex _base,
81 uint64_t _disp, InstRegIndex _segment,
82 InstRegIndex _data,
83 uint8_t _dataSize, uint8_t _addressSize,
84 Request::FlagsType _memFlags);
85
86 %(class_name)s(ExtMachInst _machInst,
87 const char * instMnem,

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

246def template MicroLdStOpDeclare {{
247 class %(class_name)s : public %(base_class)s
248 {
249 protected:
250 void buildMe();
251
252 public:
253 %(class_name)s(ExtMachInst _machInst,
254 const char * instMnem, uint64_t setFlags,
255 uint8_t _scale, InstRegIndex _index, InstRegIndex _base,
256 uint64_t _disp, InstRegIndex _segment,
257 InstRegIndex _data,
258 uint8_t _dataSize, uint8_t _addressSize,
259 Request::FlagsType _memFlags);
260
261 %(class_name)s(ExtMachInst _machInst,
262 const char * instMnem,

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

283
284 inline %(class_name)s::%(class_name)s(
285 ExtMachInst machInst, const char * instMnem,
286 uint8_t _scale, InstRegIndex _index, InstRegIndex _base,
287 uint64_t _disp, InstRegIndex _segment,
288 InstRegIndex _data,
289 uint8_t _dataSize, uint8_t _addressSize,
290 Request::FlagsType _memFlags) :
291 %(base_class)s(machInst, "%(mnemonic)s", instMnem, 0,
292 _scale, _index, _base,
293 _disp, _segment, _data,
294 _dataSize, _addressSize, _memFlags, %(op_class)s)
295 {
296 buildMe();
297 }
298
299 inline %(class_name)s::%(class_name)s(
300 ExtMachInst machInst, const char * instMnem, uint64_t setFlags,
301 uint8_t _scale, InstRegIndex _index, InstRegIndex _base,
302 uint64_t _disp, InstRegIndex _segment,
303 InstRegIndex _data,
304 uint8_t _dataSize, uint8_t _addressSize,
305 Request::FlagsType _memFlags) :
306 %(base_class)s(machInst, "%(mnemonic)s", instMnem, setFlags,
307 _scale, _index, _base,
308 _disp, _segment, _data,
309 _dataSize, _addressSize, _memFlags, %(op_class)s)
310 {
311 buildMe();
312 }
313}};
314

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

325 self.memFlags = baseFlags
326 if atCPL0:
327 self.memFlags += " | (CPL0FlagBit << FlagShift)"
328 if prefetch:
329 self.memFlags += " | Request::PREFETCH"
330 self.memFlags += " | (machInst.legacy.addr ? " + \
331 "(AddrSizeFlagBit << FlagShift) : 0)"
332
333 def getAllocator(self, microFlags):
334 allocator = '''new %(class_name)s(machInst, macrocodeBlock,
335 %(flags)s, %(scale)s, %(index)s, %(base)s,
336 %(disp)s, %(segment)s, %(data)s,
337 %(dataSize)s, %(addressSize)s, %(memFlags)s)''' % {
338 "class_name" : self.className,
339 "flags" : self.microFlagsText(microFlags),
340 "scale" : self.scale, "index" : self.index,
341 "base" : self.base,
342 "disp" : self.disp,

--- 149 unchanged lines hidden ---