From: Daniel Grund Date: Thu, 18 Aug 2005 16:58:50 +0000 (+0000) Subject: Added reflection for mulh X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=9372d5147d6b19582b1a6ea35586630d225ae532;p=libfirm Added reflection for mulh [r6463] --- diff --git a/ir/ir/irarch.c b/ir/ir/irarch.c index 81e118e82..7f15232ba 100644 --- a/ir/ir/irarch.c +++ b/ir/ir/irarch.c @@ -23,6 +23,7 @@ #include "irhooks.h" #include "ircons.h" #include "irarch.h" +#include "irreflect.h" #undef DEB @@ -55,7 +56,19 @@ new_rd_Mulh (dbg_info *db, ir_graph *irg, ir_node *block, ir_node *res; if (! op_Mulh) { - op_Mulh = new_ir_op(get_next_ir_opcode(), "Mulh", op_pin_state_floats, irop_flag_commutative, oparity_binary, 0, 0); + rflct_sig_t *sig; + int mulh_opc = get_next_ir_opcode(); + + op_Mulh = new_ir_op(mulh_opc, "Mulh", op_pin_state_floats, irop_flag_commutative, oparity_binary, 0, 0); + sig = rflct_signature_allocate(1, 3); + rflct_signature_set_arg(sig, 0, 0, "Res", RFLCT_MC(Int), 0, 0); + rflct_signature_set_arg(sig, 1, 0, "Block", RFLCT_MC(BB), 0, 0); + rflct_signature_set_arg(sig, 1, 1, "Op 0", RFLCT_MC(Int), 0, 0); + rflct_signature_set_arg(sig, 1, 2, "Op 1", RFLCT_MC(Int), 0, 0); + + rflct_new_opcode(mulh_opc, "Mulh", false); + rflct_opcode_add_signature(mulh_opc, sig); + } in[0] = op1;