libFirm
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
Shrs node

Returns its first operands bits shifted right by the amount of the 2nd operand. More...

Enumerations

enum  n_Shrs { n_Shrs_left, n_Shrs_right, n_Shrs_max = n_Shrs_right }
 Input numbers for Shrs node. More...
 

Functions

ir_nodenew_rd_Shrs (dbg_info *dbgi, ir_node *block, ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
 Construct a Shrs node. More...
 
ir_nodenew_r_Shrs (ir_node *block, ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
 Construct a Shrs node. More...
 
ir_nodenew_d_Shrs (dbg_info *dbgi, ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
 Construct a Shrs node. More...
 
ir_nodenew_Shrs (ir_node *irn_left, ir_node *irn_right, ir_mode *mode)
 Construct a Shrs node. More...
 
int is_Shrs (const ir_node *node)
 Test if node is a Shrs. More...
 
ir_nodeget_Shrs_left (const ir_node *node)
 Returns left input of a Shrs node. More...
 
void set_Shrs_left (ir_node *node, ir_node *left)
 Sets left input of a Shrs node. More...
 
ir_nodeget_Shrs_right (const ir_node *node)
 Returns right input of a Shrs node. More...
 
void set_Shrs_right (ir_node *node, ir_node *right)
 Sets right input of a Shrs node. More...
 
ir_opget_op_Shrs (void)
 Returns opcode for Shrs nodes. More...
 

Variables

ir_opop_Shrs
 Shrs opcode. More...
 

Detailed Description

Returns its first operands bits shifted right by the amount of the 2nd operand.

The leftmost bit (usually the sign bit) stays the same (sign extension). The right input (shift amount) must be an unsigned integer value. If the result mode has modulo_shift!=0, then the effective shift amount is the right input modulo this modulo_shift amount.

Enumeration Type Documentation

enum n_Shrs

Input numbers for Shrs node.

Enumerator
n_Shrs_left 

first operand

n_Shrs_right 

second operand

n_Shrs_max 

Definition at line 3615 of file nodes.h.

Function Documentation

ir_op* get_op_Shrs ( void  )

Returns opcode for Shrs nodes.

Definition at line 2494 of file gen_irnode.c.

References op_Shrs.

ir_node* get_Shrs_left ( const ir_node node)

Returns left input of a Shrs node.

Definition at line 2474 of file gen_irnode.c.

ir_node* get_Shrs_right ( const ir_node node)

Returns right input of a Shrs node.

Definition at line 2484 of file gen_irnode.c.

int is_Shrs ( const ir_node node)

Test if node is a Shrs.

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

Definition at line 3419 of file gen_irnode.c.

ir_node* new_d_Shrs ( dbg_info dbgi,
ir_node irn_left,
ir_node irn_right,
ir_mode mode 
)

Construct a Shrs node.

Parameters
dbgiA pointer to debug information.
irn_leftleft
irn_rightright
modemode of the operations result

Definition at line 2462 of file gen_irnode.c.

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

Referenced by new_Shrs().

ir_node* new_r_Shrs ( ir_node block,
ir_node irn_left,
ir_node irn_right,
ir_mode mode 
)

Construct a Shrs node.

Parameters
blockThe IR block the node belongs to.
irn_leftleft
irn_rightright
modemode of the operations result

Definition at line 2457 of file gen_irnode.c.

References new_rd_Shrs().

ir_node* new_rd_Shrs ( dbg_info dbgi,
ir_node block,
ir_node irn_left,
ir_node irn_right,
ir_mode mode 
)

Construct a Shrs node.

Parameters
dbgiA pointer to debug information.
blockThe IR block the node belongs to.
irn_leftleft
irn_rightright
modemode of the operations result

Definition at line 2441 of file gen_irnode.c.

References get_irn_irg(), new_ir_node(), op_Shrs, optimize_node(), and verify_new_node().

Referenced by new_d_Shrs(), and new_r_Shrs().

ir_node* new_Shrs ( ir_node irn_left,
ir_node irn_right,
ir_mode mode 
)

Construct a Shrs node.

Parameters
irn_leftleft
irn_rightright
modemode of the operations result

Definition at line 2469 of file gen_irnode.c.

References new_d_Shrs().

void set_Shrs_left ( ir_node node,
ir_node left 
)

Sets left input of a Shrs node.

Definition at line 2479 of file gen_irnode.c.

void set_Shrs_right ( ir_node node,
ir_node right 
)

Sets right input of a Shrs node.

Definition at line 2489 of file gen_irnode.c.

Variable Documentation

ir_op* op_Shrs

Shrs opcode.

Definition at line 3676 of file nodes.h.

Referenced by get_op_Shrs(), and new_rd_Shrs().