fpop.isa (7087:fb8d5786ff30) | fpop.isa (7620:3d8a23caa1ef) |
---|---|
1// Copyright (c) 2007 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 --- 65 unchanged lines hidden (view full) --- 74def template MicroFpOpDeclare {{ 75 class %(class_name)s : public %(base_class)s 76 { 77 protected: 78 void buildMe(); 79 80 public: 81 %(class_name)s(ExtMachInst _machInst, | 1// Copyright (c) 2007 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 --- 65 unchanged lines hidden (view full) --- 74def template MicroFpOpDeclare {{ 75 class %(class_name)s : public %(base_class)s 76 { 77 protected: 78 void buildMe(); 79 80 public: 81 %(class_name)s(ExtMachInst _machInst, |
82 const char * instMnem, 83 bool isMicro, bool isDelayed, bool isFirst, bool isLast, | 82 const char * instMnem, uint64_t setFlags, |
84 InstRegIndex _src1, InstRegIndex _src2, InstRegIndex _dest, 85 uint8_t _dataSize, int8_t _spm); 86 87 %(class_name)s(ExtMachInst _machInst, 88 const char * instMnem, 89 InstRegIndex _src1, InstRegIndex _src2, InstRegIndex _dest, 90 uint8_t _dataSize, int8_t _spm); 91 --- 7 unchanged lines hidden (view full) --- 99 { 100 %(constructor)s; 101 } 102 103 inline %(class_name)s::%(class_name)s( 104 ExtMachInst machInst, const char * instMnem, 105 InstRegIndex _src1, InstRegIndex _src2, InstRegIndex _dest, 106 uint8_t _dataSize, int8_t _spm) : | 83 InstRegIndex _src1, InstRegIndex _src2, InstRegIndex _dest, 84 uint8_t _dataSize, int8_t _spm); 85 86 %(class_name)s(ExtMachInst _machInst, 87 const char * instMnem, 88 InstRegIndex _src1, InstRegIndex _src2, InstRegIndex _dest, 89 uint8_t _dataSize, int8_t _spm); 90 --- 7 unchanged lines hidden (view full) --- 98 { 99 %(constructor)s; 100 } 101 102 inline %(class_name)s::%(class_name)s( 103 ExtMachInst machInst, const char * instMnem, 104 InstRegIndex _src1, InstRegIndex _src2, InstRegIndex _dest, 105 uint8_t _dataSize, int8_t _spm) : |
107 %(base_class)s(machInst, "%(mnemonic)s", instMnem, 108 false, false, false, false, | 106 %(base_class)s(machInst, "%(mnemonic)s", instMnem, 0, |
109 _src1, _src2, _dest, _dataSize, _spm, 110 %(op_class)s) 111 { 112 buildMe(); 113 } 114 115 inline %(class_name)s::%(class_name)s( | 107 _src1, _src2, _dest, _dataSize, _spm, 108 %(op_class)s) 109 { 110 buildMe(); 111 } 112 113 inline %(class_name)s::%(class_name)s( |
116 ExtMachInst machInst, const char * instMnem, 117 bool isMicro, bool isDelayed, bool isFirst, bool isLast, | 114 ExtMachInst machInst, const char * instMnem, uint64_t setFlags, |
118 InstRegIndex _src1, InstRegIndex _src2, InstRegIndex _dest, 119 uint8_t _dataSize, int8_t _spm) : | 115 InstRegIndex _src1, InstRegIndex _src2, InstRegIndex _dest, 116 uint8_t _dataSize, int8_t _spm) : |
120 %(base_class)s(machInst, "%(mnemonic)s", instMnem, 121 isMicro, isDelayed, isFirst, isLast, | 117 %(base_class)s(machInst, "%(mnemonic)s", instMnem, setFlags, |
122 _src1, _src2, _dest, _dataSize, _spm, 123 %(op_class)s) 124 { 125 buildMe(); 126 } 127}}; 128 129let {{ --- 91 unchanged lines hidden (view full) --- 221 self.src2 = src2 222 self.spm = spm 223 self.dataSize = dataSize 224 if SetStatus: 225 self.className += "Flags" 226 if spm: 227 self.className += "Top" 228 | 118 _src1, _src2, _dest, _dataSize, _spm, 119 %(op_class)s) 120 { 121 buildMe(); 122 } 123}}; 124 125let {{ --- 91 unchanged lines hidden (view full) --- 217 self.src2 = src2 218 self.spm = spm 219 self.dataSize = dataSize 220 if SetStatus: 221 self.className += "Flags" 222 if spm: 223 self.className += "Top" 224 |
229 def getAllocator(self, *microFlags): 230 return '''new %(class_name)s(machInst, macrocodeBlock | 225 def getAllocator(self, microFlags): 226 return '''new %(class_name)s(machInst, macrocodeBlock, |
231 %(flags)s, %(src1)s, %(src2)s, %(dest)s, 232 %(dataSize)s, %(spm)d)''' % { 233 "class_name" : self.className, 234 "flags" : self.microFlagsText(microFlags), 235 "src1" : self.src1, "src2" : self.src2, 236 "dest" : self.dest, 237 "dataSize" : self.dataSize, 238 "spm" : self.spm} --- 86 unchanged lines hidden --- | 227 %(flags)s, %(src1)s, %(src2)s, %(dest)s, 228 %(dataSize)s, %(spm)d)''' % { 229 "class_name" : self.className, 230 "flags" : self.microFlagsText(microFlags), 231 "src1" : self.src1, "src2" : self.src2, 232 "dest" : self.dest, 233 "dataSize" : self.dataSize, 234 "spm" : self.spm} --- 86 unchanged lines hidden --- |