neon.isa (7644:62873d5c2bfc) neon.isa (7848:cc5e64f8423f)
1// -*- mode:c++ -*-
2
3// Copyright (c) 2010 ARM Limited
4// All rights reserved
5//
6// The license below extends only to copyright in the software and shall
7// not be construed as granting a license to any other intellectual
8// property including but not limited to intellectual property relating

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

54 public:
55 // Constructor
56 %(class_name)s(ExtMachInst machInst,
57 IntRegIndex _dest, IntRegIndex _op1, IntRegIndex _op2)
58 : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s,
59 _dest, _op1, _op2)
60 {
61 %(constructor)s;
1// -*- mode:c++ -*-
2
3// Copyright (c) 2010 ARM Limited
4// All rights reserved
5//
6// The license below extends only to copyright in the software and shall
7// not be construed as granting a license to any other intellectual
8// property including but not limited to intellectual property relating

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

54 public:
55 // Constructor
56 %(class_name)s(ExtMachInst machInst,
57 IntRegIndex _dest, IntRegIndex _op1, IntRegIndex _op2)
58 : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s,
59 _dest, _op1, _op2)
60 {
61 %(constructor)s;
62 if (!(condCode == COND_AL || condCode == COND_UC)) {
63 for (int x = 0; x < _numDestRegs; x++) {
64 _srcRegIdx[_numSrcRegs++] = _destRegIdx[x];
65 }
66 }
62 }
63
64 %(BasicExecDeclare)s
65};
66}};
67
68def template NeonRegRegRegImmOpDeclare {{
69template <class _Element>

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

75 // Constructor
76 %(class_name)s(ExtMachInst machInst,
77 IntRegIndex _dest, IntRegIndex _op1, IntRegIndex _op2,
78 uint64_t _imm)
79 : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s,
80 _dest, _op1, _op2, _imm)
81 {
82 %(constructor)s;
67 }
68
69 %(BasicExecDeclare)s
70};
71}};
72
73def template NeonRegRegRegImmOpDeclare {{
74template <class _Element>

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

80 // Constructor
81 %(class_name)s(ExtMachInst machInst,
82 IntRegIndex _dest, IntRegIndex _op1, IntRegIndex _op2,
83 uint64_t _imm)
84 : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s,
85 _dest, _op1, _op2, _imm)
86 {
87 %(constructor)s;
88 if (!(condCode == COND_AL || condCode == COND_UC)) {
89 for (int x = 0; x < _numDestRegs; x++) {
90 _srcRegIdx[_numSrcRegs++] = _destRegIdx[x];
91 }
92 }
83 }
84
85 %(BasicExecDeclare)s
86};
87}};
88
89def template NeonRegRegImmOpDeclare {{
90template <class _Element>

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

95 public:
96 // Constructor
97 %(class_name)s(ExtMachInst machInst,
98 IntRegIndex _dest, IntRegIndex _op1, uint64_t _imm)
99 : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s,
100 _dest, _op1, _imm)
101 {
102 %(constructor)s;
93 }
94
95 %(BasicExecDeclare)s
96};
97}};
98
99def template NeonRegRegImmOpDeclare {{
100template <class _Element>

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

105 public:
106 // Constructor
107 %(class_name)s(ExtMachInst machInst,
108 IntRegIndex _dest, IntRegIndex _op1, uint64_t _imm)
109 : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s,
110 _dest, _op1, _imm)
111 {
112 %(constructor)s;
113 if (!(condCode == COND_AL || condCode == COND_UC)) {
114 for (int x = 0; x < _numDestRegs; x++) {
115 _srcRegIdx[_numSrcRegs++] = _destRegIdx[x];
116 }
117 }
103 }
104
105 %(BasicExecDeclare)s
106};
107}};
108
109def template NeonRegImmOpDeclare {{
110template <class _Element>
111class %(class_name)s : public %(base_class)s
112{
113 protected:
114 typedef _Element Element;
115 public:
116 // Constructor
117 %(class_name)s(ExtMachInst machInst, IntRegIndex _dest, uint64_t _imm)
118 : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s, _dest, _imm)
119 {
120 %(constructor)s;
118 }
119
120 %(BasicExecDeclare)s
121};
122}};
123
124def template NeonRegImmOpDeclare {{
125template <class _Element>
126class %(class_name)s : public %(base_class)s
127{
128 protected:
129 typedef _Element Element;
130 public:
131 // Constructor
132 %(class_name)s(ExtMachInst machInst, IntRegIndex _dest, uint64_t _imm)
133 : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s, _dest, _imm)
134 {
135 %(constructor)s;
136 if (!(condCode == COND_AL || condCode == COND_UC)) {
137 for (int x = 0; x < _numDestRegs; x++) {
138 _srcRegIdx[_numSrcRegs++] = _destRegIdx[x];
139 }
140 }
121 }
122
123 %(BasicExecDeclare)s
124};
125}};
126
127def template NeonRegRegOpDeclare {{
128template <class _Element>

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

133 public:
134 // Constructor
135 %(class_name)s(ExtMachInst machInst,
136 IntRegIndex _dest, IntRegIndex _op1)
137 : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s,
138 _dest, _op1)
139 {
140 %(constructor)s;
141 }
142
143 %(BasicExecDeclare)s
144};
145}};
146
147def template NeonRegRegOpDeclare {{
148template <class _Element>

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

153 public:
154 // Constructor
155 %(class_name)s(ExtMachInst machInst,
156 IntRegIndex _dest, IntRegIndex _op1)
157 : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s,
158 _dest, _op1)
159 {
160 %(constructor)s;
161 if (!(condCode == COND_AL || condCode == COND_UC)) {
162 for (int x = 0; x < _numDestRegs; x++) {
163 _srcRegIdx[_numSrcRegs++] = _destRegIdx[x];
164 }
165 }
141 }
142
143 %(BasicExecDeclare)s
144};
145}};
146
147def template NeonExecDeclare {{
148 template

--- 113 unchanged lines hidden ---
166 }
167
168 %(BasicExecDeclare)s
169};
170}};
171
172def template NeonExecDeclare {{
173 template

--- 113 unchanged lines hidden ---