/**
 * @file
 * @brief Function prototypes for the new opcode functions.
 * @note  DO NOT EDIT THIS FILE, your changes will be lost.
 *        Edit ./ir/be/amd64/amd64_spec.pl instead.
 *        created by: ./ir/be/scripts/generate_new_opcodes.pl ./ir/be/amd64/amd64_spec.pl build/gen/ir/be/amd64
 * @date  Tue Jul  7 23:51:18 2026
 */
#ifndef FIRM_BE_AMD64_GEN_AMD64_NEW_NODES_H
#define FIRM_BE_AMD64_GEN_AMD64_NEW_NODES_H

#include "be_types.h"
#include "irnode_t.h"
#include "amd64_nodes_attr.h"

typedef enum amd64_opcodes {
	iro_amd64_add,
	iro_amd64_adds,
	iro_amd64_and,
	iro_amd64_bsf,
	iro_amd64_bsr,
	iro_amd64_call,
	iro_amd64_cltd,
	iro_amd64_cmp,
	iro_amd64_cmpxchg,
	iro_amd64_copyB,
	iro_amd64_copyB_i,
	iro_amd64_cqto,
	iro_amd64_cvtsd2ss,
	iro_amd64_cvtsi2sd,
	iro_amd64_cvtsi2ss,
	iro_amd64_cvtss2sd,
	iro_amd64_cvttsd2si,
	iro_amd64_cvttss2si,
	iro_amd64_div,
	iro_amd64_divs,
	iro_amd64_fadd,
	iro_amd64_fchs,
	iro_amd64_fdiv,
	iro_amd64_fdup,
	iro_amd64_fild,
	iro_amd64_fisttp,
	iro_amd64_fld,
	iro_amd64_fld1,
	iro_amd64_fldz,
	iro_amd64_fmul,
	iro_amd64_fpop,
	iro_amd64_fst,
	iro_amd64_fstp,
	iro_amd64_fsub,
	iro_amd64_fucomi,
	iro_amd64_fxch,
	iro_amd64_haddpd,
	iro_amd64_idiv,
	iro_amd64_ijmp,
	iro_amd64_imul,
	iro_amd64_imul_1op,
	iro_amd64_jcc,
	iro_amd64_jmp,
	iro_amd64_jmp_switch,
	iro_amd64_l_haddpd,
	iro_amd64_l_punpckldq,
	iro_amd64_l_subpd,
	iro_amd64_lea,
	iro_amd64_leave,
	iro_amd64_mov_gp,
	iro_amd64_mov_imm,
	iro_amd64_mov_store,
	iro_amd64_movd,
	iro_amd64_movd_gp_xmm,
	iro_amd64_movd_xmm_gp,
	iro_amd64_movdqa,
	iro_amd64_movdqu,
	iro_amd64_movdqu_store,
	iro_amd64_movs,
	iro_amd64_movs_store_xmm,
	iro_amd64_movs_xmm,
	iro_amd64_mul,
	iro_amd64_muls,
	iro_amd64_neg,
	iro_amd64_not,
	iro_amd64_or,
	iro_amd64_pop_am,
	iro_amd64_punpckldq,
	iro_amd64_push_am,
	iro_amd64_push_reg,
	iro_amd64_pxor_0,
	iro_amd64_ret,
	iro_amd64_sar,
	iro_amd64_sbb,
	iro_amd64_setcc,
	iro_amd64_shl,
	iro_amd64_shr,
	iro_amd64_sub,
	iro_amd64_sub_sp,
	iro_amd64_subpd,
	iro_amd64_subs,
	iro_amd64_test,
	iro_amd64_ucomis,
	iro_amd64_vfmadd132s,
	iro_amd64_vfmadd213s,
	iro_amd64_vfmadd231s,
	iro_amd64_xor,
	iro_amd64_xor_0,
	iro_amd64_xorp,
	iro_amd64_xorp_0,
	iro_amd64_last
} amd64_opcodes;


int is_amd64_irn(const ir_node *node);
int is_amd64_op(const ir_op *op);

int get_amd64_irn_opcode(const ir_node *node);
void amd64_create_opcodes(void);
void amd64_free_opcodes(void);

extern ir_op *op_amd64_add;

static inline bool is_amd64_add(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_add;
}

/**
 * construct add node
 */
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);

extern ir_op *op_amd64_adds;

static inline bool is_amd64_adds(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_adds;
}

/**
 * construct adds node
 */
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);

extern ir_op *op_amd64_and;

static inline bool is_amd64_and(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_and;
}

/**
 * construct and node
 */
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);

extern ir_op *op_amd64_bsf;

static inline bool is_amd64_bsf(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_bsf;
}

/**
 * construct bsf node
 */
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);

extern ir_op *op_amd64_bsr;

static inline bool is_amd64_bsr(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_bsr;
}

/**
 * construct bsr node
 */
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);

extern ir_op *op_amd64_call;

static inline bool is_amd64_call(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_call;
}

/**
 * construct call node
 */
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);

extern ir_op *op_amd64_cltd;

static inline bool is_amd64_cltd(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_cltd;
}

/**
 * construct cltd node
 */
ir_node *new_bd_amd64_cltd(dbg_info *dbgi, ir_node *block, ir_node *val);

extern ir_op *op_amd64_cmp;

static inline bool is_amd64_cmp(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_cmp;
}

/**
 * construct cmp node
 */
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);

extern ir_op *op_amd64_cmpxchg;

static inline bool is_amd64_cmpxchg(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_cmpxchg;
}

/**
 * construct cmpxchg node
 */
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);

extern ir_op *op_amd64_copyB;

static inline bool is_amd64_copyB(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_copyB;
}

/**
 * construct copyB node
 */
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);

extern ir_op *op_amd64_copyB_i;

static inline bool is_amd64_copyB_i(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_copyB_i;
}

/**
 * construct copyB_i node
 */
ir_node *new_bd_amd64_copyB_i(dbg_info *dbgi, ir_node *block, ir_node *dest, ir_node *source, ir_node *mem, unsigned size);

extern ir_op *op_amd64_cqto;

static inline bool is_amd64_cqto(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_cqto;
}

/**
 * construct cqto node
 */
ir_node *new_bd_amd64_cqto(dbg_info *dbgi, ir_node *block, ir_node *val);

extern ir_op *op_amd64_cvtsd2ss;

static inline bool is_amd64_cvtsd2ss(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_cvtsd2ss;
}

/**
 * construct cvtsd2ss node
 */
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);

extern ir_op *op_amd64_cvtsi2sd;

static inline bool is_amd64_cvtsi2sd(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_cvtsi2sd;
}

/**
 * construct cvtsi2sd node
 */
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);

extern ir_op *op_amd64_cvtsi2ss;

static inline bool is_amd64_cvtsi2ss(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_cvtsi2ss;
}

/**
 * construct cvtsi2ss node
 */
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);

extern ir_op *op_amd64_cvtss2sd;

static inline bool is_amd64_cvtss2sd(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_cvtss2sd;
}

/**
 * construct cvtss2sd node
 */
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);

extern ir_op *op_amd64_cvttsd2si;

static inline bool is_amd64_cvttsd2si(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_cvttsd2si;
}

/**
 * construct cvttsd2si node
 */
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);

extern ir_op *op_amd64_cvttss2si;

static inline bool is_amd64_cvttss2si(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_cvttss2si;
}

/**
 * construct cvttss2si node
 */
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);

extern ir_op *op_amd64_div;

static inline bool is_amd64_div(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_div;
}

/**
 * construct div node
 */
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);

extern ir_op *op_amd64_divs;

static inline bool is_amd64_divs(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_divs;
}

/**
 * construct divs node
 */
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);

extern ir_op *op_amd64_fadd;

static inline bool is_amd64_fadd(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_fadd;
}

/**
 * construct fadd node
 */
ir_node *new_bd_amd64_fadd(dbg_info *dbgi, ir_node *block, ir_node *left, ir_node *right);

extern ir_op *op_amd64_fchs;

static inline bool is_amd64_fchs(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_fchs;
}

/**
 * construct fchs node
 */
ir_node *new_bd_amd64_fchs(dbg_info *dbgi, ir_node *block, ir_node *value);

extern ir_op *op_amd64_fdiv;

static inline bool is_amd64_fdiv(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_fdiv;
}

/**
 * construct fdiv node
 */
ir_node *new_bd_amd64_fdiv(dbg_info *dbgi, ir_node *block, ir_node *left, ir_node *right);

extern ir_op *op_amd64_fdup;

static inline bool is_amd64_fdup(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_fdup;
}

/**
 * construct fdup node
 */
ir_node *new_bd_amd64_fdup(dbg_info *dbgi, ir_node *block, ir_node *val, const arch_register_t *reg);

extern ir_op *op_amd64_fild;

static inline bool is_amd64_fild(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_fild;
}

/**
 * construct fild node
 */
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);

extern ir_op *op_amd64_fisttp;

static inline bool is_amd64_fisttp(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_fisttp;
}

/**
 * construct fisttp node
 */
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);

extern ir_op *op_amd64_fld;

static inline bool is_amd64_fld(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_fld;
}

/**
 * construct fld node
 */
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);

extern ir_op *op_amd64_fld1;

static inline bool is_amd64_fld1(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_fld1;
}

/**
 * construct fld1 node
 */
ir_node *new_bd_amd64_fld1(dbg_info *dbgi, ir_node *block);

extern ir_op *op_amd64_fldz;

static inline bool is_amd64_fldz(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_fldz;
}

/**
 * construct fldz node
 */
ir_node *new_bd_amd64_fldz(dbg_info *dbgi, ir_node *block);

extern ir_op *op_amd64_fmul;

static inline bool is_amd64_fmul(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_fmul;
}

/**
 * construct fmul node
 */
ir_node *new_bd_amd64_fmul(dbg_info *dbgi, ir_node *block, ir_node *left, ir_node *right);

extern ir_op *op_amd64_fpop;

static inline bool is_amd64_fpop(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_fpop;
}

/**
 * construct fpop node
 */
ir_node *new_bd_amd64_fpop(dbg_info *dbgi, ir_node *block, const arch_register_t *reg);

extern ir_op *op_amd64_fst;

static inline bool is_amd64_fst(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_fst;
}

/**
 * construct fst node
 */
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);

extern ir_op *op_amd64_fstp;

static inline bool is_amd64_fstp(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_fstp;
}

/**
 * construct fstp node
 */
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);

extern ir_op *op_amd64_fsub;

static inline bool is_amd64_fsub(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_fsub;
}

/**
 * construct fsub node
 */
ir_node *new_bd_amd64_fsub(dbg_info *dbgi, ir_node *block, ir_node *left, ir_node *right);

extern ir_op *op_amd64_fucomi;

static inline bool is_amd64_fucomi(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_fucomi;
}

/**
 * construct fucomi node
 */
ir_node *new_bd_amd64_fucomi(dbg_info *dbgi, ir_node *block, ir_node *left, ir_node *right);

extern ir_op *op_amd64_fxch;

static inline bool is_amd64_fxch(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_fxch;
}

/**
 * construct fxch node
 */
ir_node *new_bd_amd64_fxch(dbg_info *dbgi, ir_node *block, const arch_register_t *reg);

extern ir_op *op_amd64_haddpd;

static inline bool is_amd64_haddpd(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_haddpd;
}

/**
 * construct haddpd node
 */
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);

extern ir_op *op_amd64_idiv;

static inline bool is_amd64_idiv(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_idiv;
}

/**
 * construct idiv node
 */
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);

extern ir_op *op_amd64_ijmp;

static inline bool is_amd64_ijmp(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_ijmp;
}

/**
 * construct ijmp node
 */
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);

extern ir_op *op_amd64_imul;

static inline bool is_amd64_imul(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_imul;
}

/**
 * construct imul node
 */
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);

extern ir_op *op_amd64_imul_1op;

static inline bool is_amd64_imul_1op(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_imul_1op;
}

/**
 * construct imul_1op node
 */
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);

extern ir_op *op_amd64_jcc;

static inline bool is_amd64_jcc(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_jcc;
}

/**
 * construct jcc node
 */
ir_node *new_bd_amd64_jcc(dbg_info *dbgi, ir_node *block, ir_node *flags, x86_condition_code_t cc);

extern ir_op *op_amd64_jmp;

static inline bool is_amd64_jmp(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_jmp;
}

/**
 * construct jmp node
 */
ir_node *new_bd_amd64_jmp(dbg_info *dbgi, ir_node *block);

extern ir_op *op_amd64_jmp_switch;

static inline bool is_amd64_jmp_switch(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_jmp_switch;
}

/**
 * construct jmp_switch node
 */
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);

extern ir_op *op_amd64_l_haddpd;

static inline bool is_amd64_l_haddpd(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_l_haddpd;
}

/**
 * construct l_haddpd node
 */
ir_node *new_bd_amd64_l_haddpd(dbg_info *dbgi, ir_node *block, ir_node *arg0, ir_node *arg1);

extern ir_op *op_amd64_l_punpckldq;

static inline bool is_amd64_l_punpckldq(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_l_punpckldq;
}

/**
 * construct l_punpckldq node
 */
ir_node *new_bd_amd64_l_punpckldq(dbg_info *dbgi, ir_node *block, ir_node *arg0, ir_node *arg1);

extern ir_op *op_amd64_l_subpd;

static inline bool is_amd64_l_subpd(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_l_subpd;
}

/**
 * construct l_subpd node
 */
ir_node *new_bd_amd64_l_subpd(dbg_info *dbgi, ir_node *block, ir_node *arg0, ir_node *arg1);

extern ir_op *op_amd64_lea;

static inline bool is_amd64_lea(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_lea;
}

/**
 * construct lea node
 */
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);

extern ir_op *op_amd64_leave;

static inline bool is_amd64_leave(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_leave;
}

/**
 * construct leave node
 */
ir_node *new_bd_amd64_leave(dbg_info *dbgi, ir_node *block, ir_node *op0, ir_node *op1);

extern ir_op *op_amd64_mov_gp;

static inline bool is_amd64_mov_gp(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_mov_gp;
}

/**
 * construct mov_gp node
 */
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);

extern ir_op *op_amd64_mov_imm;

static inline bool is_amd64_mov_imm(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_mov_imm;
}

/**
 * construct mov_imm node
 */
ir_node *new_bd_amd64_mov_imm(dbg_info *dbgi, ir_node *block, x86_insn_size_t size, const amd64_imm64_t *imm);

extern ir_op *op_amd64_mov_store;

static inline bool is_amd64_mov_store(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_mov_store;
}

/**
 * construct mov_store node
 */
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);

extern ir_op *op_amd64_movd;

static inline bool is_amd64_movd(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_movd;
}

/**
 * construct movd node
 */
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);

extern ir_op *op_amd64_movd_gp_xmm;

static inline bool is_amd64_movd_gp_xmm(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_movd_gp_xmm;
}

/**
 * construct movd_gp_xmm node
 */
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);

extern ir_op *op_amd64_movd_xmm_gp;

static inline bool is_amd64_movd_xmm_gp(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_movd_xmm_gp;
}

/**
 * construct movd_xmm_gp node
 */
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);

extern ir_op *op_amd64_movdqa;

static inline bool is_amd64_movdqa(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_movdqa;
}

/**
 * construct movdqa node
 */
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);

extern ir_op *op_amd64_movdqu;

static inline bool is_amd64_movdqu(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_movdqu;
}

/**
 * construct movdqu node
 */
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);

extern ir_op *op_amd64_movdqu_store;

static inline bool is_amd64_movdqu_store(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_movdqu_store;
}

/**
 * construct movdqu_store node
 */
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);

extern ir_op *op_amd64_movs;

static inline bool is_amd64_movs(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_movs;
}

/**
 * construct movs node
 */
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);

extern ir_op *op_amd64_movs_store_xmm;

static inline bool is_amd64_movs_store_xmm(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_movs_store_xmm;
}

/**
 * construct movs_store_xmm node
 */
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);

extern ir_op *op_amd64_movs_xmm;

static inline bool is_amd64_movs_xmm(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_movs_xmm;
}

/**
 * construct movs_xmm node
 */
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);

extern ir_op *op_amd64_mul;

static inline bool is_amd64_mul(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_mul;
}

/**
 * construct mul node
 */
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);

extern ir_op *op_amd64_muls;

static inline bool is_amd64_muls(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_muls;
}

/**
 * construct muls node
 */
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);

extern ir_op *op_amd64_neg;

static inline bool is_amd64_neg(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_neg;
}

/**
 * construct neg node
 */
ir_node *new_bd_amd64_neg(dbg_info *dbgi, ir_node *block, ir_node *val, x86_insn_size_t size);

extern ir_op *op_amd64_not;

static inline bool is_amd64_not(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_not;
}

/**
 * construct not node
 */
ir_node *new_bd_amd64_not(dbg_info *dbgi, ir_node *block, ir_node *val, x86_insn_size_t size);

extern ir_op *op_amd64_or;

static inline bool is_amd64_or(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_or;
}

/**
 * construct or node
 */
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);

extern ir_op *op_amd64_pop_am;

static inline bool is_amd64_pop_am(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_pop_am;
}

/**
 * construct pop_am node
 */
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);

extern ir_op *op_amd64_punpckldq;

static inline bool is_amd64_punpckldq(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_punpckldq;
}

/**
 * construct punpckldq node
 */
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);

extern ir_op *op_amd64_push_am;

static inline bool is_amd64_push_am(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_push_am;
}

/**
 * construct push_am node
 */
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);

extern ir_op *op_amd64_push_reg;

static inline bool is_amd64_push_reg(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_push_reg;
}

/**
 * construct push_reg node
 */
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);

extern ir_op *op_amd64_pxor_0;

static inline bool is_amd64_pxor_0(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_pxor_0;
}

/**
 * construct pxor_0 node
 */
ir_node *new_bd_amd64_pxor_0(dbg_info *dbgi, ir_node *block, x86_insn_size_t size);

extern ir_op *op_amd64_ret;

static inline bool is_amd64_ret(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_ret;
}

/**
 * construct ret node
 */
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);

extern ir_op *op_amd64_sar;

static inline bool is_amd64_sar(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_sar;
}

/**
 * construct sar node
 */
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);

extern ir_op *op_amd64_sbb;

static inline bool is_amd64_sbb(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_sbb;
}

/**
 * construct sbb node
 */
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);

extern ir_op *op_amd64_setcc;

static inline bool is_amd64_setcc(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_setcc;
}

/**
 * construct setcc node
 */
ir_node *new_bd_amd64_setcc(dbg_info *dbgi, ir_node *block, ir_node *flags, x86_condition_code_t cc);

extern ir_op *op_amd64_shl;

static inline bool is_amd64_shl(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_shl;
}

/**
 * construct shl node
 */
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);

extern ir_op *op_amd64_shr;

static inline bool is_amd64_shr(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_shr;
}

/**
 * construct shr node
 */
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);

extern ir_op *op_amd64_sub;

static inline bool is_amd64_sub(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_sub;
}

/**
 * construct sub node
 */
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);

extern ir_op *op_amd64_sub_sp;

static inline bool is_amd64_sub_sp(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_sub_sp;
}

/**
 * construct sub_sp node
 */
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);

extern ir_op *op_amd64_subpd;

static inline bool is_amd64_subpd(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_subpd;
}

/**
 * construct subpd node
 */
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);

extern ir_op *op_amd64_subs;

static inline bool is_amd64_subs(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_subs;
}

/**
 * construct subs node
 */
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);

extern ir_op *op_amd64_test;

static inline bool is_amd64_test(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_test;
}

/**
 * construct test node
 */
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);

extern ir_op *op_amd64_ucomis;

static inline bool is_amd64_ucomis(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_ucomis;
}

/**
 * construct ucomis node
 */
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);

extern ir_op *op_amd64_vfmadd132s;

static inline bool is_amd64_vfmadd132s(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_vfmadd132s;
}

/**
 * construct vfmadd132s node
 */
ir_node *new_bd_amd64_vfmadd132s(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);

extern ir_op *op_amd64_vfmadd213s;

static inline bool is_amd64_vfmadd213s(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_vfmadd213s;
}

/**
 * construct vfmadd213s node
 */
ir_node *new_bd_amd64_vfmadd213s(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);

extern ir_op *op_amd64_vfmadd231s;

static inline bool is_amd64_vfmadd231s(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_vfmadd231s;
}

/**
 * construct vfmadd231s node
 */
ir_node *new_bd_amd64_vfmadd231s(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);

extern ir_op *op_amd64_xor;

static inline bool is_amd64_xor(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_xor;
}

/**
 * construct xor node
 */
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);

extern ir_op *op_amd64_xor_0;

static inline bool is_amd64_xor_0(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_xor_0;
}

/**
 * construct xor_0 node
 */
ir_node *new_bd_amd64_xor_0(dbg_info *dbgi, ir_node *block, x86_insn_size_t size);

extern ir_op *op_amd64_xorp;

static inline bool is_amd64_xorp(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_xorp;
}

/**
 * construct xorp node
 */
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);

extern ir_op *op_amd64_xorp_0;

static inline bool is_amd64_xorp_0(ir_node const *const n)
{
	return get_irn_op(n) == op_amd64_xorp_0;
}

/**
 * construct xorp_0 node
 */
ir_node *new_bd_amd64_xorp_0(dbg_info *dbgi, ir_node *block, x86_insn_size_t size);


typedef enum pn_amd64_add {
	pn_amd64_add_res = 0,
	pn_amd64_add_flags = 1,
	pn_amd64_add_M = 2,
} pn_amd64_add;

typedef enum pn_amd64_adds {
	pn_amd64_adds_res = 0,
	pn_amd64_adds_none = 1,
	pn_amd64_adds_M = 2,
} pn_amd64_adds;

typedef enum pn_amd64_and {
	pn_amd64_and_res = 0,
	pn_amd64_and_flags = 1,
	pn_amd64_and_M = 2,
} pn_amd64_and;

typedef enum pn_amd64_bsf {
	pn_amd64_bsf_res = 0,
	pn_amd64_bsf_flags = 1,
	pn_amd64_bsf_M = 2,
} pn_amd64_bsf;

typedef enum pn_amd64_bsr {
	pn_amd64_bsr_res = 0,
	pn_amd64_bsr_flags = 1,
	pn_amd64_bsr_M = 2,
} pn_amd64_bsr;

typedef enum pn_amd64_call {
	pn_amd64_call_M = 0,
	pn_amd64_call_stack = 1,
	pn_amd64_call_flags = 2,
	pn_amd64_call_first_result = 3,
} pn_amd64_call;

typedef enum n_amd64_cltd {
	n_amd64_cltd_val = 0,
} n_amd64_cltd;

typedef enum pn_amd64_cmp {
	pn_amd64_cmp_dummy = 0,
	pn_amd64_cmp_flags = 1,
	pn_amd64_cmp_M = 2,
} pn_amd64_cmp;

typedef enum pn_amd64_cmpxchg {
	pn_amd64_cmpxchg_res = 0,
	pn_amd64_cmpxchg_flags = 1,
	pn_amd64_cmpxchg_M = 2,
} pn_amd64_cmpxchg;

typedef enum pn_amd64_copyB {
	pn_amd64_copyB_dest = 0,
	pn_amd64_copyB_source = 1,
	pn_amd64_copyB_count = 2,
	pn_amd64_copyB_M = 3,
} pn_amd64_copyB;

typedef enum n_amd64_copyB {
	n_amd64_copyB_dest = 0,
	n_amd64_copyB_source = 1,
	n_amd64_copyB_count = 2,
	n_amd64_copyB_mem = 3,
} n_amd64_copyB;

typedef enum pn_amd64_copyB_i {
	pn_amd64_copyB_i_dest = 0,
	pn_amd64_copyB_i_source = 1,
	pn_amd64_copyB_i_M = 2,
} pn_amd64_copyB_i;

typedef enum n_amd64_copyB_i {
	n_amd64_copyB_i_dest = 0,
	n_amd64_copyB_i_source = 1,
	n_amd64_copyB_i_mem = 2,
} n_amd64_copyB_i;

typedef enum n_amd64_cqto {
	n_amd64_cqto_val = 0,
} n_amd64_cqto;

typedef enum pn_amd64_cvtsd2ss {
	pn_amd64_cvtsd2ss_res = 0,
	pn_amd64_cvtsd2ss_none = 1,
	pn_amd64_cvtsd2ss_M = 2,
} pn_amd64_cvtsd2ss;

typedef enum pn_amd64_cvtsi2sd {
	pn_amd64_cvtsi2sd_res = 0,
	pn_amd64_cvtsi2sd_none = 1,
	pn_amd64_cvtsi2sd_M = 2,
} pn_amd64_cvtsi2sd;

typedef enum pn_amd64_cvtsi2ss {
	pn_amd64_cvtsi2ss_res = 0,
	pn_amd64_cvtsi2ss_none = 1,
	pn_amd64_cvtsi2ss_M = 2,
} pn_amd64_cvtsi2ss;

typedef enum pn_amd64_cvtss2sd {
	pn_amd64_cvtss2sd_res = 0,
	pn_amd64_cvtss2sd_none = 1,
	pn_amd64_cvtss2sd_M = 2,
} pn_amd64_cvtss2sd;

typedef enum pn_amd64_cvttsd2si {
	pn_amd64_cvttsd2si_res = 0,
	pn_amd64_cvttsd2si_none = 1,
	pn_amd64_cvttsd2si_M = 2,
} pn_amd64_cvttsd2si;

typedef enum pn_amd64_cvttss2si {
	pn_amd64_cvttss2si_res = 0,
	pn_amd64_cvttss2si_none = 1,
	pn_amd64_cvttss2si_M = 2,
} pn_amd64_cvttss2si;

typedef enum pn_amd64_div {
	pn_amd64_div_res_div = 0,
	pn_amd64_div_flags = 1,
	pn_amd64_div_M = 2,
	pn_amd64_div_res_mod = 3,
} pn_amd64_div;

typedef enum pn_amd64_divs {
	pn_amd64_divs_res = 0,
	pn_amd64_divs_none = 1,
	pn_amd64_divs_M = 2,
} pn_amd64_divs;

typedef enum n_amd64_fadd {
	n_amd64_fadd_left = 0,
	n_amd64_fadd_right = 1,
} n_amd64_fadd;

typedef enum n_amd64_fchs {
	n_amd64_fchs_value = 0,
} n_amd64_fchs;

typedef enum n_amd64_fdiv {
	n_amd64_fdiv_left = 0,
	n_amd64_fdiv_right = 1,
} n_amd64_fdiv;

typedef enum n_amd64_fdup {
	n_amd64_fdup_val = 0,
} n_amd64_fdup;

typedef enum pn_amd64_fild {
	pn_amd64_fild_res = 0,
	pn_amd64_fild_unused = 1,
	pn_amd64_fild_M = 2,
} pn_amd64_fild;

typedef enum pn_amd64_fisttp {
	pn_amd64_fisttp_M = 0,
} pn_amd64_fisttp;

typedef enum pn_amd64_fld {
	pn_amd64_fld_res = 0,
	pn_amd64_fld_unused = 1,
	pn_amd64_fld_M = 2,
} pn_amd64_fld;

typedef enum pn_amd64_fld1 {
	pn_amd64_fld1_res = 0,
} pn_amd64_fld1;

typedef enum pn_amd64_fldz {
	pn_amd64_fldz_res = 0,
} pn_amd64_fldz;

typedef enum n_amd64_fmul {
	n_amd64_fmul_left = 0,
	n_amd64_fmul_right = 1,
} n_amd64_fmul;

typedef enum pn_amd64_fst {
	pn_amd64_fst_M = 0,
} pn_amd64_fst;

typedef enum pn_amd64_fstp {
	pn_amd64_fstp_M = 0,
} pn_amd64_fstp;

typedef enum n_amd64_fsub {
	n_amd64_fsub_left = 0,
	n_amd64_fsub_right = 1,
} n_amd64_fsub;

typedef enum pn_amd64_fucomi {
	pn_amd64_fucomi_flags = 0,
} pn_amd64_fucomi;

typedef enum n_amd64_fucomi {
	n_amd64_fucomi_left = 0,
	n_amd64_fucomi_right = 1,
} n_amd64_fucomi;

typedef enum pn_amd64_haddpd {
	pn_amd64_haddpd_res = 0,
	pn_amd64_haddpd_none = 1,
	pn_amd64_haddpd_M = 2,
} pn_amd64_haddpd;

typedef enum pn_amd64_idiv {
	pn_amd64_idiv_res_div = 0,
	pn_amd64_idiv_flags = 1,
	pn_amd64_idiv_M = 2,
	pn_amd64_idiv_res_mod = 3,
} pn_amd64_idiv;

typedef enum pn_amd64_ijmp {
	pn_amd64_ijmp_X = 0,
	pn_amd64_ijmp_unused = 1,
	pn_amd64_ijmp_M = 2,
} pn_amd64_ijmp;

typedef enum pn_amd64_imul {
	pn_amd64_imul_res = 0,
	pn_amd64_imul_flags = 1,
	pn_amd64_imul_M = 2,
} pn_amd64_imul;

typedef enum pn_amd64_imul_1op {
	pn_amd64_imul_1op_res_low = 0,
	pn_amd64_imul_1op_flags = 1,
	pn_amd64_imul_1op_M = 2,
	pn_amd64_imul_1op_res_high = 3,
} pn_amd64_imul_1op;

typedef enum pn_amd64_jcc {
	pn_amd64_jcc_false = 0,
	pn_amd64_jcc_true = 1,
} pn_amd64_jcc;

typedef enum n_amd64_jcc {
	n_amd64_jcc_flags = 0,
} n_amd64_jcc;

typedef enum pn_amd64_l_haddpd {
	pn_amd64_l_haddpd_res = 0,
} pn_amd64_l_haddpd;

typedef enum n_amd64_l_haddpd {
	n_amd64_l_haddpd_arg0 = 0,
	n_amd64_l_haddpd_arg1 = 1,
} n_amd64_l_haddpd;

typedef enum pn_amd64_l_punpckldq {
	pn_amd64_l_punpckldq_res = 0,
} pn_amd64_l_punpckldq;

typedef enum n_amd64_l_punpckldq {
	n_amd64_l_punpckldq_arg0 = 0,
	n_amd64_l_punpckldq_arg1 = 1,
} n_amd64_l_punpckldq;

typedef enum pn_amd64_l_subpd {
	pn_amd64_l_subpd_res = 0,
} pn_amd64_l_subpd;

typedef enum n_amd64_l_subpd {
	n_amd64_l_subpd_arg0 = 0,
	n_amd64_l_subpd_arg1 = 1,
} n_amd64_l_subpd;

typedef enum pn_amd64_lea {
	pn_amd64_lea_res = 0,
} pn_amd64_lea;

typedef enum pn_amd64_leave {
	pn_amd64_leave_frame = 0,
	pn_amd64_leave_M = 1,
	pn_amd64_leave_stack = 2,
} pn_amd64_leave;

typedef enum pn_amd64_mov_gp {
	pn_amd64_mov_gp_res = 0,
	pn_amd64_mov_gp_unused = 1,
	pn_amd64_mov_gp_M = 2,
} pn_amd64_mov_gp;

typedef enum pn_amd64_mov_imm {
	pn_amd64_mov_imm_res = 0,
} pn_amd64_mov_imm;

typedef enum pn_amd64_mov_store {
	pn_amd64_mov_store_M = 0,
} pn_amd64_mov_store;

typedef enum pn_amd64_movd {
	pn_amd64_movd_res = 0,
	pn_amd64_movd_none = 1,
	pn_amd64_movd_M = 2,
} pn_amd64_movd;

typedef enum pn_amd64_movd_gp_xmm {
	pn_amd64_movd_gp_xmm_res = 0,
} pn_amd64_movd_gp_xmm;

typedef enum n_amd64_movd_gp_xmm {
	n_amd64_movd_gp_xmm_operand = 0,
} n_amd64_movd_gp_xmm;

typedef enum pn_amd64_movd_xmm_gp {
	pn_amd64_movd_xmm_gp_res = 0,
} pn_amd64_movd_xmm_gp;

typedef enum n_amd64_movd_xmm_gp {
	n_amd64_movd_xmm_gp_operand = 0,
} n_amd64_movd_xmm_gp;

typedef enum pn_amd64_movdqa {
	pn_amd64_movdqa_res = 0,
	pn_amd64_movdqa_none = 1,
	pn_amd64_movdqa_M = 2,
} pn_amd64_movdqa;

typedef enum pn_amd64_movdqu {
	pn_amd64_movdqu_res = 0,
	pn_amd64_movdqu_none = 1,
	pn_amd64_movdqu_M = 2,
} pn_amd64_movdqu;

typedef enum pn_amd64_movdqu_store {
	pn_amd64_movdqu_store_M = 0,
} pn_amd64_movdqu_store;

typedef enum pn_amd64_movs {
	pn_amd64_movs_res = 0,
	pn_amd64_movs_unused = 1,
	pn_amd64_movs_M = 2,
} pn_amd64_movs;

typedef enum pn_amd64_movs_store_xmm {
	pn_amd64_movs_store_xmm_M = 0,
} pn_amd64_movs_store_xmm;

typedef enum pn_amd64_movs_xmm {
	pn_amd64_movs_xmm_res = 0,
	pn_amd64_movs_xmm_none = 1,
	pn_amd64_movs_xmm_M = 2,
} pn_amd64_movs_xmm;

typedef enum pn_amd64_mul {
	pn_amd64_mul_res_low = 0,
	pn_amd64_mul_flags = 1,
	pn_amd64_mul_M = 2,
	pn_amd64_mul_res_high = 3,
} pn_amd64_mul;

typedef enum pn_amd64_muls {
	pn_amd64_muls_res = 0,
	pn_amd64_muls_none = 1,
	pn_amd64_muls_M = 2,
} pn_amd64_muls;

typedef enum pn_amd64_neg {
	pn_amd64_neg_res = 0,
	pn_amd64_neg_flags = 1,
} pn_amd64_neg;

typedef enum n_amd64_neg {
	n_amd64_neg_val = 0,
} n_amd64_neg;

typedef enum pn_amd64_not {
	pn_amd64_not_res = 0,
	pn_amd64_not_flags = 1,
} pn_amd64_not;

typedef enum n_amd64_not {
	n_amd64_not_val = 0,
} n_amd64_not;

typedef enum pn_amd64_or {
	pn_amd64_or_res = 0,
	pn_amd64_or_flags = 1,
	pn_amd64_or_M = 2,
} pn_amd64_or;

typedef enum pn_amd64_pop_am {
	pn_amd64_pop_am_stack = 0,
	pn_amd64_pop_am_M = 1,
} pn_amd64_pop_am;

typedef enum pn_amd64_punpckldq {
	pn_amd64_punpckldq_res = 0,
	pn_amd64_punpckldq_none = 1,
	pn_amd64_punpckldq_M = 2,
} pn_amd64_punpckldq;

typedef enum pn_amd64_push_am {
	pn_amd64_push_am_stack = 0,
	pn_amd64_push_am_M = 1,
} pn_amd64_push_am;

typedef enum pn_amd64_push_reg {
	pn_amd64_push_reg_stack = 0,
	pn_amd64_push_reg_M = 1,
} pn_amd64_push_reg;

typedef enum n_amd64_push_reg {
	n_amd64_push_reg_stack = 0,
	n_amd64_push_reg_mem = 1,
	n_amd64_push_reg_val = 2,
} n_amd64_push_reg;

typedef enum pn_amd64_pxor_0 {
	pn_amd64_pxor_0_res = 0,
} pn_amd64_pxor_0;

typedef enum n_amd64_ret {
	n_amd64_ret_mem = 0,
	n_amd64_ret_stack = 1,
	n_amd64_ret_first_result = 2,
} n_amd64_ret;

typedef enum pn_amd64_sar {
	pn_amd64_sar_res = 0,
	pn_amd64_sar_flags = 1,
} pn_amd64_sar;

typedef enum pn_amd64_sbb {
	pn_amd64_sbb_res = 0,
	pn_amd64_sbb_flags = 1,
	pn_amd64_sbb_M = 2,
} pn_amd64_sbb;

typedef enum pn_amd64_setcc {
	pn_amd64_setcc_res = 0,
} pn_amd64_setcc;

typedef enum n_amd64_setcc {
	n_amd64_setcc_flags = 0,
} n_amd64_setcc;

typedef enum pn_amd64_shl {
	pn_amd64_shl_res = 0,
	pn_amd64_shl_flags = 1,
} pn_amd64_shl;

typedef enum pn_amd64_shr {
	pn_amd64_shr_res = 0,
	pn_amd64_shr_flags = 1,
} pn_amd64_shr;

typedef enum pn_amd64_sub {
	pn_amd64_sub_res = 0,
	pn_amd64_sub_flags = 1,
	pn_amd64_sub_M = 2,
} pn_amd64_sub;

typedef enum pn_amd64_sub_sp {
	pn_amd64_sub_sp_stack = 0,
	pn_amd64_sub_sp_addr = 1,
	pn_amd64_sub_sp_M = 2,
} pn_amd64_sub_sp;

typedef enum n_amd64_sub_sp {
	n_amd64_sub_sp_stack = 0,
} n_amd64_sub_sp;

typedef enum pn_amd64_subpd {
	pn_amd64_subpd_res = 0,
	pn_amd64_subpd_none = 1,
	pn_amd64_subpd_M = 2,
} pn_amd64_subpd;

typedef enum pn_amd64_subs {
	pn_amd64_subs_res = 0,
	pn_amd64_subs_none = 1,
	pn_amd64_subs_M = 2,
} pn_amd64_subs;

typedef enum pn_amd64_test {
	pn_amd64_test_dummy = 0,
	pn_amd64_test_flags = 1,
	pn_amd64_test_M = 2,
} pn_amd64_test;

typedef enum pn_amd64_ucomis {
	pn_amd64_ucomis_dummy = 0,
	pn_amd64_ucomis_flags = 1,
	pn_amd64_ucomis_M = 2,
} pn_amd64_ucomis;

typedef enum pn_amd64_vfmadd132s {
	pn_amd64_vfmadd132s_res = 0,
	pn_amd64_vfmadd132s_none = 1,
	pn_amd64_vfmadd132s_M = 2,
} pn_amd64_vfmadd132s;

typedef enum pn_amd64_vfmadd213s {
	pn_amd64_vfmadd213s_res = 0,
	pn_amd64_vfmadd213s_none = 1,
	pn_amd64_vfmadd213s_M = 2,
} pn_amd64_vfmadd213s;

typedef enum pn_amd64_vfmadd231s {
	pn_amd64_vfmadd231s_res = 0,
	pn_amd64_vfmadd231s_none = 1,
	pn_amd64_vfmadd231s_M = 2,
} pn_amd64_vfmadd231s;

typedef enum pn_amd64_xor {
	pn_amd64_xor_res = 0,
	pn_amd64_xor_flags = 1,
	pn_amd64_xor_M = 2,
} pn_amd64_xor;

typedef enum pn_amd64_xor_0 {
	pn_amd64_xor_0_res = 0,
	pn_amd64_xor_0_flags = 1,
} pn_amd64_xor_0;

typedef enum pn_amd64_xorp {
	pn_amd64_xorp_res = 0,
	pn_amd64_xorp_none = 1,
	pn_amd64_xorp_M = 2,
} pn_amd64_xorp;

typedef enum pn_amd64_xorp_0 {
	pn_amd64_xorp_0_res = 0,
} pn_amd64_xorp_0;


#endif
