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 #include "amd64_nodes_attr.h"
15 
16 typedef enum amd64_opcodes {
17  iro_amd64_add,
18  iro_amd64_adds,
19  iro_amd64_and,
20  iro_amd64_bsf,
21  iro_amd64_bsr,
22  iro_amd64_call,
23  iro_amd64_cltd,
24  iro_amd64_cmp,
25  iro_amd64_cmpxchg,
26  iro_amd64_copyB,
27  iro_amd64_copyB_i,
28  iro_amd64_cqto,
29  iro_amd64_cvtsd2ss,
30  iro_amd64_cvtsi2sd,
31  iro_amd64_cvtsi2ss,
32  iro_amd64_cvtss2sd,
33  iro_amd64_cvttsd2si,
34  iro_amd64_cvttss2si,
35  iro_amd64_div,
36  iro_amd64_divs,
37  iro_amd64_fadd,
38  iro_amd64_fchs,
39  iro_amd64_fdiv,
40  iro_amd64_fdup,
41  iro_amd64_fild,
42  iro_amd64_fisttp,
43  iro_amd64_fld,
44  iro_amd64_fld1,
45  iro_amd64_fldz,
46  iro_amd64_fmul,
47  iro_amd64_fpop,
48  iro_amd64_fst,
49  iro_amd64_fstp,
50  iro_amd64_fsub,
51  iro_amd64_fucomi,
52  iro_amd64_fxch,
53  iro_amd64_haddpd,
54  iro_amd64_idiv,
55  iro_amd64_ijmp,
56  iro_amd64_imul,
57  iro_amd64_imul_1op,
58  iro_amd64_jcc,
59  iro_amd64_jmp,
60  iro_amd64_jmp_switch,
61  iro_amd64_l_haddpd,
62  iro_amd64_l_punpckldq,
63  iro_amd64_l_subpd,
64  iro_amd64_lea,
65  iro_amd64_leave,
66  iro_amd64_mov_gp,
67  iro_amd64_mov_imm,
68  iro_amd64_mov_store,
69  iro_amd64_movd,
70  iro_amd64_movd_gp_xmm,
71  iro_amd64_movd_xmm_gp,
72  iro_amd64_movdqa,
73  iro_amd64_movdqu,
74  iro_amd64_movdqu_store,
75  iro_amd64_movs,
76  iro_amd64_movs_store_xmm,
77  iro_amd64_movs_xmm,
78  iro_amd64_mul,
79  iro_amd64_muls,
80  iro_amd64_neg,
81  iro_amd64_not,
82  iro_amd64_or,
83  iro_amd64_pop_am,
84  iro_amd64_punpckldq,
85  iro_amd64_push_am,
86  iro_amd64_push_reg,
87  iro_amd64_ret,
88  iro_amd64_sar,
89  iro_amd64_sbb,
90  iro_amd64_setcc,
91  iro_amd64_shl,
92  iro_amd64_shr,
93  iro_amd64_sub,
94  iro_amd64_sub_sp,
95  iro_amd64_subpd,
96  iro_amd64_subs,
97  iro_amd64_test,
98  iro_amd64_ucomis,
99  iro_amd64_xor,
100  iro_amd64_xor_0,
101  iro_amd64_xorp,
102  iro_amd64_xorp_0,
103  iro_amd64_last
104 } amd64_opcodes;
105 
106 
107 int is_amd64_irn(const ir_node *node);
108 int is_amd64_op(const ir_op *op);
109 
110 int get_amd64_irn_opcode(const ir_node *node);
111 void amd64_create_opcodes(void);
112 void amd64_free_opcodes(void);
113 
114 extern ir_op *op_amd64_add;
115 
116 static inline bool is_amd64_add(ir_node const *const n)
117 {
118  return get_irn_op(n) == op_amd64_add;
119 }
120 
124 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);
125 
126 extern ir_op *op_amd64_adds;
127 
128 static inline bool is_amd64_adds(ir_node const *const n)
129 {
130  return get_irn_op(n) == op_amd64_adds;
131 }
132 
136 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);
137 
138 extern ir_op *op_amd64_and;
139 
140 static inline bool is_amd64_and(ir_node const *const n)
141 {
142  return get_irn_op(n) == op_amd64_and;
143 }
144 
148 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);
149 
150 extern ir_op *op_amd64_bsf;
151 
152 static inline bool is_amd64_bsf(ir_node const *const n)
153 {
154  return get_irn_op(n) == op_amd64_bsf;
155 }
156 
160 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, x86_insn_size_t size, amd64_op_mode_t op_mode, x86_addr_t addr);
161 
162 extern ir_op *op_amd64_bsr;
163 
164 static inline bool is_amd64_bsr(ir_node const *const n)
165 {
166  return get_irn_op(n) == op_amd64_bsr;
167 }
168 
172 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, x86_insn_size_t size, amd64_op_mode_t op_mode, x86_addr_t addr);
173 
174 extern ir_op *op_amd64_call;
175 
176 static inline bool is_amd64_call(ir_node const *const n)
177 {
178  return get_irn_op(n) == op_amd64_call;
179 }
180 
184 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);
185 
186 extern ir_op *op_amd64_cltd;
187 
188 static inline bool is_amd64_cltd(ir_node const *const n)
189 {
190  return get_irn_op(n) == op_amd64_cltd;
191 }
192 
196 ir_node *new_bd_amd64_cltd(dbg_info *dbgi, ir_node *block, ir_node *val);
197 
198 extern ir_op *op_amd64_cmp;
199 
200 static inline bool is_amd64_cmp(ir_node const *const n)
201 {
202  return get_irn_op(n) == op_amd64_cmp;
203 }
204 
208 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);
209 
210 extern ir_op *op_amd64_cmpxchg;
211 
212 static inline bool is_amd64_cmpxchg(ir_node const *const n)
213 {
214  return get_irn_op(n) == op_amd64_cmpxchg;
215 }
216 
220 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);
221 
222 extern ir_op *op_amd64_copyB;
223 
224 static inline bool is_amd64_copyB(ir_node const *const n)
225 {
226  return get_irn_op(n) == op_amd64_copyB;
227 }
228 
232 ir_node *new_bd_amd64_copyB(dbg_info *dbgi, ir_node *block, ir_node *dest, ir_node *source, ir_node *count, ir_node *mem, unsigned size);
233 
234 extern ir_op *op_amd64_copyB_i;
235 
236 static inline bool is_amd64_copyB_i(ir_node const *const n)
237 {
238  return get_irn_op(n) == op_amd64_copyB_i;
239 }
240 
244 ir_node *new_bd_amd64_copyB_i(dbg_info *dbgi, ir_node *block, ir_node *dest, ir_node *source, ir_node *mem, unsigned size);
245 
246 extern ir_op *op_amd64_cqto;
247 
248 static inline bool is_amd64_cqto(ir_node const *const n)
249 {
250  return get_irn_op(n) == op_amd64_cqto;
251 }
252 
256 ir_node *new_bd_amd64_cqto(dbg_info *dbgi, ir_node *block, ir_node *val);
257 
258 extern ir_op *op_amd64_cvtsd2ss;
259 
260 static inline bool is_amd64_cvtsd2ss(ir_node const *const n)
261 {
262  return get_irn_op(n) == op_amd64_cvtsd2ss;
263 }
264 
268 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, x86_addr_t addr);
269 
270 extern ir_op *op_amd64_cvtsi2sd;
271 
272 static inline bool is_amd64_cvtsi2sd(ir_node const *const n)
273 {
274  return get_irn_op(n) == op_amd64_cvtsi2sd;
275 }
276 
280 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, x86_insn_size_t size, amd64_op_mode_t op_mode, x86_addr_t addr);
281 
282 extern ir_op *op_amd64_cvtsi2ss;
283 
284 static inline bool is_amd64_cvtsi2ss(ir_node const *const n)
285 {
286  return get_irn_op(n) == op_amd64_cvtsi2ss;
287 }
288 
292 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, x86_insn_size_t size, amd64_op_mode_t op_mode, x86_addr_t addr);
293 
294 extern ir_op *op_amd64_cvtss2sd;
295 
296 static inline bool is_amd64_cvtss2sd(ir_node const *const n)
297 {
298  return get_irn_op(n) == op_amd64_cvtss2sd;
299 }
300 
304 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, x86_insn_size_t size, amd64_op_mode_t op_mode, x86_addr_t addr);
305 
306 extern ir_op *op_amd64_cvttsd2si;
307 
308 static inline bool is_amd64_cvttsd2si(ir_node const *const n)
309 {
310  return get_irn_op(n) == op_amd64_cvttsd2si;
311 }
312 
316 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, x86_insn_size_t size, amd64_op_mode_t op_mode, x86_addr_t addr);
317 
318 extern ir_op *op_amd64_cvttss2si;
319 
320 static inline bool is_amd64_cvttss2si(ir_node const *const n)
321 {
322  return get_irn_op(n) == op_amd64_cvttss2si;
323 }
324 
328 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, x86_insn_size_t size, amd64_op_mode_t op_mode, x86_addr_t addr);
329 
330 extern ir_op *op_amd64_div;
331 
332 static inline bool is_amd64_div(ir_node const *const n)
333 {
334  return get_irn_op(n) == op_amd64_div;
335 }
336 
340 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, x86_insn_size_t size);
341 
342 extern ir_op *op_amd64_divs;
343 
344 static inline bool is_amd64_divs(ir_node const *const n)
345 {
346  return get_irn_op(n) == op_amd64_divs;
347 }
348 
352 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);
353 
354 extern ir_op *op_amd64_fadd;
355 
356 static inline bool is_amd64_fadd(ir_node const *const n)
357 {
358  return get_irn_op(n) == op_amd64_fadd;
359 }
360 
364 ir_node *new_bd_amd64_fadd(dbg_info *dbgi, ir_node *block, ir_node *left, ir_node *right);
365 
366 extern ir_op *op_amd64_fchs;
367 
368 static inline bool is_amd64_fchs(ir_node const *const n)
369 {
370  return get_irn_op(n) == op_amd64_fchs;
371 }
372 
376 ir_node *new_bd_amd64_fchs(dbg_info *dbgi, ir_node *block, ir_node *value);
377 
378 extern ir_op *op_amd64_fdiv;
379 
380 static inline bool is_amd64_fdiv(ir_node const *const n)
381 {
382  return get_irn_op(n) == op_amd64_fdiv;
383 }
384 
388 ir_node *new_bd_amd64_fdiv(dbg_info *dbgi, ir_node *block, ir_node *left, ir_node *right);
389 
390 extern ir_op *op_amd64_fdup;
391 
392 static inline bool is_amd64_fdup(ir_node const *const n)
393 {
394  return get_irn_op(n) == op_amd64_fdup;
395 }
396 
400 ir_node *new_bd_amd64_fdup(dbg_info *dbgi, ir_node *block, ir_node *val, const arch_register_t *reg);
401 
402 extern ir_op *op_amd64_fild;
403 
404 static inline bool is_amd64_fild(ir_node const *const n)
405 {
406  return get_irn_op(n) == op_amd64_fild;
407 }
408 
412 ir_node *new_bd_amd64_fild(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs, x86_insn_size_t size, amd64_op_mode_t op_mode, x86_addr_t addr);
413 
414 extern ir_op *op_amd64_fisttp;
415 
416 static inline bool is_amd64_fisttp(ir_node const *const n)
417 {
418  return get_irn_op(n) == op_amd64_fisttp;
419 }
420 
424 ir_node *new_bd_amd64_fisttp(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);
425 
426 extern ir_op *op_amd64_fld;
427 
428 static inline bool is_amd64_fld(ir_node const *const n)
429 {
430  return get_irn_op(n) == op_amd64_fld;
431 }
432 
436 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, x86_insn_size_t size, amd64_op_mode_t op_mode, x86_addr_t addr);
437 
438 extern ir_op *op_amd64_fld1;
439 
440 static inline bool is_amd64_fld1(ir_node const *const n)
441 {
442  return get_irn_op(n) == op_amd64_fld1;
443 }
444 
448 ir_node *new_bd_amd64_fld1(dbg_info *dbgi, ir_node *block);
449 
450 extern ir_op *op_amd64_fldz;
451 
452 static inline bool is_amd64_fldz(ir_node const *const n)
453 {
454  return get_irn_op(n) == op_amd64_fldz;
455 }
456 
460 ir_node *new_bd_amd64_fldz(dbg_info *dbgi, ir_node *block);
461 
462 extern ir_op *op_amd64_fmul;
463 
464 static inline bool is_amd64_fmul(ir_node const *const n)
465 {
466  return get_irn_op(n) == op_amd64_fmul;
467 }
468 
472 ir_node *new_bd_amd64_fmul(dbg_info *dbgi, ir_node *block, ir_node *left, ir_node *right);
473 
474 extern ir_op *op_amd64_fpop;
475 
476 static inline bool is_amd64_fpop(ir_node const *const n)
477 {
478  return get_irn_op(n) == op_amd64_fpop;
479 }
480 
484 ir_node *new_bd_amd64_fpop(dbg_info *dbgi, ir_node *block, const arch_register_t *reg);
485 
486 extern ir_op *op_amd64_fst;
487 
488 static inline bool is_amd64_fst(ir_node const *const n)
489 {
490  return get_irn_op(n) == op_amd64_fst;
491 }
492 
496 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);
497 
498 extern ir_op *op_amd64_fstp;
499 
500 static inline bool is_amd64_fstp(ir_node const *const n)
501 {
502  return get_irn_op(n) == op_amd64_fstp;
503 }
504 
508 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);
509 
510 extern ir_op *op_amd64_fsub;
511 
512 static inline bool is_amd64_fsub(ir_node const *const n)
513 {
514  return get_irn_op(n) == op_amd64_fsub;
515 }
516 
520 ir_node *new_bd_amd64_fsub(dbg_info *dbgi, ir_node *block, ir_node *left, ir_node *right);
521 
522 extern ir_op *op_amd64_fucomi;
523 
524 static inline bool is_amd64_fucomi(ir_node const *const n)
525 {
526  return get_irn_op(n) == op_amd64_fucomi;
527 }
528 
532 ir_node *new_bd_amd64_fucomi(dbg_info *dbgi, ir_node *block, ir_node *left, ir_node *right);
533 
534 extern ir_op *op_amd64_fxch;
535 
536 static inline bool is_amd64_fxch(ir_node const *const n)
537 {
538  return get_irn_op(n) == op_amd64_fxch;
539 }
540 
544 ir_node *new_bd_amd64_fxch(dbg_info *dbgi, ir_node *block, const arch_register_t *reg);
545 
546 extern ir_op *op_amd64_haddpd;
547 
548 static inline bool is_amd64_haddpd(ir_node const *const n)
549 {
550  return get_irn_op(n) == op_amd64_haddpd;
551 }
552 
556 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);
557 
558 extern ir_op *op_amd64_idiv;
559 
560 static inline bool is_amd64_idiv(ir_node const *const n)
561 {
562  return get_irn_op(n) == op_amd64_idiv;
563 }
564 
568 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, x86_insn_size_t size);
569 
570 extern ir_op *op_amd64_ijmp;
571 
572 static inline bool is_amd64_ijmp(ir_node const *const n)
573 {
574  return get_irn_op(n) == op_amd64_ijmp;
575 }
576 
580 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, x86_insn_size_t size, amd64_op_mode_t op_mode, x86_addr_t addr);
581 
582 extern ir_op *op_amd64_imul;
583 
584 static inline bool is_amd64_imul(ir_node const *const n)
585 {
586  return get_irn_op(n) == op_amd64_imul;
587 }
588 
592 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);
593 
594 extern ir_op *op_amd64_imul_1op;
595 
596 static inline bool is_amd64_imul_1op(ir_node const *const n)
597 {
598  return get_irn_op(n) == op_amd64_imul_1op;
599 }
600 
604 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, x86_insn_size_t size, amd64_op_mode_t op_mode, x86_addr_t addr);
605 
606 extern ir_op *op_amd64_jcc;
607 
608 static inline bool is_amd64_jcc(ir_node const *const n)
609 {
610  return get_irn_op(n) == op_amd64_jcc;
611 }
612 
616 ir_node *new_bd_amd64_jcc(dbg_info *dbgi, ir_node *block, ir_node *flags, x86_condition_code_t cc);
617 
618 extern ir_op *op_amd64_jmp;
619 
620 static inline bool is_amd64_jmp(ir_node const *const n)
621 {
622  return get_irn_op(n) == op_amd64_jmp;
623 }
624 
628 ir_node *new_bd_amd64_jmp(dbg_info *dbgi, ir_node *block);
629 
630 extern ir_op *op_amd64_jmp_switch;
631 
632 static inline bool is_amd64_jmp_switch(ir_node const *const n)
633 {
634  return get_irn_op(n) == op_amd64_jmp_switch;
635 }
636 
640 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, x86_insn_size_t size, const x86_addr_t *addr, const ir_switch_table *table, ir_entity *table_entity);
641 
642 extern ir_op *op_amd64_l_haddpd;
643 
644 static inline bool is_amd64_l_haddpd(ir_node const *const n)
645 {
646  return get_irn_op(n) == op_amd64_l_haddpd;
647 }
648 
652 ir_node *new_bd_amd64_l_haddpd(dbg_info *dbgi, ir_node *block, ir_node *arg0, ir_node *arg1);
653 
654 extern ir_op *op_amd64_l_punpckldq;
655 
656 static inline bool is_amd64_l_punpckldq(ir_node const *const n)
657 {
658  return get_irn_op(n) == op_amd64_l_punpckldq;
659 }
660 
664 ir_node *new_bd_amd64_l_punpckldq(dbg_info *dbgi, ir_node *block, ir_node *arg0, ir_node *arg1);
665 
666 extern ir_op *op_amd64_l_subpd;
667 
668 static inline bool is_amd64_l_subpd(ir_node const *const n)
669 {
670  return get_irn_op(n) == op_amd64_l_subpd;
671 }
672 
676 ir_node *new_bd_amd64_l_subpd(dbg_info *dbgi, ir_node *block, ir_node *arg0, ir_node *arg1);
677 
678 extern ir_op *op_amd64_lea;
679 
680 static inline bool is_amd64_lea(ir_node const *const n)
681 {
682  return get_irn_op(n) == op_amd64_lea;
683 }
684 
688 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, x86_insn_size_t size, x86_addr_t addr);
689 
690 extern ir_op *op_amd64_leave;
691 
692 static inline bool is_amd64_leave(ir_node const *const n)
693 {
694  return get_irn_op(n) == op_amd64_leave;
695 }
696 
700 ir_node *new_bd_amd64_leave(dbg_info *dbgi, ir_node *block, ir_node *op0, ir_node *op1);
701 
702 extern ir_op *op_amd64_mov_gp;
703 
704 static inline bool is_amd64_mov_gp(ir_node const *const n)
705 {
706  return get_irn_op(n) == op_amd64_mov_gp;
707 }
708 
712 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, x86_insn_size_t size, amd64_op_mode_t op_mode, x86_addr_t addr);
713 
714 extern ir_op *op_amd64_mov_imm;
715 
716 static inline bool is_amd64_mov_imm(ir_node const *const n)
717 {
718  return get_irn_op(n) == op_amd64_mov_imm;
719 }
720 
724 ir_node *new_bd_amd64_mov_imm(dbg_info *dbgi, ir_node *block, x86_insn_size_t size, const amd64_imm64_t *imm);
725 
726 extern ir_op *op_amd64_mov_store;
727 
728 static inline bool is_amd64_mov_store(ir_node const *const n)
729 {
730  return get_irn_op(n) == op_amd64_mov_store;
731 }
732 
736 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);
737 
738 extern ir_op *op_amd64_movd;
739 
740 static inline bool is_amd64_movd(ir_node const *const n)
741 {
742  return get_irn_op(n) == op_amd64_movd;
743 }
744 
748 ir_node *new_bd_amd64_movd(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, x86_addr_t addr);
749 
750 extern ir_op *op_amd64_movd_gp_xmm;
751 
752 static inline bool is_amd64_movd_gp_xmm(ir_node const *const n)
753 {
754  return get_irn_op(n) == op_amd64_movd_gp_xmm;
755 }
756 
760 ir_node *new_bd_amd64_movd_gp_xmm(dbg_info *dbgi, ir_node *block, ir_node *operand, x86_insn_size_t size, amd64_op_mode_t op_mode, x86_addr_t addr);
761 
762 extern ir_op *op_amd64_movd_xmm_gp;
763 
764 static inline bool is_amd64_movd_xmm_gp(ir_node const *const n)
765 {
766  return get_irn_op(n) == op_amd64_movd_xmm_gp;
767 }
768 
772 ir_node *new_bd_amd64_movd_xmm_gp(dbg_info *dbgi, ir_node *block, ir_node *operand, x86_insn_size_t size, amd64_op_mode_t op_mode, x86_addr_t addr);
773 
774 extern ir_op *op_amd64_movdqa;
775 
776 static inline bool is_amd64_movdqa(ir_node const *const n)
777 {
778  return get_irn_op(n) == op_amd64_movdqa;
779 }
780 
784 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, x86_addr_t addr);
785 
786 extern ir_op *op_amd64_movdqu;
787 
788 static inline bool is_amd64_movdqu(ir_node const *const n)
789 {
790  return get_irn_op(n) == op_amd64_movdqu;
791 }
792 
796 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, x86_addr_t addr);
797 
798 extern ir_op *op_amd64_movdqu_store;
799 
800 static inline bool is_amd64_movdqu_store(ir_node const *const n)
801 {
802  return get_irn_op(n) == op_amd64_movdqu_store;
803 }
804 
808 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);
809 
810 extern ir_op *op_amd64_movs;
811 
812 static inline bool is_amd64_movs(ir_node const *const n)
813 {
814  return get_irn_op(n) == op_amd64_movs;
815 }
816 
820 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, x86_insn_size_t size, amd64_op_mode_t op_mode, x86_addr_t addr);
821 
822 extern ir_op *op_amd64_movs_store_xmm;
823 
824 static inline bool is_amd64_movs_store_xmm(ir_node const *const n)
825 {
826  return get_irn_op(n) == op_amd64_movs_store_xmm;
827 }
828 
832 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);
833 
834 extern ir_op *op_amd64_movs_xmm;
835 
836 static inline bool is_amd64_movs_xmm(ir_node const *const n)
837 {
838  return get_irn_op(n) == op_amd64_movs_xmm;
839 }
840 
844 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, x86_insn_size_t size, amd64_op_mode_t op_mode, x86_addr_t addr);
845 
846 extern ir_op *op_amd64_mul;
847 
848 static inline bool is_amd64_mul(ir_node const *const n)
849 {
850  return get_irn_op(n) == op_amd64_mul;
851 }
852 
856 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, x86_insn_size_t size, amd64_op_mode_t op_mode, x86_addr_t addr);
857 
858 extern ir_op *op_amd64_muls;
859 
860 static inline bool is_amd64_muls(ir_node const *const n)
861 {
862  return get_irn_op(n) == op_amd64_muls;
863 }
864 
868 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);
869 
870 extern ir_op *op_amd64_neg;
871 
872 static inline bool is_amd64_neg(ir_node const *const n)
873 {
874  return get_irn_op(n) == op_amd64_neg;
875 }
876 
880 ir_node *new_bd_amd64_neg(dbg_info *dbgi, ir_node *block, ir_node *val, x86_insn_size_t size);
881 
882 extern ir_op *op_amd64_not;
883 
884 static inline bool is_amd64_not(ir_node const *const n)
885 {
886  return get_irn_op(n) == op_amd64_not;
887 }
888 
892 ir_node *new_bd_amd64_not(dbg_info *dbgi, ir_node *block, ir_node *val, x86_insn_size_t size);
893 
894 extern ir_op *op_amd64_or;
895 
896 static inline bool is_amd64_or(ir_node const *const n)
897 {
898  return get_irn_op(n) == op_amd64_or;
899 }
900 
904 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);
905 
906 extern ir_op *op_amd64_pop_am;
907 
908 static inline bool is_amd64_pop_am(ir_node const *const n)
909 {
910  return get_irn_op(n) == op_amd64_pop_am;
911 }
912 
916 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, x86_insn_size_t size, x86_addr_t addr);
917 
918 extern ir_op *op_amd64_punpckldq;
919 
920 static inline bool is_amd64_punpckldq(ir_node const *const n)
921 {
922  return get_irn_op(n) == op_amd64_punpckldq;
923 }
924 
928 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);
929 
930 extern ir_op *op_amd64_push_am;
931 
932 static inline bool is_amd64_push_am(ir_node const *const n)
933 {
934  return get_irn_op(n) == op_amd64_push_am;
935 }
936 
940 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, x86_insn_size_t size, x86_addr_t addr);
941 
942 extern ir_op *op_amd64_push_reg;
943 
944 static inline bool is_amd64_push_reg(ir_node const *const n)
945 {
946  return get_irn_op(n) == op_amd64_push_reg;
947 }
948 
952 ir_node *new_bd_amd64_push_reg(dbg_info *dbgi, ir_node *block, ir_node *stack, ir_node *mem, ir_node *val, x86_insn_size_t size);
953 
954 extern ir_op *op_amd64_ret;
955 
956 static inline bool is_amd64_ret(ir_node const *const n)
957 {
958  return get_irn_op(n) == op_amd64_ret;
959 }
960 
964 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);
965 
966 extern ir_op *op_amd64_sar;
967 
968 static inline bool is_amd64_sar(ir_node const *const n)
969 {
970  return get_irn_op(n) == op_amd64_sar;
971 }
972 
976 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);
977 
978 extern ir_op *op_amd64_sbb;
979 
980 static inline bool is_amd64_sbb(ir_node const *const n)
981 {
982  return get_irn_op(n) == op_amd64_sbb;
983 }
984 
988 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);
989 
990 extern ir_op *op_amd64_setcc;
991 
992 static inline bool is_amd64_setcc(ir_node const *const n)
993 {
994  return get_irn_op(n) == op_amd64_setcc;
995 }
996 
1000 ir_node *new_bd_amd64_setcc(dbg_info *dbgi, ir_node *block, ir_node *flags, x86_condition_code_t cc);
1001 
1002 extern ir_op *op_amd64_shl;
1003 
1004 static inline bool is_amd64_shl(ir_node const *const n)
1005 {
1006  return get_irn_op(n) == op_amd64_shl;
1007 }
1008 
1012 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);
1013 
1014 extern ir_op *op_amd64_shr;
1015 
1016 static inline bool is_amd64_shr(ir_node const *const n)
1017 {
1018  return get_irn_op(n) == op_amd64_shr;
1019 }
1020 
1024 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);
1025 
1026 extern ir_op *op_amd64_sub;
1027 
1028 static inline bool is_amd64_sub(ir_node const *const n)
1029 {
1030  return get_irn_op(n) == op_amd64_sub;
1031 }
1032 
1036 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);
1037 
1038 extern ir_op *op_amd64_sub_sp;
1039 
1040 static inline bool is_amd64_sub_sp(ir_node const *const n)
1041 {
1042  return get_irn_op(n) == op_amd64_sub_sp;
1043 }
1044 
1048 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);
1049 
1050 extern ir_op *op_amd64_subpd;
1051 
1052 static inline bool is_amd64_subpd(ir_node const *const n)
1053 {
1054  return get_irn_op(n) == op_amd64_subpd;
1055 }
1056 
1060 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);
1061 
1062 extern ir_op *op_amd64_subs;
1063 
1064 static inline bool is_amd64_subs(ir_node const *const n)
1065 {
1066  return get_irn_op(n) == op_amd64_subs;
1067 }
1068 
1072 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);
1073 
1074 extern ir_op *op_amd64_test;
1075 
1076 static inline bool is_amd64_test(ir_node const *const n)
1077 {
1078  return get_irn_op(n) == op_amd64_test;
1079 }
1080 
1084 ir_node *new_bd_amd64_test(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);
1085 
1086 extern ir_op *op_amd64_ucomis;
1087 
1088 static inline bool is_amd64_ucomis(ir_node const *const n)
1089 {
1090  return get_irn_op(n) == op_amd64_ucomis;
1091 }
1092 
1096 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);
1097 
1098 extern ir_op *op_amd64_xor;
1099 
1100 static inline bool is_amd64_xor(ir_node const *const n)
1101 {
1102  return get_irn_op(n) == op_amd64_xor;
1103 }
1104 
1108 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);
1109 
1110 extern ir_op *op_amd64_xor_0;
1111 
1112 static inline bool is_amd64_xor_0(ir_node const *const n)
1113 {
1114  return get_irn_op(n) == op_amd64_xor_0;
1115 }
1116 
1120 ir_node *new_bd_amd64_xor_0(dbg_info *dbgi, ir_node *block, x86_insn_size_t size);
1121 
1122 extern ir_op *op_amd64_xorp;
1123 
1124 static inline bool is_amd64_xorp(ir_node const *const n)
1125 {
1126  return get_irn_op(n) == op_amd64_xorp;
1127 }
1128 
1132 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);
1133 
1134 extern ir_op *op_amd64_xorp_0;
1135 
1136 static inline bool is_amd64_xorp_0(ir_node const *const n)
1137 {
1138  return get_irn_op(n) == op_amd64_xorp_0;
1139 }
1140 
1144 ir_node *new_bd_amd64_xorp_0(dbg_info *dbgi, ir_node *block, x86_insn_size_t size);
1145 
1146 
1147 typedef enum pn_amd64_add {
1148  pn_amd64_add_res = 0,
1149  pn_amd64_add_flags = 1,
1150  pn_amd64_add_M = 2,
1151 } pn_amd64_add;
1152 
1153 typedef enum pn_amd64_adds {
1154  pn_amd64_adds_res = 0,
1155  pn_amd64_adds_none = 1,
1156  pn_amd64_adds_M = 2,
1157 } pn_amd64_adds;
1158 
1159 typedef enum pn_amd64_and {
1160  pn_amd64_and_res = 0,
1161  pn_amd64_and_flags = 1,
1162  pn_amd64_and_M = 2,
1163 } pn_amd64_and;
1164 
1165 typedef enum pn_amd64_bsf {
1166  pn_amd64_bsf_res = 0,
1167  pn_amd64_bsf_flags = 1,
1168  pn_amd64_bsf_M = 2,
1169 } pn_amd64_bsf;
1170 
1171 typedef enum pn_amd64_bsr {
1172  pn_amd64_bsr_res = 0,
1173  pn_amd64_bsr_flags = 1,
1174  pn_amd64_bsr_M = 2,
1175 } pn_amd64_bsr;
1176 
1177 typedef enum pn_amd64_call {
1178  pn_amd64_call_M = 0,
1179  pn_amd64_call_stack = 1,
1180  pn_amd64_call_flags = 2,
1181  pn_amd64_call_first_result = 3,
1182 } pn_amd64_call;
1183 
1184 typedef enum n_amd64_cltd {
1185  n_amd64_cltd_val = 0,
1186 } n_amd64_cltd;
1187 
1188 typedef enum pn_amd64_cmp {
1189  pn_amd64_cmp_dummy = 0,
1190  pn_amd64_cmp_flags = 1,
1191  pn_amd64_cmp_M = 2,
1192 } pn_amd64_cmp;
1193 
1194 typedef enum pn_amd64_cmpxchg {
1195  pn_amd64_cmpxchg_res = 0,
1196  pn_amd64_cmpxchg_flags = 1,
1197  pn_amd64_cmpxchg_M = 2,
1198 } pn_amd64_cmpxchg;
1199 
1200 typedef enum pn_amd64_copyB {
1201  pn_amd64_copyB_dest = 0,
1202  pn_amd64_copyB_source = 1,
1203  pn_amd64_copyB_count = 2,
1204  pn_amd64_copyB_M = 3,
1205 } pn_amd64_copyB;
1206 
1207 typedef enum n_amd64_copyB {
1208  n_amd64_copyB_dest = 0,
1209  n_amd64_copyB_source = 1,
1210  n_amd64_copyB_count = 2,
1211  n_amd64_copyB_mem = 3,
1212 } n_amd64_copyB;
1213 
1214 typedef enum pn_amd64_copyB_i {
1215  pn_amd64_copyB_i_dest = 0,
1216  pn_amd64_copyB_i_source = 1,
1217  pn_amd64_copyB_i_M = 2,
1218 } pn_amd64_copyB_i;
1219 
1220 typedef enum n_amd64_copyB_i {
1221  n_amd64_copyB_i_dest = 0,
1222  n_amd64_copyB_i_source = 1,
1223  n_amd64_copyB_i_mem = 2,
1224 } n_amd64_copyB_i;
1225 
1226 typedef enum n_amd64_cqto {
1227  n_amd64_cqto_val = 0,
1228 } n_amd64_cqto;
1229 
1230 typedef enum pn_amd64_cvtsd2ss {
1231  pn_amd64_cvtsd2ss_res = 0,
1232  pn_amd64_cvtsd2ss_none = 1,
1233  pn_amd64_cvtsd2ss_M = 2,
1234 } pn_amd64_cvtsd2ss;
1235 
1236 typedef enum pn_amd64_cvtsi2sd {
1237  pn_amd64_cvtsi2sd_res = 0,
1238  pn_amd64_cvtsi2sd_none = 1,
1239  pn_amd64_cvtsi2sd_M = 2,
1240 } pn_amd64_cvtsi2sd;
1241 
1242 typedef enum pn_amd64_cvtsi2ss {
1243  pn_amd64_cvtsi2ss_res = 0,
1244  pn_amd64_cvtsi2ss_none = 1,
1245  pn_amd64_cvtsi2ss_M = 2,
1246 } pn_amd64_cvtsi2ss;
1247 
1248 typedef enum pn_amd64_cvtss2sd {
1249  pn_amd64_cvtss2sd_res = 0,
1250  pn_amd64_cvtss2sd_none = 1,
1251  pn_amd64_cvtss2sd_M = 2,
1252 } pn_amd64_cvtss2sd;
1253 
1254 typedef enum pn_amd64_cvttsd2si {
1255  pn_amd64_cvttsd2si_res = 0,
1256  pn_amd64_cvttsd2si_none = 1,
1257  pn_amd64_cvttsd2si_M = 2,
1258 } pn_amd64_cvttsd2si;
1259 
1260 typedef enum pn_amd64_cvttss2si {
1261  pn_amd64_cvttss2si_res = 0,
1262  pn_amd64_cvttss2si_none = 1,
1263  pn_amd64_cvttss2si_M = 2,
1264 } pn_amd64_cvttss2si;
1265 
1266 typedef enum pn_amd64_div {
1267  pn_amd64_div_res_div = 0,
1268  pn_amd64_div_flags = 1,
1269  pn_amd64_div_M = 2,
1270  pn_amd64_div_res_mod = 3,
1271 } pn_amd64_div;
1272 
1273 typedef enum pn_amd64_divs {
1274  pn_amd64_divs_res = 0,
1275  pn_amd64_divs_none = 1,
1276  pn_amd64_divs_M = 2,
1277 } pn_amd64_divs;
1278 
1279 typedef enum n_amd64_fadd {
1280  n_amd64_fadd_left = 0,
1281  n_amd64_fadd_right = 1,
1282 } n_amd64_fadd;
1283 
1284 typedef enum n_amd64_fchs {
1285  n_amd64_fchs_value = 0,
1286 } n_amd64_fchs;
1287 
1288 typedef enum n_amd64_fdiv {
1289  n_amd64_fdiv_left = 0,
1290  n_amd64_fdiv_right = 1,
1291 } n_amd64_fdiv;
1292 
1293 typedef enum n_amd64_fdup {
1294  n_amd64_fdup_val = 0,
1295 } n_amd64_fdup;
1296 
1297 typedef enum pn_amd64_fild {
1298  pn_amd64_fild_res = 0,
1299  pn_amd64_fild_unused = 1,
1300  pn_amd64_fild_M = 2,
1301 } pn_amd64_fild;
1302 
1303 typedef enum pn_amd64_fisttp {
1304  pn_amd64_fisttp_M = 0,
1305 } pn_amd64_fisttp;
1306 
1307 typedef enum pn_amd64_fld {
1308  pn_amd64_fld_res = 0,
1309  pn_amd64_fld_unused = 1,
1310  pn_amd64_fld_M = 2,
1311 } pn_amd64_fld;
1312 
1313 typedef enum pn_amd64_fld1 {
1314  pn_amd64_fld1_res = 0,
1315 } pn_amd64_fld1;
1316 
1317 typedef enum pn_amd64_fldz {
1318  pn_amd64_fldz_res = 0,
1319 } pn_amd64_fldz;
1320 
1321 typedef enum n_amd64_fmul {
1322  n_amd64_fmul_left = 0,
1323  n_amd64_fmul_right = 1,
1324 } n_amd64_fmul;
1325 
1326 typedef enum pn_amd64_fst {
1327  pn_amd64_fst_M = 0,
1328 } pn_amd64_fst;
1329 
1330 typedef enum pn_amd64_fstp {
1331  pn_amd64_fstp_M = 0,
1332 } pn_amd64_fstp;
1333 
1334 typedef enum n_amd64_fsub {
1335  n_amd64_fsub_left = 0,
1336  n_amd64_fsub_right = 1,
1337 } n_amd64_fsub;
1338 
1339 typedef enum pn_amd64_fucomi {
1340  pn_amd64_fucomi_flags = 0,
1341 } pn_amd64_fucomi;
1342 
1343 typedef enum n_amd64_fucomi {
1344  n_amd64_fucomi_left = 0,
1345  n_amd64_fucomi_right = 1,
1346 } n_amd64_fucomi;
1347 
1348 typedef enum pn_amd64_haddpd {
1349  pn_amd64_haddpd_res = 0,
1350  pn_amd64_haddpd_none = 1,
1351  pn_amd64_haddpd_M = 2,
1352 } pn_amd64_haddpd;
1353 
1354 typedef enum pn_amd64_idiv {
1355  pn_amd64_idiv_res_div = 0,
1356  pn_amd64_idiv_flags = 1,
1357  pn_amd64_idiv_M = 2,
1358  pn_amd64_idiv_res_mod = 3,
1359 } pn_amd64_idiv;
1360 
1361 typedef enum pn_amd64_ijmp {
1362  pn_amd64_ijmp_X = 0,
1363  pn_amd64_ijmp_unused = 1,
1364  pn_amd64_ijmp_M = 2,
1365 } pn_amd64_ijmp;
1366 
1367 typedef enum pn_amd64_imul {
1368  pn_amd64_imul_res = 0,
1369  pn_amd64_imul_flags = 1,
1370  pn_amd64_imul_M = 2,
1371 } pn_amd64_imul;
1372 
1373 typedef enum pn_amd64_imul_1op {
1374  pn_amd64_imul_1op_res_low = 0,
1375  pn_amd64_imul_1op_flags = 1,
1376  pn_amd64_imul_1op_M = 2,
1377  pn_amd64_imul_1op_res_high = 3,
1378 } pn_amd64_imul_1op;
1379 
1380 typedef enum pn_amd64_jcc {
1381  pn_amd64_jcc_false = 0,
1382  pn_amd64_jcc_true = 1,
1383 } pn_amd64_jcc;
1384 
1385 typedef enum n_amd64_jcc {
1386  n_amd64_jcc_flags = 0,
1387 } n_amd64_jcc;
1388 
1389 typedef enum pn_amd64_l_haddpd {
1390  pn_amd64_l_haddpd_res = 0,
1391 } pn_amd64_l_haddpd;
1392 
1393 typedef enum n_amd64_l_haddpd {
1394  n_amd64_l_haddpd_arg0 = 0,
1395  n_amd64_l_haddpd_arg1 = 1,
1396 } n_amd64_l_haddpd;
1397 
1398 typedef enum pn_amd64_l_punpckldq {
1399  pn_amd64_l_punpckldq_res = 0,
1400 } pn_amd64_l_punpckldq;
1401 
1402 typedef enum n_amd64_l_punpckldq {
1403  n_amd64_l_punpckldq_arg0 = 0,
1404  n_amd64_l_punpckldq_arg1 = 1,
1405 } n_amd64_l_punpckldq;
1406 
1407 typedef enum pn_amd64_l_subpd {
1408  pn_amd64_l_subpd_res = 0,
1409 } pn_amd64_l_subpd;
1410 
1411 typedef enum n_amd64_l_subpd {
1412  n_amd64_l_subpd_arg0 = 0,
1413  n_amd64_l_subpd_arg1 = 1,
1414 } n_amd64_l_subpd;
1415 
1416 typedef enum pn_amd64_lea {
1417  pn_amd64_lea_res = 0,
1418 } pn_amd64_lea;
1419 
1420 typedef enum pn_amd64_leave {
1421  pn_amd64_leave_frame = 0,
1422  pn_amd64_leave_M = 1,
1423  pn_amd64_leave_stack = 2,
1424 } pn_amd64_leave;
1425 
1426 typedef enum pn_amd64_mov_gp {
1427  pn_amd64_mov_gp_res = 0,
1428  pn_amd64_mov_gp_unused = 1,
1429  pn_amd64_mov_gp_M = 2,
1430 } pn_amd64_mov_gp;
1431 
1432 typedef enum pn_amd64_mov_imm {
1433  pn_amd64_mov_imm_res = 0,
1434 } pn_amd64_mov_imm;
1435 
1436 typedef enum pn_amd64_mov_store {
1437  pn_amd64_mov_store_M = 0,
1438 } pn_amd64_mov_store;
1439 
1440 typedef enum pn_amd64_movd {
1441  pn_amd64_movd_res = 0,
1442  pn_amd64_movd_none = 1,
1443  pn_amd64_movd_M = 2,
1444 } pn_amd64_movd;
1445 
1446 typedef enum pn_amd64_movd_gp_xmm {
1447  pn_amd64_movd_gp_xmm_res = 0,
1448 } pn_amd64_movd_gp_xmm;
1449 
1450 typedef enum n_amd64_movd_gp_xmm {
1451  n_amd64_movd_gp_xmm_operand = 0,
1452 } n_amd64_movd_gp_xmm;
1453 
1454 typedef enum pn_amd64_movd_xmm_gp {
1455  pn_amd64_movd_xmm_gp_res = 0,
1456 } pn_amd64_movd_xmm_gp;
1457 
1458 typedef enum n_amd64_movd_xmm_gp {
1459  n_amd64_movd_xmm_gp_operand = 0,
1460 } n_amd64_movd_xmm_gp;
1461 
1462 typedef enum pn_amd64_movdqa {
1463  pn_amd64_movdqa_res = 0,
1464  pn_amd64_movdqa_none = 1,
1465  pn_amd64_movdqa_M = 2,
1466 } pn_amd64_movdqa;
1467 
1468 typedef enum pn_amd64_movdqu {
1469  pn_amd64_movdqu_res = 0,
1470  pn_amd64_movdqu_none = 1,
1471  pn_amd64_movdqu_M = 2,
1472 } pn_amd64_movdqu;
1473 
1474 typedef enum pn_amd64_movdqu_store {
1475  pn_amd64_movdqu_store_M = 0,
1476 } pn_amd64_movdqu_store;
1477 
1478 typedef enum pn_amd64_movs {
1479  pn_amd64_movs_res = 0,
1480  pn_amd64_movs_unused = 1,
1481  pn_amd64_movs_M = 2,
1482 } pn_amd64_movs;
1483 
1484 typedef enum pn_amd64_movs_store_xmm {
1485  pn_amd64_movs_store_xmm_M = 0,
1486 } pn_amd64_movs_store_xmm;
1487 
1488 typedef enum pn_amd64_movs_xmm {
1489  pn_amd64_movs_xmm_res = 0,
1490  pn_amd64_movs_xmm_none = 1,
1491  pn_amd64_movs_xmm_M = 2,
1492 } pn_amd64_movs_xmm;
1493 
1494 typedef enum pn_amd64_mul {
1495  pn_amd64_mul_res_low = 0,
1496  pn_amd64_mul_flags = 1,
1497  pn_amd64_mul_M = 2,
1498  pn_amd64_mul_res_high = 3,
1499 } pn_amd64_mul;
1500 
1501 typedef enum pn_amd64_muls {
1502  pn_amd64_muls_res = 0,
1503  pn_amd64_muls_none = 1,
1504  pn_amd64_muls_M = 2,
1505 } pn_amd64_muls;
1506 
1507 typedef enum pn_amd64_neg {
1508  pn_amd64_neg_res = 0,
1509  pn_amd64_neg_flags = 1,
1510 } pn_amd64_neg;
1511 
1512 typedef enum n_amd64_neg {
1513  n_amd64_neg_val = 0,
1514 } n_amd64_neg;
1515 
1516 typedef enum pn_amd64_not {
1517  pn_amd64_not_res = 0,
1518  pn_amd64_not_flags = 1,
1519 } pn_amd64_not;
1520 
1521 typedef enum n_amd64_not {
1522  n_amd64_not_val = 0,
1523 } n_amd64_not;
1524 
1525 typedef enum pn_amd64_or {
1526  pn_amd64_or_res = 0,
1527  pn_amd64_or_flags = 1,
1528  pn_amd64_or_M = 2,
1529 } pn_amd64_or;
1530 
1531 typedef enum pn_amd64_pop_am {
1532  pn_amd64_pop_am_stack = 0,
1533  pn_amd64_pop_am_M = 1,
1534 } pn_amd64_pop_am;
1535 
1536 typedef enum pn_amd64_punpckldq {
1537  pn_amd64_punpckldq_res = 0,
1538  pn_amd64_punpckldq_none = 1,
1539  pn_amd64_punpckldq_M = 2,
1540 } pn_amd64_punpckldq;
1541 
1542 typedef enum pn_amd64_push_am {
1543  pn_amd64_push_am_stack = 0,
1544  pn_amd64_push_am_M = 1,
1545 } pn_amd64_push_am;
1546 
1547 typedef enum pn_amd64_push_reg {
1548  pn_amd64_push_reg_stack = 0,
1549  pn_amd64_push_reg_M = 1,
1550 } pn_amd64_push_reg;
1551 
1552 typedef enum n_amd64_push_reg {
1553  n_amd64_push_reg_stack = 0,
1554  n_amd64_push_reg_mem = 1,
1555  n_amd64_push_reg_val = 2,
1556 } n_amd64_push_reg;
1557 
1558 typedef enum n_amd64_ret {
1559  n_amd64_ret_mem = 0,
1560  n_amd64_ret_stack = 1,
1561  n_amd64_ret_first_result = 2,
1562 } n_amd64_ret;
1563 
1564 typedef enum pn_amd64_sar {
1565  pn_amd64_sar_res = 0,
1566  pn_amd64_sar_flags = 1,
1567 } pn_amd64_sar;
1568 
1569 typedef enum pn_amd64_sbb {
1570  pn_amd64_sbb_res = 0,
1571  pn_amd64_sbb_flags = 1,
1572  pn_amd64_sbb_M = 2,
1573 } pn_amd64_sbb;
1574 
1575 typedef enum pn_amd64_setcc {
1576  pn_amd64_setcc_res = 0,
1577 } pn_amd64_setcc;
1578 
1579 typedef enum n_amd64_setcc {
1580  n_amd64_setcc_flags = 0,
1581 } n_amd64_setcc;
1582 
1583 typedef enum pn_amd64_shl {
1584  pn_amd64_shl_res = 0,
1585  pn_amd64_shl_flags = 1,
1586 } pn_amd64_shl;
1587 
1588 typedef enum pn_amd64_shr {
1589  pn_amd64_shr_res = 0,
1590  pn_amd64_shr_flags = 1,
1591 } pn_amd64_shr;
1592 
1593 typedef enum pn_amd64_sub {
1594  pn_amd64_sub_res = 0,
1595  pn_amd64_sub_flags = 1,
1596  pn_amd64_sub_M = 2,
1597 } pn_amd64_sub;
1598 
1599 typedef enum pn_amd64_sub_sp {
1600  pn_amd64_sub_sp_stack = 0,
1601  pn_amd64_sub_sp_addr = 1,
1602  pn_amd64_sub_sp_M = 2,
1603 } pn_amd64_sub_sp;
1604 
1605 typedef enum n_amd64_sub_sp {
1606  n_amd64_sub_sp_stack = 0,
1607 } n_amd64_sub_sp;
1608 
1609 typedef enum pn_amd64_subpd {
1610  pn_amd64_subpd_res = 0,
1611  pn_amd64_subpd_none = 1,
1612  pn_amd64_subpd_M = 2,
1613 } pn_amd64_subpd;
1614 
1615 typedef enum pn_amd64_subs {
1616  pn_amd64_subs_res = 0,
1617  pn_amd64_subs_none = 1,
1618  pn_amd64_subs_M = 2,
1619 } pn_amd64_subs;
1620 
1621 typedef enum pn_amd64_test {
1622  pn_amd64_test_dummy = 0,
1623  pn_amd64_test_flags = 1,
1624  pn_amd64_test_M = 2,
1625 } pn_amd64_test;
1626 
1627 typedef enum pn_amd64_ucomis {
1628  pn_amd64_ucomis_dummy = 0,
1629  pn_amd64_ucomis_flags = 1,
1630  pn_amd64_ucomis_M = 2,
1631 } pn_amd64_ucomis;
1632 
1633 typedef enum pn_amd64_xor {
1634  pn_amd64_xor_res = 0,
1635  pn_amd64_xor_flags = 1,
1636  pn_amd64_xor_M = 2,
1637 } pn_amd64_xor;
1638 
1639 typedef enum pn_amd64_xor_0 {
1640  pn_amd64_xor_0_res = 0,
1641  pn_amd64_xor_0_flags = 1,
1642 } pn_amd64_xor_0;
1643 
1644 typedef enum pn_amd64_xorp {
1645  pn_amd64_xorp_res = 0,
1646  pn_amd64_xorp_none = 1,
1647  pn_amd64_xorp_M = 2,
1648 } pn_amd64_xorp;
1649 
1650 typedef enum pn_amd64_xorp_0 {
1651  pn_amd64_xorp_0_res = 0,
1652 } pn_amd64_xorp_0;
1653 
1654 
1655 #endif
struct dbg_info dbg_info
Source Reference.
Definition: firm_types.h:40
struct ir_node ir_node
Procedure Graph Node.
Definition: firm_types.h:53
struct ir_switch_table ir_switch_table
A switch table mapping integer numbers to proj-numbers of a Switch-node.
Definition: firm_types.h:105
struct ir_entity ir_entity
Entity.
Definition: firm_types.h:83
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