@@ -186,6 +186,124 @@ namespace jitasm
186
186
virtual ~Frontend$CRTP()
187
187
{
188
188
}
189
+
190
+ // ///////////
191
+
192
+ void adc (Reg64 const & a1, Imm32 const & a2) { AppendInstr (I_ADC, a1, a2); }
193
+ void adc (Mem64 const & a1, Imm32 const & a2) { AppendInstr (I_ADC, a1, a2); }
194
+ void adc (Reg64 const & a1, Reg64 const & a2) { AppendInstr (I_ADC, a1, a2); }
195
+ void adc (Reg64 const & a1, Mem64 const & a2) { AppendInstr (I_ADC, a1, a2); }
196
+ void adc (Mem64 const & a1, Reg64 const & a2) { AppendInstr (I_ADC, a1, a2); }
197
+
198
+ void add (Reg64 const & a1, Imm32 const & a2) { AppendInstr (I_ADD, a1, a2); }
199
+ void add (Mem64 const & a1, Imm32 const & a2) { AppendInstr (I_ADD, a1, a2); }
200
+ void add (Reg64 const & a1, Reg64 const & a2) { AppendInstr (I_ADD, a1, a2); }
201
+ void add (Reg64 const & a1, Mem64 const & a2) { AppendInstr (I_ADD, a1, a2); }
202
+ void add (Mem64 const & a1, Reg64 const & a2) { AppendInstr (I_ADD, a1, a2); }
203
+
204
+ void and (Reg64 const & a1, Imm32 const & a2) { AppendInstr (I_AND, a1, a2); }
205
+ void and (Mem64 const & a1, Imm32 const & a2) { AppendInstr (I_AND, a1, a2); }
206
+ void and (Reg64 const & a1, Reg64 const & a2) { AppendInstr (I_AND, a1, a2); }
207
+ void and (Reg64 const & a1, Mem64 const & a2) { AppendInstr (I_AND, a1, a2); }
208
+ void and (Mem64 const & a1, Reg64 const & a2) { AppendInstr (I_AND, a1, a2); }
209
+
210
+ void bsf (Reg64 const & a1, Reg64 const & a2) { AppendInstr (I_BSF, a1, a2); }
211
+ void bsf (Reg64 const & a1, Mem64 const & a2) { AppendInstr (I_BSF, a1, a2); }
212
+
213
+ void bsr (Reg64 const & a1, Reg64 const & a2) { AppendInstr (I_BSR, a1, a2); }
214
+ void bsr (Reg64 const & a1, Mem64 const & a2) { AppendInstr (I_BSR, a1, a2); }
215
+
216
+ void bswap (Reg64 const & a1) { AppendInstr (I_BSWAP, a1); }
217
+
218
+ void bt (Reg64 const & a1, Imm8 const & a2) { AppendInstr (I_BT, a1, a2); }
219
+ void bt (Mem64 const & a1, Imm8 const & a2) { AppendInstr (I_BT, a1, a2); }
220
+ void bt (Reg64 const & a1, Reg64 const & a2) { AppendInstr (I_BT, a1, a2); }
221
+ void bt (Mem64 const & a1, Reg64 const & a2) { AppendInstr (I_BT, a1, a2); }
222
+
223
+ void btc (Reg64 const & a1, Imm8 const & a2) { AppendInstr (I_BTC, a1, a2); }
224
+ void btc (Mem64 const & a1, Imm8 const & a2) { AppendInstr (I_BTC, a1, a2); }
225
+ void btc (Reg64 const & a1, Reg64 const & a2) { AppendInstr (I_BTC, a1, a2); }
226
+ void btc (Mem64 const & a1, Reg64 const & a2) { AppendInstr (I_BTC, a1, a2); }
227
+
228
+ void btr (Reg64 const & a1, Imm8 const & a2) { AppendInstr (I_BTR, a1, a2); }
229
+ void btr (Mem64 const & a1, Imm8 const & a2) { AppendInstr (I_BTR, a1, a2); }
230
+ void btr (Reg64 const & a1, Reg64 const & a2) { AppendInstr (I_BTR, a1, a2); }
231
+ void btr (Mem64 const & a1, Reg64 const & a2) { AppendInstr (I_BTR, a1, a2); }
232
+
233
+ void bts (Reg64 const & a1, Imm8 const & a2) { AppendInstr (I_BTS, a1, a2); }
234
+ void bts (Mem64 const & a1, Imm8 const & a2) { AppendInstr (I_BTS, a1, a2); }
235
+ void bts (Reg64 const & a1, Reg64 const & a2) { AppendInstr (I_BTS, a1, a2); }
236
+ void bts (Mem64 const & a1, Reg64 const & a2) { AppendInstr (I_BTS, a1, a2); }
237
+
238
+ void cdqe () { AppendInstr (I_CDQE); }
239
+
240
+ void cmovcc (ConditionCode cc, Reg64 const & a1, Reg64 const & a2) { AppendCondInstr (I_CMOVcc, cc, a1, a2); }
241
+ void cmovcc (ConditionCode cc, Reg64 const & a1, Mem64 const & a2) { AppendCondInstr (I_CMOVcc, cc, a1, a2); }
242
+ void cmovo (Reg64 const & a1, Reg64 const & a2) { AppendCondInstr (I_CMOVcc, CC_O, a1, a2); }
243
+ void cmovo (Reg64 const & a1, Mem64 const & a2) { AppendCondInstr (I_CMOVcc, CC_O, a1, a2); }
244
+ void cmovno (Reg64 const & a1, Reg64 const & a2) { AppendCondInstr (I_CMOVcc, CC_NO, a1, a2); }
245
+ void cmovno (Reg64 const & a1, Mem64 const & a2) { AppendCondInstr (I_CMOVcc, CC_NO, a1, a2); }
246
+ void cmovb (Reg64 const & a1, Reg64 const & a2) { AppendCondInstr (I_CMOVcc, CC_B, a1, a2); }
247
+ void cmovb (Reg64 const & a1, Mem64 const & a2) { AppendCondInstr (I_CMOVcc, CC_B, a1, a2); }
248
+ void cmovc (Reg64 const & a1, Reg64 const & a2) { cmovb (a1, a2); }
249
+ void cmovc (Reg64 const & a1, Mem64 const & a2) { cmovb (a1, a2); }
250
+ void cmovnae (Reg64 const & a1, Reg64 const & a2) { cmovb (a1, a2); }
251
+ void cmovnae (Reg64 const & a1, Mem64 const & a2) { cmovb (a1, a2); }
252
+ void cmovae (Reg64 const & a1, Reg64 const & a2) { AppendCondInstr (I_CMOVcc, CC_AE, a1, a2); }
253
+ void cmovae (Reg64 const & a1, Mem64 const & a2) { AppendCondInstr (I_CMOVcc, CC_AE, a1, a2); }
254
+ void cmovnb (Reg64 const & a1, Reg64 const & a2) { cmovae (a1, a2); }
255
+ void cmovnb (Reg64 const & a1, Mem64 const & a2) { cmovae (a1, a2); }
256
+ void cmovnc (Reg64 const & a1, Reg64 const & a2) { cmovae (a1, a2); }
257
+ void cmovnc (Reg64 const & a1, Mem64 const & a2) { cmovae (a1, a2); }
258
+ void cmove (Reg64 const & a1, Reg64 const & a2) { AppendCondInstr (I_CMOVcc, CC_E, a1, a2); }
259
+ void cmove (Reg64 const & a1, Mem64 const & a2) { AppendCondInstr (I_CMOVcc, CC_E, a1, a2); }
260
+ void cmovz (Reg64 const & a1, Reg64 const & a2) { cmove (a1, a2); }
261
+ void cmovz (Reg64 const & a1, Mem64 const & a2) { cmove (a1, a2); }
262
+ void cmovne (Reg64 const & a1, Reg64 const & a2) { AppendCondInstr (I_CMOVcc, CC_NE, a1, a2); }
263
+ void cmovne (Reg64 const & a1, Mem64 const & a2) { AppendCondInstr (I_CMOVcc, CC_NE, a1, a2); }
264
+ void cmovnz (Reg64 const & a1, Reg64 const & a2) { cmovne (a1, a2); }
265
+ void cmovnz (Reg64 const & a1, Mem64 const & a2) { cmovne (a1, a2); }
266
+ void cmovbe (Reg64 const & a1, Reg64 const & a2) { AppendCondInstr (I_CMOVcc, CC_BE, a1, a2); }
267
+ void cmovbe (Reg64 const & a1, Mem64 const & a2) { AppendCondInstr (I_CMOVcc, CC_BE, a1, a2); }
268
+ void cmovna (Reg64 const & a1, Reg64 const & a2) { cmovbe (a1, a2); }
269
+ void cmovna (Reg64 const & a1, Mem64 const & a2) { cmovbe (a1, a2); }
270
+ void cmova (Reg64 const & a1, Reg64 const & a2) { AppendCondInstr (I_CMOVcc, CC_A, a1, a2); }
271
+ void cmova (Reg64 const & a1, Mem64 const & a2) { AppendCondInstr (I_CMOVcc, CC_A, a1, a2); }
272
+ void cmovnbe (Reg64 const & a1, Reg64 const & a2) { cmova (a1, a2); }
273
+ void cmovnbe (Reg64 const & a1, Mem64 const & a2) { cmova (a1, a2); }
274
+ void cmovs (Reg64 const & a1, Reg64 const & a2) { AppendCondInstr (I_CMOVcc, CC_S, a1, a2); }
275
+ void cmovs (Reg64 const & a1, Mem64 const & a2) { AppendCondInstr (I_CMOVcc, CC_S, a1, a2); }
276
+ void cmovns (Reg64 const & a1, Reg64 const & a2) { AppendCondInstr (I_CMOVcc, CC_NS, a1, a2); }
277
+ void cmovns (Reg64 const & a1, Mem64 const & a2) { AppendCondInstr (I_CMOVcc, CC_NS, a1, a2); }
278
+ void cmovp (Reg64 const & a1, Reg64 const & a2) { AppendCondInstr (I_CMOVcc, CC_P, a1, a2); }
279
+ void cmovp (Reg64 const & a1, Mem64 const & a2) { AppendCondInstr (I_CMOVcc, CC_P, a1, a2); }
280
+ void cmovnpe (Reg64 const & a1, Reg64 const & a2) { cmovp (a1, a2); }
281
+ void cmovnpe (Reg64 const & a1, Mem64 const & a2) { cmovp (a1, a2); }
282
+ void cmovnp (Reg64 const & a1, Reg64 const & a2) { AppendCondInstr (I_CMOVcc, CC_NP, a1, a2); }
283
+ void cmovnp (Reg64 const & a1, Mem64 const & a2) { AppendCondInstr (I_CMOVcc, CC_NP, a1, a2); }
284
+ void cmovnpo (Reg64 const & a1, Reg64 const & a2) { cmovnp (a1, a2); }
285
+ void cmovnpo (Reg64 const & a1, Mem64 const & a2) { cmovnp (a1, a2); }
286
+ void cmovge (Reg64 const & a1, Reg64 const & a2) { AppendCondInstr (I_CMOVcc, CC_GE, a1, a2); }
287
+ void cmovge (Reg64 const & a1, Mem64 const & a2) { AppendCondInstr (I_CMOVcc, CC_GE, a1, a2); }
288
+ void cmovnl (Reg64 const & a1, Reg64 const & a2) { cmovge (a1, a2); }
289
+ void cmovnl (Reg64 const & a1, Mem64 const & a2) { cmovge (a1, a2); }
290
+ void cmovle (Reg64 const & a1, Reg64 const & a2) { AppendCondInstr (I_CMOVcc, CC_LE, a1, a2); }
291
+ void cmovle (Reg64 const & a1, Mem64 const & a2) { AppendCondInstr (I_CMOVcc, CC_LE, a1, a2); }
292
+ void cmovng (Reg64 const & a1, Reg64 const & a2) { cmovle (a1, a2); }
293
+ void cmovng (Reg64 const & a1, Mem64 const & a2) { cmovle (a1, a2); }
294
+ void cmovg (Reg64 const & a1, Reg64 const & a2) { AppendCondInstr (I_CMOVcc, CC_G, a1, a2); }
295
+ void cmovg (Reg64 const & a1, Mem64 const & a2) { AppendCondInstr (I_CMOVcc, CC_G, a1, a2); }
296
+ void cmovnle (Reg64 const & a1, Reg64 const & a2) { cmovg (a1, a2); }
297
+ void cmovnle (Reg64 const & a1, Mem64 const & a2) { cmovg (a1, a2); }
298
+
299
+ void cmp (Reg64 const & a1, Imm32 const & a2) { AppendInstr (I_CMP, a1, a2); }
300
+ void cmp (Mem64 const & a1, Imm32 const & a2) { AppendInstr (I_CMP, a1, a2); }
301
+ void cmp (Reg64 const & a1, Reg64 const & a2) { AppendInstr (I_CMP, a1, a2); }
302
+ void cmp (Reg64 const & a1, Mem64 const & a2) { AppendInstr (I_CMP, a1, a2); }
303
+ void cmp (Mem64 const & a1, Reg64 const & a2) { AppendInstr (I_CMP, a1, a2); }
304
+
305
+ void cqo () { AppendInstr (I_CQO); }
306
+
189
307
};
190
308
}
191
309
}
0 commit comments