-/* creates a bd constructor for a binop */
-#define NEW_BD_BINOP(instr) \
-static ir_node * \
-new_bd_##instr(dbg_info *db, ir_node *block, \
- ir_node *op1, ir_node *op2, ir_mode *mode) \
-{ \
- ir_node *in[2]; \
- ir_node *res; \
- ir_graph *irg = current_ir_graph; \
- in[0] = op1; \
- in[1] = op2; \
- res = new_ir_node(db, irg, block, op_##instr, mode, 2, in); \
- res = optimize_node(res); \
- IRN_VRFY_IRG(res, irg); \
- return res; \
-}
-
-/* creates a bd constructor for an unop */
-#define NEW_BD_UNOP(instr) \
-static ir_node * \
-new_bd_##instr(dbg_info *db, ir_node *block, \
- ir_node *op, ir_mode *mode) \
-{ \
- ir_node *res; \
- ir_graph *irg = current_ir_graph; \
- res = new_ir_node(db, irg, block, op_##instr, mode, 1, &op); \
- res = optimize_node(res); \
- IRN_VRFY_IRG(res, irg); \
- return res; \
-}
-
-/* creates a bd constructor for an divop */
-#define NEW_BD_DIVOP(instr) \
-static ir_node * \
-new_bd_##instr(dbg_info *db, ir_node *block, \
- ir_node *memop, ir_node *op1, ir_node *op2, ir_mode *mode, op_pin_state state) \
-{ \
- ir_node *in[3]; \
- ir_node *res; \
- ir_graph *irg = current_ir_graph; \
- in[0] = memop; \
- in[1] = op1; \
- in[2] = op2; \
- res = new_ir_node(db, irg, block, op_##instr, mode_T, 3, in); \
- res->attr.divmod.exc.pin_state = state; \
- res->attr.divmod.resmode = mode; \
- res->attr.divmod.no_remainder = 0; \
- res = optimize_node(res); \
- IRN_VRFY_IRG(res, irg); \
- return res; \
-}
-
-/* creates a rd constructor for a binop */
-#define NEW_RD_BINOP(instr) \
-ir_node * \
-new_rd_##instr(dbg_info *db, ir_graph *irg, ir_node *block, \
- ir_node *op1, ir_node *op2, ir_mode *mode) \
-{ \
- ir_node *res; \
- ir_graph *rem = current_ir_graph; \
- current_ir_graph = irg; \
- res = new_bd_##instr(db, block, op1, op2, mode); \
- current_ir_graph = rem; \
- return res; \
-}
-
-/* creates a rd constructor for an unop */
-#define NEW_RD_UNOP(instr) \
-ir_node * \
-new_rd_##instr(dbg_info *db, ir_graph *irg, ir_node *block, \
- ir_node *op, ir_mode *mode) \
-{ \
- ir_node *res; \
- ir_graph *rem = current_ir_graph; \
- current_ir_graph = irg; \
- res = new_bd_##instr(db, block, op, mode); \
- current_ir_graph = rem; \
- return res; \
-}
-
-/* creates a rd constructor for an divop */
-#define NEW_RD_DIVOP(instr) \
-ir_node * \
-new_rd_##instr(dbg_info *db, ir_graph *irg, ir_node *block, \
- ir_node *memop, ir_node *op1, ir_node *op2, ir_mode *mode, op_pin_state state) \
-{ \
- ir_node *res; \
- ir_graph *rem = current_ir_graph; \
- current_ir_graph = irg; \
- res = new_bd_##instr(db, block, memop, op1, op2, mode, state);\
- current_ir_graph = rem; \
- return res; \
-}
-
-/* creates a d constructor for an binop */
-#define NEW_D_BINOP(instr) \
-ir_node * \
-new_d_##instr(dbg_info *db, ir_node *op1, ir_node *op2, ir_mode *mode) { \
- return new_bd_##instr(db, current_ir_graph->current_block, op1, op2, mode); \
-}
-
-/* creates a d constructor for an unop */
-#define NEW_D_UNOP(instr) \
-ir_node * \
-new_d_##instr(dbg_info *db, ir_node *op, ir_mode *mode) { \
- return new_bd_##instr(db, current_ir_graph->current_block, op, mode); \