fpop.isa (7620:3d8a23caa1ef) fpop.isa (7626:bdd926760470)
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

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

69 }
70 return fault;
71 }
72}};
73
74def template MicroFpOpDeclare {{
75 class %(class_name)s : public %(base_class)s
76 {
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

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

69 }
70 return fault;
71 }
72}};
73
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, uint64_t setFlags,
83 InstRegIndex _src1, InstRegIndex _src2, InstRegIndex _dest,
84 uint8_t _dataSize, int8_t _spm);
85
77 public:
78 %(class_name)s(ExtMachInst _machInst,
79 const char * instMnem, uint64_t setFlags,
80 InstRegIndex _src1, InstRegIndex _src2, InstRegIndex _dest,
81 uint8_t _dataSize, int8_t _spm);
82
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
91 %(BasicExecDeclare)s
92 };
93}};
94
95def template MicroFpOpConstructor {{
83 %(BasicExecDeclare)s
84 };
85}};
86
87def template MicroFpOpConstructor {{
96
97 inline void %(class_name)s::buildMe()
98 {
99 %(constructor)s;
100 }
101
102 inline %(class_name)s::%(class_name)s(
88 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) :
106 %(base_class)s(machInst, "%(mnemonic)s", instMnem, 0,
107 _src1, _src2, _dest, _dataSize, _spm,
108 %(op_class)s)
109 {
110 buildMe();
111 }
112
113 inline %(class_name)s::%(class_name)s(
114 ExtMachInst machInst, const char * instMnem, uint64_t setFlags,
115 InstRegIndex _src1, InstRegIndex _src2, InstRegIndex _dest,
116 uint8_t _dataSize, int8_t _spm) :
117 %(base_class)s(machInst, "%(mnemonic)s", instMnem, setFlags,
118 _src1, _src2, _dest, _dataSize, _spm,
119 %(op_class)s)
120 {
89 ExtMachInst machInst, const char * instMnem, uint64_t setFlags,
90 InstRegIndex _src1, InstRegIndex _src2, InstRegIndex _dest,
91 uint8_t _dataSize, int8_t _spm) :
92 %(base_class)s(machInst, "%(mnemonic)s", instMnem, setFlags,
93 _src1, _src2, _dest, _dataSize, _spm,
94 %(op_class)s)
95 {
121 buildMe();
96 %(constructor)s;
122 }
123}};
124
125let {{
126 # Make these empty strings so that concatenating onto
127 # them will always work.
128 header_output = ""
129 decoder_output = ""

--- 191 unchanged lines hidden ---
97 }
98}};
99
100let {{
101 # Make these empty strings so that concatenating onto
102 # them will always work.
103 header_output = ""
104 decoder_output = ""

--- 191 unchanged lines hidden ---