libFirm

returns the upper word of the product of its operands (the part which would not fit into the result mode of a normal Mul anymore) More...

Enumerations

enum  n_Mulh { n_Mulh_left, n_Mulh_right, n_Mulh_max = n_Mulh_right }
 Input numbers for Mulh node. More...
 

Functions

ir_nodenew_rd_Mulh (dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right)
 Construct a Mulh node. More...
 
ir_nodenew_r_Mulh (ir_node *block, ir_node *irn_left, ir_node *irn_right)
 Construct a Mulh node. More...
 
ir_nodenew_d_Mulh (dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right)
 Construct a Mulh node. More...
 
ir_nodenew_Mulh (ir_node *irn_left, ir_node *irn_right)
 Construct a Mulh node. More...
 
int is_Mulh (const ir_node *node)
 Test if node is a Mulh. More...
 
ir_nodeget_Mulh_left (const ir_node *node)
 Returns left input of a Mulh node. More...
 
void set_Mulh_left (ir_node *node, ir_node *left)
 Sets left input of a Mulh node. More...
 
ir_nodeget_Mulh_right (const ir_node *node)
 Returns right input of a Mulh node. More...
 
void set_Mulh_right (ir_node *node, ir_node *right)
 Sets right input of a Mulh node. More...
 
ir_opget_op_Mulh (void)
 Returns opcode for Mulh nodes. More...
 

Variables

ir_opop_Mulh
 Mulh opcode. More...
 

Detailed Description

returns the upper word of the product of its operands (the part which would not fit into the result mode of a normal Mul anymore)

Enumeration Type Documentation

enum n_Mulh

Input numbers for Mulh node.

Enumerator
n_Mulh_left 

first operand

n_Mulh_right 

second operand

n_Mulh_max 

Definition at line 2523 of file nodes.h.

Function Documentation

ir_node* get_Mulh_left ( const ir_node node)

Returns left input of a Mulh node.

Definition at line 1716 of file gen_irnode.c.

ir_node* get_Mulh_right ( const ir_node node)

Returns right input of a Mulh node.

Definition at line 1726 of file gen_irnode.c.

ir_op* get_op_Mulh ( void  )

Returns opcode for Mulh nodes.

Definition at line 1736 of file gen_irnode.c.

References op_Mulh.

int is_Mulh ( const ir_node node)

Test if node is a Mulh.

Returns
1 if the node is a Mulh node, 0 otherwise

Definition at line 3310 of file gen_irnode.c.

ir_node* new_d_Mulh ( dbg_info dbgi,
ir_node irn_left,
ir_node irn_right 
)

Construct a Mulh node.

Parameters
dbgiA pointer to debug information.
irn_leftleft
irn_rightright

Definition at line 1704 of file gen_irnode.c.

References current_ir_graph, get_cur_block(), IR_GRAPH_CONSTRAINT_CONSTRUCTION, irg_is_constrained(), and new_rd_Mulh().

Referenced by new_Mulh().

ir_node* new_Mulh ( ir_node irn_left,
ir_node irn_right 
)

Construct a Mulh node.

Parameters
irn_leftleft
irn_rightright

Definition at line 1711 of file gen_irnode.c.

References new_d_Mulh().

ir_node* new_r_Mulh ( ir_node block,
ir_node irn_left,
ir_node irn_right 
)

Construct a Mulh node.

Parameters
blockThe IR block the node belongs to.
irn_leftleft
irn_rightright

Definition at line 1699 of file gen_irnode.c.

References new_rd_Mulh().

ir_node* new_rd_Mulh ( dbg_info dbgi,
ir_node block,
ir_node irn_left,
ir_node irn_right 
)

Construct a Mulh node.

Parameters
dbgiA pointer to debug information.
blockThe IR block the node belongs to.
irn_leftleft
irn_rightright

Definition at line 1683 of file gen_irnode.c.

References get_irn_irg(), get_irn_mode(), new_ir_node(), op_Mulh, optimize_node(), and verify_new_node().

Referenced by new_d_Mulh(), and new_r_Mulh().

void set_Mulh_left ( ir_node node,
ir_node left 
)

Sets left input of a Mulh node.

Definition at line 1721 of file gen_irnode.c.

void set_Mulh_right ( ir_node node,
ir_node right 
)

Sets right input of a Mulh node.

Definition at line 1731 of file gen_irnode.c.

References op_Mulh.

Variable Documentation

ir_op* op_Mulh

Mulh opcode.

Definition at line 2580 of file nodes.h.

Referenced by get_op_Mulh(), new_rd_Mulh(), set_Mulh_right(), and set_typeconst_type().