libFirm
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
gen_amd64_new_nodes.h
1 
9 #ifndef FIRM_BE_AMD64_GEN_AMD64_NEW_NODES_H
10 #define FIRM_BE_AMD64_GEN_AMD64_NEW_NODES_H
11 
12 #include "be_types.h"
13 #include "irnode_t.h"
14 
15 typedef enum amd64_opcodes {
16  iro_amd64_add,
17  iro_amd64_adds,
18  iro_amd64_and,
19  iro_amd64_bsf,
20  iro_amd64_bsr,
21  iro_amd64_call,
22  iro_amd64_cmp,
23  iro_amd64_cmpxchg,
24  iro_amd64_cvtsd2ss,
25  iro_amd64_cvtsi2sd,
26  iro_amd64_cvtsi2ss,
27  iro_amd64_cvtss2sd,
28  iro_amd64_cvttsd2si,
29  iro_amd64_cvttss2si,
30  iro_amd64_div,
31  iro_amd64_divs,
32  iro_amd64_fadd,
33  iro_amd64_fchs,
34  iro_amd64_fdiv,
35  iro_amd64_fdup,
36  iro_amd64_fld,
37  iro_amd64_fld1,
38  iro_amd64_fldz,
39  iro_amd64_fmul,
40  iro_amd64_fpop,
41  iro_amd64_fst,
42  iro_amd64_fstp,
43  iro_amd64_fsub,
44  iro_amd64_fucomi,
45  iro_amd64_fxch,
46  iro_amd64_haddpd,
47  iro_amd64_idiv,
48  iro_amd64_ijmp,
49  iro_amd64_imul,
50  iro_amd64_imul_1op,
51  iro_amd64_jcc,
52  iro_amd64_jmp,
53  iro_amd64_jmp_switch,
54  iro_amd64_l_haddpd,
55  iro_amd64_l_punpckldq,
56  iro_amd64_l_subpd,
57  iro_amd64_lea,
58  iro_amd64_leave,
59  iro_amd64_mov_gp,
60  iro_amd64_mov_imm,
61  iro_amd64_mov_store,
62  iro_amd64_movd_gp_xmm,
63  iro_amd64_movd_xmm_gp,
64  iro_amd64_movdqa,
65  iro_amd64_movdqu,
66  iro_amd64_movdqu_store,
67  iro_amd64_movq,
68  iro_amd64_movs,
69  iro_amd64_movs_store_xmm,
70  iro_amd64_movs_xmm,
71  iro_amd64_mul,
72  iro_amd64_muls,
73  iro_amd64_neg,
74  iro_amd64_not,
75  iro_amd64_or,
76  iro_amd64_pop_am,
77  iro_amd64_punpckldq,
78  iro_amd64_push_am,
79  iro_amd64_push_reg,
80  iro_amd64_ret,
81  iro_amd64_sar,
82  iro_amd64_sbb,
83  iro_amd64_setcc,
84  iro_amd64_shl,
85  iro_amd64_shr,
86  iro_amd64_sub,
87  iro_amd64_sub_sp,
88  iro_amd64_subpd,
89  iro_amd64_subs,
90  iro_amd64_ucomis,
91  iro_amd64_xor,
92  iro_amd64_xor_0,
93  iro_amd64_xorp,
94  iro_amd64_xorpd_0,
95  iro_amd64_last
96 } amd64_opcodes;
97 
98 
99 int is_amd64_irn(const ir_node *node);
100 int is_amd64_op(const ir_op *op);
101 
102 int get_amd64_irn_opcode(const ir_node *node);
103 void amd64_create_opcodes(void);
104 void amd64_free_opcodes(void);
105 
106 extern ir_op *op_amd64_add;
107 
108 static inline bool is_amd64_add(ir_node const *const n)
109 {
110  return get_irn_op(n) == op_amd64_add;
111 }
112 
116 ir_node *new_bd_amd64_add(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, const amd64_binop_addr_attr_t *attr_init);
117 
118 extern ir_op *op_amd64_adds;
119 
120 static inline bool is_amd64_adds(ir_node const *const n)
121 {
122  return get_irn_op(n) == op_amd64_adds;
123 }
124 
128 ir_node *new_bd_amd64_adds(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, const amd64_binop_addr_attr_t *attr_init);
129 
130 extern ir_op *op_amd64_and;
131 
132 static inline bool is_amd64_and(ir_node const *const n)
133 {
134  return get_irn_op(n) == op_amd64_and;
135 }
136 
140 ir_node *new_bd_amd64_and(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, const amd64_binop_addr_attr_t *attr_init);
141 
142 extern ir_op *op_amd64_bsf;
143 
144 static inline bool is_amd64_bsf(ir_node const *const n)
145 {
146  return get_irn_op(n) == op_amd64_bsf;
147 }
148 
152 ir_node *new_bd_amd64_bsf(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, amd64_insn_mode_t insn_mode, amd64_op_mode_t op_mode, amd64_addr_t addr);
153 
154 extern ir_op *op_amd64_bsr;
155 
156 static inline bool is_amd64_bsr(ir_node const *const n)
157 {
158  return get_irn_op(n) == op_amd64_bsr;
159 }
160 
164 ir_node *new_bd_amd64_bsr(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, amd64_insn_mode_t insn_mode, amd64_op_mode_t op_mode, amd64_addr_t addr);
165 
166 extern ir_op *op_amd64_call;
167 
168 static inline bool is_amd64_call(ir_node const *const n)
169 {
170  return get_irn_op(n) == op_amd64_call;
171 }
172 
176 ir_node *new_bd_amd64_call(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, int n_res, const amd64_call_addr_attr_t *attr_init);
177 
178 extern ir_op *op_amd64_cmp;
179 
180 static inline bool is_amd64_cmp(ir_node const *const n)
181 {
182  return get_irn_op(n) == op_amd64_cmp;
183 }
184 
188 ir_node *new_bd_amd64_cmp(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, const amd64_binop_addr_attr_t *attr_init);
189 
190 extern ir_op *op_amd64_cmpxchg;
191 
192 static inline bool is_amd64_cmpxchg(ir_node const *const n)
193 {
194  return get_irn_op(n) == op_amd64_cmpxchg;
195 }
196 
200 ir_node *new_bd_amd64_cmpxchg(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, const amd64_binop_addr_attr_t *attr_init);
201 
202 extern ir_op *op_amd64_cvtsd2ss;
203 
204 static inline bool is_amd64_cvtsd2ss(ir_node const *const n)
205 {
206  return get_irn_op(n) == op_amd64_cvtsd2ss;
207 }
208 
212 ir_node *new_bd_amd64_cvtsd2ss(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, amd64_op_mode_t op_mode, amd64_addr_t addr);
213 
214 extern ir_op *op_amd64_cvtsi2sd;
215 
216 static inline bool is_amd64_cvtsi2sd(ir_node const *const n)
217 {
218  return get_irn_op(n) == op_amd64_cvtsi2sd;
219 }
220 
224 ir_node *new_bd_amd64_cvtsi2sd(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, amd64_insn_mode_t insn_mode, amd64_op_mode_t op_mode, amd64_addr_t addr);
225 
226 extern ir_op *op_amd64_cvtsi2ss;
227 
228 static inline bool is_amd64_cvtsi2ss(ir_node const *const n)
229 {
230  return get_irn_op(n) == op_amd64_cvtsi2ss;
231 }
232 
236 ir_node *new_bd_amd64_cvtsi2ss(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, amd64_insn_mode_t insn_mode, amd64_op_mode_t op_mode, amd64_addr_t addr);
237 
238 extern ir_op *op_amd64_cvtss2sd;
239 
240 static inline bool is_amd64_cvtss2sd(ir_node const *const n)
241 {
242  return get_irn_op(n) == op_amd64_cvtss2sd;
243 }
244 
248 ir_node *new_bd_amd64_cvtss2sd(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, amd64_insn_mode_t insn_mode, amd64_op_mode_t op_mode, amd64_addr_t addr);
249 
250 extern ir_op *op_amd64_cvttsd2si;
251 
252 static inline bool is_amd64_cvttsd2si(ir_node const *const n)
253 {
254  return get_irn_op(n) == op_amd64_cvttsd2si;
255 }
256 
260 ir_node *new_bd_amd64_cvttsd2si(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, amd64_insn_mode_t insn_mode, amd64_op_mode_t op_mode, amd64_addr_t addr);
261 
262 extern ir_op *op_amd64_cvttss2si;
263 
264 static inline bool is_amd64_cvttss2si(ir_node const *const n)
265 {
266  return get_irn_op(n) == op_amd64_cvttss2si;
267 }
268 
272 ir_node *new_bd_amd64_cvttss2si(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, amd64_insn_mode_t insn_mode, amd64_op_mode_t op_mode, amd64_addr_t addr);
273 
274 extern ir_op *op_amd64_div;
275 
276 static inline bool is_amd64_div(ir_node const *const n)
277 {
278  return get_irn_op(n) == op_amd64_div;
279 }
280 
284 ir_node *new_bd_amd64_div(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, amd64_insn_mode_t insn_mode);
285 
286 extern ir_op *op_amd64_divs;
287 
288 static inline bool is_amd64_divs(ir_node const *const n)
289 {
290  return get_irn_op(n) == op_amd64_divs;
291 }
292 
296 ir_node *new_bd_amd64_divs(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, const amd64_binop_addr_attr_t *attr_init);
297 
298 extern ir_op *op_amd64_fadd;
299 
300 static inline bool is_amd64_fadd(ir_node const *const n)
301 {
302  return get_irn_op(n) == op_amd64_fadd;
303 }
304 
308 ir_node *new_bd_amd64_fadd(dbg_info *dbgi, ir_node *block, ir_node *left, ir_node *right);
309 
310 extern ir_op *op_amd64_fchs;
311 
312 static inline bool is_amd64_fchs(ir_node const *const n)
313 {
314  return get_irn_op(n) == op_amd64_fchs;
315 }
316 
320 ir_node *new_bd_amd64_fchs(dbg_info *dbgi, ir_node *block, ir_node *value);
321 
322 extern ir_op *op_amd64_fdiv;
323 
324 static inline bool is_amd64_fdiv(ir_node const *const n)
325 {
326  return get_irn_op(n) == op_amd64_fdiv;
327 }
328 
332 ir_node *new_bd_amd64_fdiv(dbg_info *dbgi, ir_node *block, ir_node *left, ir_node *right);
333 
334 extern ir_op *op_amd64_fdup;
335 
336 static inline bool is_amd64_fdup(ir_node const *const n)
337 {
338  return get_irn_op(n) == op_amd64_fdup;
339 }
340 
344 ir_node *new_bd_amd64_fdup(dbg_info *dbgi, ir_node *block, ir_node *val, const arch_register_t *reg);
345 
346 extern ir_op *op_amd64_fld;
347 
348 static inline bool is_amd64_fld(ir_node const *const n)
349 {
350  return get_irn_op(n) == op_amd64_fld;
351 }
352 
356 ir_node *new_bd_amd64_fld(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, amd64_insn_mode_t insn_mode, amd64_op_mode_t op_mode, amd64_addr_t addr);
357 
358 extern ir_op *op_amd64_fld1;
359 
360 static inline bool is_amd64_fld1(ir_node const *const n)
361 {
362  return get_irn_op(n) == op_amd64_fld1;
363 }
364 
368 ir_node *new_bd_amd64_fld1(dbg_info *dbgi, ir_node *block);
369 
370 extern ir_op *op_amd64_fldz;
371 
372 static inline bool is_amd64_fldz(ir_node const *const n)
373 {
374  return get_irn_op(n) == op_amd64_fldz;
375 }
376 
380 ir_node *new_bd_amd64_fldz(dbg_info *dbgi, ir_node *block);
381 
382 extern ir_op *op_amd64_fmul;
383 
384 static inline bool is_amd64_fmul(ir_node const *const n)
385 {
386  return get_irn_op(n) == op_amd64_fmul;
387 }
388 
392 ir_node *new_bd_amd64_fmul(dbg_info *dbgi, ir_node *block, ir_node *left, ir_node *right);
393 
394 extern ir_op *op_amd64_fpop;
395 
396 static inline bool is_amd64_fpop(ir_node const *const n)
397 {
398  return get_irn_op(n) == op_amd64_fpop;
399 }
400 
404 ir_node *new_bd_amd64_fpop(dbg_info *dbgi, ir_node *block, const arch_register_t *reg);
405 
406 extern ir_op *op_amd64_fst;
407 
408 static inline bool is_amd64_fst(ir_node const *const n)
409 {
410  return get_irn_op(n) == op_amd64_fst;
411 }
412 
416 ir_node *new_bd_amd64_fst(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, const amd64_binop_addr_attr_t *attr_init);
417 
418 extern ir_op *op_amd64_fstp;
419 
420 static inline bool is_amd64_fstp(ir_node const *const n)
421 {
422  return get_irn_op(n) == op_amd64_fstp;
423 }
424 
428 ir_node *new_bd_amd64_fstp(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, const amd64_binop_addr_attr_t *attr_init);
429 
430 extern ir_op *op_amd64_fsub;
431 
432 static inline bool is_amd64_fsub(ir_node const *const n)
433 {
434  return get_irn_op(n) == op_amd64_fsub;
435 }
436 
440 ir_node *new_bd_amd64_fsub(dbg_info *dbgi, ir_node *block, ir_node *left, ir_node *right);
441 
442 extern ir_op *op_amd64_fucomi;
443 
444 static inline bool is_amd64_fucomi(ir_node const *const n)
445 {
446  return get_irn_op(n) == op_amd64_fucomi;
447 }
448 
452 ir_node *new_bd_amd64_fucomi(dbg_info *dbgi, ir_node *block, ir_node *left, ir_node *right);
453 
454 extern ir_op *op_amd64_fxch;
455 
456 static inline bool is_amd64_fxch(ir_node const *const n)
457 {
458  return get_irn_op(n) == op_amd64_fxch;
459 }
460 
464 ir_node *new_bd_amd64_fxch(dbg_info *dbgi, ir_node *block, const arch_register_t *reg);
465 
466 extern ir_op *op_amd64_haddpd;
467 
468 static inline bool is_amd64_haddpd(ir_node const *const n)
469 {
470  return get_irn_op(n) == op_amd64_haddpd;
471 }
472 
476 ir_node *new_bd_amd64_haddpd(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, const amd64_binop_addr_attr_t *attr_init);
477 
478 extern ir_op *op_amd64_idiv;
479 
480 static inline bool is_amd64_idiv(ir_node const *const n)
481 {
482  return get_irn_op(n) == op_amd64_idiv;
483 }
484 
488 ir_node *new_bd_amd64_idiv(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, amd64_insn_mode_t insn_mode);
489 
490 extern ir_op *op_amd64_ijmp;
491 
492 static inline bool is_amd64_ijmp(ir_node const *const n)
493 {
494  return get_irn_op(n) == op_amd64_ijmp;
495 }
496 
500 ir_node *new_bd_amd64_ijmp(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, amd64_insn_mode_t insn_mode, amd64_op_mode_t op_mode, amd64_addr_t addr);
501 
502 extern ir_op *op_amd64_imul;
503 
504 static inline bool is_amd64_imul(ir_node const *const n)
505 {
506  return get_irn_op(n) == op_amd64_imul;
507 }
508 
512 ir_node *new_bd_amd64_imul(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, const amd64_binop_addr_attr_t *attr_init);
513 
514 extern ir_op *op_amd64_imul_1op;
515 
516 static inline bool is_amd64_imul_1op(ir_node const *const n)
517 {
518  return get_irn_op(n) == op_amd64_imul_1op;
519 }
520 
524 ir_node *new_bd_amd64_imul_1op(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, amd64_insn_mode_t insn_mode, amd64_op_mode_t op_mode, amd64_addr_t addr);
525 
526 extern ir_op *op_amd64_jcc;
527 
528 static inline bool is_amd64_jcc(ir_node const *const n)
529 {
530  return get_irn_op(n) == op_amd64_jcc;
531 }
532 
536 ir_node *new_bd_amd64_jcc(dbg_info *dbgi, ir_node *block, ir_node *eflags, x86_condition_code_t cc);
537 
538 extern ir_op *op_amd64_jmp;
539 
540 static inline bool is_amd64_jmp(ir_node const *const n)
541 {
542  return get_irn_op(n) == op_amd64_jmp;
543 }
544 
548 ir_node *new_bd_amd64_jmp(dbg_info *dbgi, ir_node *block);
549 
550 extern ir_op *op_amd64_jmp_switch;
551 
552 static inline bool is_amd64_jmp_switch(ir_node const *const n)
553 {
554  return get_irn_op(n) == op_amd64_jmp_switch;
555 }
556 
560 ir_node *new_bd_amd64_jmp_switch(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, int n_res, amd64_op_mode_t op_mode, const amd64_addr_t *addr, const ir_switch_table *table, ir_entity *table_entity);
561 
562 extern ir_op *op_amd64_l_haddpd;
563 
564 static inline bool is_amd64_l_haddpd(ir_node const *const n)
565 {
566  return get_irn_op(n) == op_amd64_l_haddpd;
567 }
568 
572 ir_node *new_bd_amd64_l_haddpd(dbg_info *dbgi, ir_node *block, ir_node *arg0, ir_node *arg1);
573 
574 extern ir_op *op_amd64_l_punpckldq;
575 
576 static inline bool is_amd64_l_punpckldq(ir_node const *const n)
577 {
578  return get_irn_op(n) == op_amd64_l_punpckldq;
579 }
580 
584 ir_node *new_bd_amd64_l_punpckldq(dbg_info *dbgi, ir_node *block, ir_node *arg0, ir_node *arg1);
585 
586 extern ir_op *op_amd64_l_subpd;
587 
588 static inline bool is_amd64_l_subpd(ir_node const *const n)
589 {
590  return get_irn_op(n) == op_amd64_l_subpd;
591 }
592 
596 ir_node *new_bd_amd64_l_subpd(dbg_info *dbgi, ir_node *block, ir_node *arg0, ir_node *arg1);
597 
598 extern ir_op *op_amd64_lea;
599 
600 static inline bool is_amd64_lea(ir_node const *const n)
601 {
602  return get_irn_op(n) == op_amd64_lea;
603 }
604 
608 ir_node *new_bd_amd64_lea(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, amd64_insn_mode_t insn_mode, amd64_addr_t addr);
609 
610 extern ir_op *op_amd64_leave;
611 
612 static inline bool is_amd64_leave(ir_node const *const n)
613 {
614  return get_irn_op(n) == op_amd64_leave;
615 }
616 
620 ir_node *new_bd_amd64_leave(dbg_info *dbgi, ir_node *block, ir_node *op0, ir_node *op1);
621 
622 extern ir_op *op_amd64_mov_gp;
623 
624 static inline bool is_amd64_mov_gp(ir_node const *const n)
625 {
626  return get_irn_op(n) == op_amd64_mov_gp;
627 }
628 
632 ir_node *new_bd_amd64_mov_gp(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, amd64_insn_mode_t insn_mode, amd64_op_mode_t op_mode, amd64_addr_t addr);
633 
634 extern ir_op *op_amd64_mov_imm;
635 
636 static inline bool is_amd64_mov_imm(ir_node const *const n)
637 {
638  return get_irn_op(n) == op_amd64_mov_imm;
639 }
640 
644 ir_node *new_bd_amd64_mov_imm(dbg_info *dbgi, ir_node *block, amd64_insn_mode_t insn_mode, const amd64_imm64_t *imm);
645 
646 extern ir_op *op_amd64_mov_store;
647 
648 static inline bool is_amd64_mov_store(ir_node const *const n)
649 {
650  return get_irn_op(n) == op_amd64_mov_store;
651 }
652 
656 ir_node *new_bd_amd64_mov_store(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, const amd64_binop_addr_attr_t *attr_init);
657 
658 extern ir_op *op_amd64_movd_gp_xmm;
659 
660 static inline bool is_amd64_movd_gp_xmm(ir_node const *const n)
661 {
662  return get_irn_op(n) == op_amd64_movd_gp_xmm;
663 }
664 
668 ir_node *new_bd_amd64_movd_gp_xmm(dbg_info *dbgi, ir_node *block, ir_node *operand, amd64_insn_mode_t insn_mode, amd64_op_mode_t op_mode, amd64_addr_t addr);
669 
670 extern ir_op *op_amd64_movd_xmm_gp;
671 
672 static inline bool is_amd64_movd_xmm_gp(ir_node const *const n)
673 {
674  return get_irn_op(n) == op_amd64_movd_xmm_gp;
675 }
676 
680 ir_node *new_bd_amd64_movd_xmm_gp(dbg_info *dbgi, ir_node *block, ir_node *operand, amd64_insn_mode_t insn_mode, amd64_op_mode_t op_mode, amd64_addr_t addr);
681 
682 extern ir_op *op_amd64_movdqa;
683 
684 static inline bool is_amd64_movdqa(ir_node const *const n)
685 {
686  return get_irn_op(n) == op_amd64_movdqa;
687 }
688 
692 ir_node *new_bd_amd64_movdqa(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, amd64_op_mode_t op_mode, amd64_addr_t addr);
693 
694 extern ir_op *op_amd64_movdqu;
695 
696 static inline bool is_amd64_movdqu(ir_node const *const n)
697 {
698  return get_irn_op(n) == op_amd64_movdqu;
699 }
700 
704 ir_node *new_bd_amd64_movdqu(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, amd64_op_mode_t op_mode, amd64_addr_t addr);
705 
706 extern ir_op *op_amd64_movdqu_store;
707 
708 static inline bool is_amd64_movdqu_store(ir_node const *const n)
709 {
710  return get_irn_op(n) == op_amd64_movdqu_store;
711 }
712 
716 ir_node *new_bd_amd64_movdqu_store(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, const amd64_binop_addr_attr_t *attr_init);
717 
718 extern ir_op *op_amd64_movq;
719 
720 static inline bool is_amd64_movq(ir_node const *const n)
721 {
722  return get_irn_op(n) == op_amd64_movq;
723 }
724 
728 ir_node *new_bd_amd64_movq(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, amd64_op_mode_t op_mode, amd64_addr_t addr);
729 
730 extern ir_op *op_amd64_movs;
731 
732 static inline bool is_amd64_movs(ir_node const *const n)
733 {
734  return get_irn_op(n) == op_amd64_movs;
735 }
736 
740 ir_node *new_bd_amd64_movs(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, amd64_insn_mode_t insn_mode, amd64_op_mode_t op_mode, amd64_addr_t addr);
741 
742 extern ir_op *op_amd64_movs_store_xmm;
743 
744 static inline bool is_amd64_movs_store_xmm(ir_node const *const n)
745 {
746  return get_irn_op(n) == op_amd64_movs_store_xmm;
747 }
748 
752 ir_node *new_bd_amd64_movs_store_xmm(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, const amd64_binop_addr_attr_t *attr_init);
753 
754 extern ir_op *op_amd64_movs_xmm;
755 
756 static inline bool is_amd64_movs_xmm(ir_node const *const n)
757 {
758  return get_irn_op(n) == op_amd64_movs_xmm;
759 }
760 
764 ir_node *new_bd_amd64_movs_xmm(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, amd64_insn_mode_t insn_mode, amd64_op_mode_t op_mode, amd64_addr_t addr);
765 
766 extern ir_op *op_amd64_mul;
767 
768 static inline bool is_amd64_mul(ir_node const *const n)
769 {
770  return get_irn_op(n) == op_amd64_mul;
771 }
772 
776 ir_node *new_bd_amd64_mul(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, amd64_insn_mode_t insn_mode, amd64_op_mode_t op_mode, amd64_addr_t addr);
777 
778 extern ir_op *op_amd64_muls;
779 
780 static inline bool is_amd64_muls(ir_node const *const n)
781 {
782  return get_irn_op(n) == op_amd64_muls;
783 }
784 
788 ir_node *new_bd_amd64_muls(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, const amd64_binop_addr_attr_t *attr_init);
789 
790 extern ir_op *op_amd64_neg;
791 
792 static inline bool is_amd64_neg(ir_node const *const n)
793 {
794  return get_irn_op(n) == op_amd64_neg;
795 }
796 
800 ir_node *new_bd_amd64_neg(dbg_info *dbgi, ir_node *block, ir_node *val, amd64_insn_mode_t insn_mode);
801 
802 extern ir_op *op_amd64_not;
803 
804 static inline bool is_amd64_not(ir_node const *const n)
805 {
806  return get_irn_op(n) == op_amd64_not;
807 }
808 
812 ir_node *new_bd_amd64_not(dbg_info *dbgi, ir_node *block, ir_node *val, amd64_insn_mode_t insn_mode);
813 
814 extern ir_op *op_amd64_or;
815 
816 static inline bool is_amd64_or(ir_node const *const n)
817 {
818  return get_irn_op(n) == op_amd64_or;
819 }
820 
824 ir_node *new_bd_amd64_or(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, const amd64_binop_addr_attr_t *attr_init);
825 
826 extern ir_op *op_amd64_pop_am;
827 
828 static inline bool is_amd64_pop_am(ir_node const *const n)
829 {
830  return get_irn_op(n) == op_amd64_pop_am;
831 }
832 
836 ir_node *new_bd_amd64_pop_am(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, amd64_insn_mode_t insn_mode, amd64_addr_t addr);
837 
838 extern ir_op *op_amd64_punpckldq;
839 
840 static inline bool is_amd64_punpckldq(ir_node const *const n)
841 {
842  return get_irn_op(n) == op_amd64_punpckldq;
843 }
844 
848 ir_node *new_bd_amd64_punpckldq(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, const amd64_binop_addr_attr_t *attr_init);
849 
850 extern ir_op *op_amd64_push_am;
851 
852 static inline bool is_amd64_push_am(ir_node const *const n)
853 {
854  return get_irn_op(n) == op_amd64_push_am;
855 }
856 
860 ir_node *new_bd_amd64_push_am(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, amd64_insn_mode_t insn_mode, amd64_addr_t addr);
861 
862 extern ir_op *op_amd64_push_reg;
863 
864 static inline bool is_amd64_push_reg(ir_node const *const n)
865 {
866  return get_irn_op(n) == op_amd64_push_reg;
867 }
868 
872 ir_node *new_bd_amd64_push_reg(dbg_info *dbgi, ir_node *block, ir_node *stack, ir_node *mem, ir_node *val);
873 
874 extern ir_op *op_amd64_ret;
875 
876 static inline bool is_amd64_ret(ir_node const *const n)
877 {
878  return get_irn_op(n) == op_amd64_ret;
879 }
880 
884 ir_node *new_bd_amd64_ret(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs);
885 
886 extern ir_op *op_amd64_sar;
887 
888 static inline bool is_amd64_sar(ir_node const *const n)
889 {
890  return get_irn_op(n) == op_amd64_sar;
891 }
892 
896 ir_node *new_bd_amd64_sar(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, const amd64_shift_attr_t *attr_init);
897 
898 extern ir_op *op_amd64_sbb;
899 
900 static inline bool is_amd64_sbb(ir_node const *const n)
901 {
902  return get_irn_op(n) == op_amd64_sbb;
903 }
904 
908 ir_node *new_bd_amd64_sbb(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, const amd64_binop_addr_attr_t *attr_init);
909 
910 extern ir_op *op_amd64_setcc;
911 
912 static inline bool is_amd64_setcc(ir_node const *const n)
913 {
914  return get_irn_op(n) == op_amd64_setcc;
915 }
916 
920 ir_node *new_bd_amd64_setcc(dbg_info *dbgi, ir_node *block, ir_node *eflags, x86_condition_code_t cc);
921 
922 extern ir_op *op_amd64_shl;
923 
924 static inline bool is_amd64_shl(ir_node const *const n)
925 {
926  return get_irn_op(n) == op_amd64_shl;
927 }
928 
932 ir_node *new_bd_amd64_shl(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, const amd64_shift_attr_t *attr_init);
933 
934 extern ir_op *op_amd64_shr;
935 
936 static inline bool is_amd64_shr(ir_node const *const n)
937 {
938  return get_irn_op(n) == op_amd64_shr;
939 }
940 
944 ir_node *new_bd_amd64_shr(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, const amd64_shift_attr_t *attr_init);
945 
946 extern ir_op *op_amd64_sub;
947 
948 static inline bool is_amd64_sub(ir_node const *const n)
949 {
950  return get_irn_op(n) == op_amd64_sub;
951 }
952 
956 ir_node *new_bd_amd64_sub(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, const amd64_binop_addr_attr_t *attr_init);
957 
958 extern ir_op *op_amd64_sub_sp;
959 
960 static inline bool is_amd64_sub_sp(ir_node const *const n)
961 {
962  return get_irn_op(n) == op_amd64_sub_sp;
963 }
964 
968 ir_node *new_bd_amd64_sub_sp(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, const amd64_binop_addr_attr_t *attr_init);
969 
970 extern ir_op *op_amd64_subpd;
971 
972 static inline bool is_amd64_subpd(ir_node const *const n)
973 {
974  return get_irn_op(n) == op_amd64_subpd;
975 }
976 
980 ir_node *new_bd_amd64_subpd(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, const amd64_binop_addr_attr_t *attr_init);
981 
982 extern ir_op *op_amd64_subs;
983 
984 static inline bool is_amd64_subs(ir_node const *const n)
985 {
986  return get_irn_op(n) == op_amd64_subs;
987 }
988 
992 ir_node *new_bd_amd64_subs(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, const amd64_binop_addr_attr_t *attr_init);
993 
994 extern ir_op *op_amd64_ucomis;
995 
996 static inline bool is_amd64_ucomis(ir_node const *const n)
997 {
998  return get_irn_op(n) == op_amd64_ucomis;
999 }
1000 
1004 ir_node *new_bd_amd64_ucomis(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, const amd64_binop_addr_attr_t *attr_init);
1005 
1006 extern ir_op *op_amd64_xor;
1007 
1008 static inline bool is_amd64_xor(ir_node const *const n)
1009 {
1010  return get_irn_op(n) == op_amd64_xor;
1011 }
1012 
1016 ir_node *new_bd_amd64_xor(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, const amd64_binop_addr_attr_t *attr_init);
1017 
1018 extern ir_op *op_amd64_xor_0;
1019 
1020 static inline bool is_amd64_xor_0(ir_node const *const n)
1021 {
1022  return get_irn_op(n) == op_amd64_xor_0;
1023 }
1024 
1028 ir_node *new_bd_amd64_xor_0(dbg_info *dbgi, ir_node *block);
1029 
1030 extern ir_op *op_amd64_xorp;
1031 
1032 static inline bool is_amd64_xorp(ir_node const *const n)
1033 {
1034  return get_irn_op(n) == op_amd64_xorp;
1035 }
1036 
1040 ir_node *new_bd_amd64_xorp(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, const amd64_binop_addr_attr_t *attr_init);
1041 
1042 extern ir_op *op_amd64_xorpd_0;
1043 
1044 static inline bool is_amd64_xorpd_0(ir_node const *const n)
1045 {
1046  return get_irn_op(n) == op_amd64_xorpd_0;
1047 }
1048 
1052 ir_node *new_bd_amd64_xorpd_0(dbg_info *dbgi, ir_node *block);
1053 
1054 
1055 typedef enum pn_amd64_add {
1056  pn_amd64_add_res = 0,
1057  pn_amd64_add_flags = 1,
1058  pn_amd64_add_M = 2,
1059 } pn_amd64_add;
1060 
1061 typedef enum pn_amd64_adds {
1062  pn_amd64_adds_res = 0,
1063  pn_amd64_adds_none = 1,
1064  pn_amd64_adds_M = 2,
1065 } pn_amd64_adds;
1066 
1067 typedef enum pn_amd64_and {
1068  pn_amd64_and_res = 0,
1069  pn_amd64_and_flags = 1,
1070  pn_amd64_and_M = 2,
1071 } pn_amd64_and;
1072 
1073 typedef enum pn_amd64_bsf {
1074  pn_amd64_bsf_res = 0,
1075  pn_amd64_bsf_flags = 1,
1076  pn_amd64_bsf_M = 2,
1077 } pn_amd64_bsf;
1078 
1079 typedef enum pn_amd64_bsr {
1080  pn_amd64_bsr_res = 0,
1081  pn_amd64_bsr_flags = 1,
1082  pn_amd64_bsr_M = 2,
1083 } pn_amd64_bsr;
1084 
1085 typedef enum pn_amd64_call {
1086  pn_amd64_call_M = 0,
1087  pn_amd64_call_stack = 1,
1088  pn_amd64_call_flags = 2,
1089  pn_amd64_call_first_result = 3,
1090 } pn_amd64_call;
1091 
1092 typedef enum pn_amd64_cmp {
1093  pn_amd64_cmp_dummy = 0,
1094  pn_amd64_cmp_flags = 1,
1095  pn_amd64_cmp_M = 2,
1096 } pn_amd64_cmp;
1097 
1098 typedef enum pn_amd64_cmpxchg {
1099  pn_amd64_cmpxchg_res = 0,
1100  pn_amd64_cmpxchg_flags = 1,
1101  pn_amd64_cmpxchg_M = 2,
1102 } pn_amd64_cmpxchg;
1103 
1104 typedef enum pn_amd64_cvtsd2ss {
1105  pn_amd64_cvtsd2ss_res = 0,
1106  pn_amd64_cvtsd2ss_none = 1,
1107  pn_amd64_cvtsd2ss_M = 2,
1108 } pn_amd64_cvtsd2ss;
1109 
1110 typedef enum pn_amd64_cvtsi2sd {
1111  pn_amd64_cvtsi2sd_res = 0,
1112  pn_amd64_cvtsi2sd_none = 1,
1113  pn_amd64_cvtsi2sd_M = 2,
1114 } pn_amd64_cvtsi2sd;
1115 
1116 typedef enum pn_amd64_cvtsi2ss {
1117  pn_amd64_cvtsi2ss_res = 0,
1118  pn_amd64_cvtsi2ss_none = 1,
1119  pn_amd64_cvtsi2ss_M = 2,
1120 } pn_amd64_cvtsi2ss;
1121 
1122 typedef enum pn_amd64_cvtss2sd {
1123  pn_amd64_cvtss2sd_res = 0,
1124  pn_amd64_cvtss2sd_none = 1,
1125  pn_amd64_cvtss2sd_M = 2,
1126 } pn_amd64_cvtss2sd;
1127 
1128 typedef enum pn_amd64_cvttsd2si {
1129  pn_amd64_cvttsd2si_res = 0,
1130  pn_amd64_cvttsd2si_none = 1,
1131  pn_amd64_cvttsd2si_M = 2,
1132 } pn_amd64_cvttsd2si;
1133 
1134 typedef enum pn_amd64_cvttss2si {
1135  pn_amd64_cvttss2si_res = 0,
1136  pn_amd64_cvttss2si_none = 1,
1137  pn_amd64_cvttss2si_M = 2,
1138 } pn_amd64_cvttss2si;
1139 
1140 typedef enum pn_amd64_div {
1141  pn_amd64_div_res_div = 0,
1142  pn_amd64_div_flags = 1,
1143  pn_amd64_div_M = 2,
1144  pn_amd64_div_res_mod = 3,
1145 } pn_amd64_div;
1146 
1147 typedef enum pn_amd64_divs {
1148  pn_amd64_divs_res = 0,
1149  pn_amd64_divs_none = 1,
1150  pn_amd64_divs_M = 2,
1151 } pn_amd64_divs;
1152 
1153 typedef enum n_amd64_fadd {
1154  n_amd64_fadd_left = 0,
1155  n_amd64_fadd_right = 1,
1156 } n_amd64_fadd;
1157 
1158 typedef enum n_amd64_fchs {
1159  n_amd64_fchs_value = 0,
1160 } n_amd64_fchs;
1161 
1162 typedef enum pn_amd64_fdiv {
1163  pn_amd64_fdiv_res = 0,
1164  pn_amd64_fdiv_flags = 1,
1165  pn_amd64_fdiv_M = 2,
1166 } pn_amd64_fdiv;
1167 
1168 typedef enum n_amd64_fdiv {
1169  n_amd64_fdiv_left = 0,
1170  n_amd64_fdiv_right = 1,
1171 } n_amd64_fdiv;
1172 
1173 typedef enum n_amd64_fdup {
1174  n_amd64_fdup_val = 0,
1175 } n_amd64_fdup;
1176 
1177 typedef enum pn_amd64_fld {
1178  pn_amd64_fld_res = 0,
1179  pn_amd64_fld_unused = 1,
1180  pn_amd64_fld_M = 2,
1181 } pn_amd64_fld;
1182 
1183 typedef enum pn_amd64_fld1 {
1184  pn_amd64_fld1_res = 0,
1185 } pn_amd64_fld1;
1186 
1187 typedef enum pn_amd64_fldz {
1188  pn_amd64_fldz_res = 0,
1189 } pn_amd64_fldz;
1190 
1191 typedef enum n_amd64_fmul {
1192  n_amd64_fmul_left = 0,
1193  n_amd64_fmul_right = 1,
1194 } n_amd64_fmul;
1195 
1196 typedef enum pn_amd64_fst {
1197  pn_amd64_fst_M = 0,
1198 } pn_amd64_fst;
1199 
1200 typedef enum pn_amd64_fstp {
1201  pn_amd64_fstp_M = 0,
1202 } pn_amd64_fstp;
1203 
1204 typedef enum n_amd64_fsub {
1205  n_amd64_fsub_left = 0,
1206  n_amd64_fsub_right = 1,
1207 } n_amd64_fsub;
1208 
1209 typedef enum pn_amd64_fucomi {
1210  pn_amd64_fucomi_flags = 0,
1211 } pn_amd64_fucomi;
1212 
1213 typedef enum n_amd64_fucomi {
1214  n_amd64_fucomi_left = 0,
1215  n_amd64_fucomi_right = 1,
1216 } n_amd64_fucomi;
1217 
1218 typedef enum pn_amd64_haddpd {
1219  pn_amd64_haddpd_res = 0,
1220  pn_amd64_haddpd_none = 1,
1221  pn_amd64_haddpd_M = 2,
1222 } pn_amd64_haddpd;
1223 
1224 typedef enum pn_amd64_idiv {
1225  pn_amd64_idiv_res_div = 0,
1226  pn_amd64_idiv_flags = 1,
1227  pn_amd64_idiv_M = 2,
1228  pn_amd64_idiv_res_mod = 3,
1229 } pn_amd64_idiv;
1230 
1231 typedef enum pn_amd64_ijmp {
1232  pn_amd64_ijmp_X = 0,
1233  pn_amd64_ijmp_unused = 1,
1234  pn_amd64_ijmp_M = 2,
1235 } pn_amd64_ijmp;
1236 
1237 typedef enum pn_amd64_imul {
1238  pn_amd64_imul_res = 0,
1239  pn_amd64_imul_flags = 1,
1240  pn_amd64_imul_M = 2,
1241 } pn_amd64_imul;
1242 
1243 typedef enum pn_amd64_imul_1op {
1244  pn_amd64_imul_1op_res_low = 0,
1245  pn_amd64_imul_1op_flags = 1,
1246  pn_amd64_imul_1op_M = 2,
1247  pn_amd64_imul_1op_res_high = 3,
1248 } pn_amd64_imul_1op;
1249 
1250 typedef enum pn_amd64_jcc {
1251  pn_amd64_jcc_false = 0,
1252  pn_amd64_jcc_true = 1,
1253 } pn_amd64_jcc;
1254 
1255 typedef enum n_amd64_jcc {
1256  n_amd64_jcc_eflags = 0,
1257 } n_amd64_jcc;
1258 
1259 typedef enum pn_amd64_l_haddpd {
1260  pn_amd64_l_haddpd_res = 0,
1261 } pn_amd64_l_haddpd;
1262 
1263 typedef enum n_amd64_l_haddpd {
1264  n_amd64_l_haddpd_arg0 = 0,
1265  n_amd64_l_haddpd_arg1 = 1,
1266 } n_amd64_l_haddpd;
1267 
1268 typedef enum pn_amd64_l_punpckldq {
1269  pn_amd64_l_punpckldq_res = 0,
1270 } pn_amd64_l_punpckldq;
1271 
1272 typedef enum n_amd64_l_punpckldq {
1273  n_amd64_l_punpckldq_arg0 = 0,
1274  n_amd64_l_punpckldq_arg1 = 1,
1275 } n_amd64_l_punpckldq;
1276 
1277 typedef enum pn_amd64_l_subpd {
1278  pn_amd64_l_subpd_res = 0,
1279 } pn_amd64_l_subpd;
1280 
1281 typedef enum n_amd64_l_subpd {
1282  n_amd64_l_subpd_arg0 = 0,
1283  n_amd64_l_subpd_arg1 = 1,
1284 } n_amd64_l_subpd;
1285 
1286 typedef enum pn_amd64_lea {
1287  pn_amd64_lea_res = 0,
1288 } pn_amd64_lea;
1289 
1290 typedef enum pn_amd64_leave {
1291  pn_amd64_leave_frame = 0,
1292  pn_amd64_leave_M = 1,
1293  pn_amd64_leave_stack = 2,
1294 } pn_amd64_leave;
1295 
1296 typedef enum pn_amd64_mov_gp {
1297  pn_amd64_mov_gp_res = 0,
1298  pn_amd64_mov_gp_unused = 1,
1299  pn_amd64_mov_gp_M = 2,
1300 } pn_amd64_mov_gp;
1301 
1302 typedef enum pn_amd64_mov_store {
1303  pn_amd64_mov_store_M = 0,
1304 } pn_amd64_mov_store;
1305 
1306 typedef enum pn_amd64_movd_gp_xmm {
1307  pn_amd64_movd_gp_xmm_res = 0,
1308 } pn_amd64_movd_gp_xmm;
1309 
1310 typedef enum n_amd64_movd_gp_xmm {
1311  n_amd64_movd_gp_xmm_operand = 0,
1312 } n_amd64_movd_gp_xmm;
1313 
1314 typedef enum pn_amd64_movd_xmm_gp {
1315  pn_amd64_movd_xmm_gp_res = 0,
1316 } pn_amd64_movd_xmm_gp;
1317 
1318 typedef enum n_amd64_movd_xmm_gp {
1319  n_amd64_movd_xmm_gp_operand = 0,
1320 } n_amd64_movd_xmm_gp;
1321 
1322 typedef enum pn_amd64_movdqa {
1323  pn_amd64_movdqa_res = 0,
1324  pn_amd64_movdqa_none = 1,
1325  pn_amd64_movdqa_M = 2,
1326 } pn_amd64_movdqa;
1327 
1328 typedef enum pn_amd64_movdqu {
1329  pn_amd64_movdqu_res = 0,
1330  pn_amd64_movdqu_none = 1,
1331  pn_amd64_movdqu_M = 2,
1332 } pn_amd64_movdqu;
1333 
1334 typedef enum pn_amd64_movdqu_store {
1335  pn_amd64_movdqu_store_M = 0,
1336 } pn_amd64_movdqu_store;
1337 
1338 typedef enum pn_amd64_movq {
1339  pn_amd64_movq_res = 0,
1340  pn_amd64_movq_none = 1,
1341  pn_amd64_movq_M = 2,
1342 } pn_amd64_movq;
1343 
1344 typedef enum pn_amd64_movs {
1345  pn_amd64_movs_res = 0,
1346  pn_amd64_movs_unused = 1,
1347  pn_amd64_movs_M = 2,
1348 } pn_amd64_movs;
1349 
1350 typedef enum pn_amd64_movs_store_xmm {
1351  pn_amd64_movs_store_xmm_M = 0,
1352 } pn_amd64_movs_store_xmm;
1353 
1354 typedef enum pn_amd64_movs_xmm {
1355  pn_amd64_movs_xmm_res = 0,
1356  pn_amd64_movs_xmm_none = 1,
1357  pn_amd64_movs_xmm_M = 2,
1358 } pn_amd64_movs_xmm;
1359 
1360 typedef enum pn_amd64_mul {
1361  pn_amd64_mul_res_low = 0,
1362  pn_amd64_mul_flags = 1,
1363  pn_amd64_mul_M = 2,
1364  pn_amd64_mul_res_high = 3,
1365 } pn_amd64_mul;
1366 
1367 typedef enum pn_amd64_muls {
1368  pn_amd64_muls_res = 0,
1369  pn_amd64_muls_none = 1,
1370  pn_amd64_muls_M = 2,
1371 } pn_amd64_muls;
1372 
1373 typedef enum pn_amd64_neg {
1374  pn_amd64_neg_res = 0,
1375  pn_amd64_neg_flags = 1,
1376 } pn_amd64_neg;
1377 
1378 typedef enum n_amd64_neg {
1379  n_amd64_neg_val = 0,
1380 } n_amd64_neg;
1381 
1382 typedef enum pn_amd64_not {
1383  pn_amd64_not_res = 0,
1384  pn_amd64_not_flags = 1,
1385 } pn_amd64_not;
1386 
1387 typedef enum n_amd64_not {
1388  n_amd64_not_val = 0,
1389 } n_amd64_not;
1390 
1391 typedef enum pn_amd64_or {
1392  pn_amd64_or_res = 0,
1393  pn_amd64_or_flags = 1,
1394  pn_amd64_or_M = 2,
1395 } pn_amd64_or;
1396 
1397 typedef enum pn_amd64_pop_am {
1398  pn_amd64_pop_am_stack = 0,
1399  pn_amd64_pop_am_M = 1,
1400 } pn_amd64_pop_am;
1401 
1402 typedef enum pn_amd64_punpckldq {
1403  pn_amd64_punpckldq_res = 0,
1404  pn_amd64_punpckldq_none = 1,
1405  pn_amd64_punpckldq_M = 2,
1406 } pn_amd64_punpckldq;
1407 
1408 typedef enum pn_amd64_push_am {
1409  pn_amd64_push_am_stack = 0,
1410  pn_amd64_push_am_M = 1,
1411 } pn_amd64_push_am;
1412 
1413 typedef enum pn_amd64_push_reg {
1414  pn_amd64_push_reg_stack = 0,
1415  pn_amd64_push_reg_M = 1,
1416 } pn_amd64_push_reg;
1417 
1418 typedef enum n_amd64_push_reg {
1419  n_amd64_push_reg_stack = 0,
1420  n_amd64_push_reg_mem = 1,
1421  n_amd64_push_reg_val = 2,
1422 } n_amd64_push_reg;
1423 
1424 typedef enum n_amd64_ret {
1425  n_amd64_ret_mem = 0,
1426  n_amd64_ret_stack = 1,
1427  n_amd64_ret_first_result = 2,
1428 } n_amd64_ret;
1429 
1430 typedef enum pn_amd64_sar {
1431  pn_amd64_sar_res = 0,
1432  pn_amd64_sar_flags = 1,
1433 } pn_amd64_sar;
1434 
1435 typedef enum pn_amd64_sbb {
1436  pn_amd64_sbb_res = 0,
1437  pn_amd64_sbb_flags = 1,
1438  pn_amd64_sbb_M = 2,
1439 } pn_amd64_sbb;
1440 
1441 typedef enum pn_amd64_setcc {
1442  pn_amd64_setcc_res = 0,
1443 } pn_amd64_setcc;
1444 
1445 typedef enum n_amd64_setcc {
1446  n_amd64_setcc_eflags = 0,
1447 } n_amd64_setcc;
1448 
1449 typedef enum pn_amd64_shl {
1450  pn_amd64_shl_res = 0,
1451  pn_amd64_shl_flags = 1,
1452 } pn_amd64_shl;
1453 
1454 typedef enum pn_amd64_shr {
1455  pn_amd64_shr_res = 0,
1456  pn_amd64_shr_flags = 1,
1457 } pn_amd64_shr;
1458 
1459 typedef enum pn_amd64_sub {
1460  pn_amd64_sub_res = 0,
1461  pn_amd64_sub_flags = 1,
1462  pn_amd64_sub_M = 2,
1463 } pn_amd64_sub;
1464 
1465 typedef enum pn_amd64_sub_sp {
1466  pn_amd64_sub_sp_stack = 0,
1467  pn_amd64_sub_sp_addr = 1,
1468  pn_amd64_sub_sp_M = 2,
1469 } pn_amd64_sub_sp;
1470 
1471 typedef enum n_amd64_sub_sp {
1472  n_amd64_sub_sp_stack = 0,
1473 } n_amd64_sub_sp;
1474 
1475 typedef enum pn_amd64_subpd {
1476  pn_amd64_subpd_res = 0,
1477  pn_amd64_subpd_none = 1,
1478  pn_amd64_subpd_M = 2,
1479 } pn_amd64_subpd;
1480 
1481 typedef enum pn_amd64_subs {
1482  pn_amd64_subs_res = 0,
1483  pn_amd64_subs_none = 1,
1484  pn_amd64_subs_M = 2,
1485 } pn_amd64_subs;
1486 
1487 typedef enum pn_amd64_ucomis {
1488  pn_amd64_ucomis_dummy = 0,
1489  pn_amd64_ucomis_flags = 1,
1490  pn_amd64_ucomis_M = 2,
1491 } pn_amd64_ucomis;
1492 
1493 typedef enum pn_amd64_xor {
1494  pn_amd64_xor_res = 0,
1495  pn_amd64_xor_flags = 1,
1496  pn_amd64_xor_M = 2,
1497 } pn_amd64_xor;
1498 
1499 typedef enum pn_amd64_xor_0 {
1500  pn_amd64_xor_0_res = 0,
1501  pn_amd64_xor_0_flags = 1,
1502 } pn_amd64_xor_0;
1503 
1504 typedef enum pn_amd64_xorp {
1505  pn_amd64_xorp_res = 0,
1506  pn_amd64_xorp_none = 1,
1507  pn_amd64_xorp_M = 2,
1508 } pn_amd64_xorp;
1509 
1510 typedef enum pn_amd64_xorpd_0 {
1511  pn_amd64_xorpd_0_res = 0,
1512 } pn_amd64_xorpd_0;
1513 
1514 
1515 #endif
struct dbg_info dbg_info
Source Reference.
Definition: firm_types.h:40
struct ir_switch_table ir_switch_table
A switch table mapping integer numbers to proj-numbers of a Switch-node.
Definition: firm_types.h:102
ir_op * get_irn_op(const ir_node *node)
Returns the opcode struct of the node.
struct ir_op ir_op
Node Opcode.
Definition: firm_types.h:56
struct ir_entity ir_entity
Entity.
Definition: firm_types.h:83
struct ir_node ir_node
Procedure Graph Node.
Definition: firm_types.h:53