summaryrefslogtreecommitdiff
path: root/gcc/stmt.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/stmt.c')
-rw-r--r--gcc/stmt.c48
1 files changed, 21 insertions, 27 deletions
diff --git a/gcc/stmt.c b/gcc/stmt.c
index 3f940e379a7..52ae097800f 100644
--- a/gcc/stmt.c
+++ b/gcc/stmt.c
@@ -2197,9 +2197,7 @@ expand_expr_stmt (exp)
emit_cmp_and_jump_insns (last_expr_value, last_expr_value, EQ,
expand_expr (TYPE_SIZE (last_expr_type),
NULL_RTX, VOIDmode, 0),
- BLKmode, 0,
- TYPE_ALIGN (last_expr_type) / BITS_PER_UNIT,
- lab);
+ BLKmode, 0, lab);
emit_label (lab);
}
}
@@ -5645,20 +5643,16 @@ do_jump_if_equal (op1, op2, label, unsignedp)
rtx op1, op2, label;
int unsignedp;
{
- if (GET_CODE (op1) == CONST_INT
- && GET_CODE (op2) == CONST_INT)
+ if (GET_CODE (op1) == CONST_INT && GET_CODE (op2) == CONST_INT)
{
if (INTVAL (op1) == INTVAL (op2))
emit_jump (label);
}
else
- {
- enum machine_mode mode = GET_MODE (op1);
- if (mode == VOIDmode)
- mode = GET_MODE (op2);
- emit_cmp_and_jump_insns (op1, op2, EQ, NULL_RTX, mode, unsignedp,
- 0, label);
- }
+ emit_cmp_and_jump_insns (op1, op2, EQ, NULL_RTX,
+ (GET_MODE (op1) == VOIDmode
+ ? GET_MODE (op2) : GET_MODE (op1)),
+ unsignedp, label);
}
/* Not all case values are encountered equally. This function
@@ -6101,7 +6095,7 @@ emit_case_nodes (index, node, default_label, index_type)
expand_expr (node->high, NULL_RTX,
VOIDmode, 0),
unsignedp),
- GT, NULL_RTX, mode, unsignedp, 0,
+ GT, NULL_RTX, mode, unsignedp,
label_rtx (node->right->code_label));
emit_case_nodes (index, node->left, default_label, index_type);
}
@@ -6114,7 +6108,7 @@ emit_case_nodes (index, node, default_label, index_type)
expand_expr (node->high, NULL_RTX,
VOIDmode, 0),
unsignedp),
- LT, NULL_RTX, mode, unsignedp, 0,
+ LT, NULL_RTX, mode, unsignedp,
label_rtx (node->left->code_label));
emit_case_nodes (index, node->right, default_label, index_type);
}
@@ -6133,7 +6127,7 @@ emit_case_nodes (index, node, default_label, index_type)
expand_expr (node->high, NULL_RTX,
VOIDmode, 0),
unsignedp),
- GT, NULL_RTX, mode, unsignedp, 0,
+ GT, NULL_RTX, mode, unsignedp,
label_rtx (test_label));
/* Value must be on the left.
@@ -6168,7 +6162,7 @@ emit_case_nodes (index, node, default_label, index_type)
expand_expr (node->high, NULL_RTX,
VOIDmode, 0),
unsignedp),
- LT, NULL_RTX, mode, unsignedp, 0,
+ LT, NULL_RTX, mode, unsignedp,
default_label);
}
@@ -6201,7 +6195,7 @@ emit_case_nodes (index, node, default_label, index_type)
expand_expr (node->high, NULL_RTX,
VOIDmode, 0),
unsignedp),
- GT, NULL_RTX, mode, unsignedp, 0,
+ GT, NULL_RTX, mode, unsignedp,
default_label);
}
@@ -6244,7 +6238,7 @@ emit_case_nodes (index, node, default_label, index_type)
expand_expr (node->high, NULL_RTX,
VOIDmode, 0),
unsignedp),
- GT, NULL_RTX, mode, unsignedp, 0,
+ GT, NULL_RTX, mode, unsignedp,
label_rtx (node->right->code_label));
else
{
@@ -6258,7 +6252,7 @@ emit_case_nodes (index, node, default_label, index_type)
expand_expr (node->high, NULL_RTX,
VOIDmode, 0),
unsignedp),
- GT, NULL_RTX, mode, unsignedp, 0,
+ GT, NULL_RTX, mode, unsignedp,
label_rtx (test_label));
}
@@ -6270,7 +6264,7 @@ emit_case_nodes (index, node, default_label, index_type)
expand_expr (node->low, NULL_RTX,
VOIDmode, 0),
unsignedp),
- GE, NULL_RTX, mode, unsignedp, 0,
+ GE, NULL_RTX, mode, unsignedp,
label_rtx (node->code_label));
/* Handle the left-hand subtree. */
@@ -6301,7 +6295,7 @@ emit_case_nodes (index, node, default_label, index_type)
expand_expr (node->low, NULL_RTX,
VOIDmode, 0),
unsignedp),
- LT, NULL_RTX, mode, unsignedp, 0,
+ LT, NULL_RTX, mode, unsignedp,
default_label);
}
@@ -6313,7 +6307,7 @@ emit_case_nodes (index, node, default_label, index_type)
expand_expr (node->high, NULL_RTX,
VOIDmode, 0),
unsignedp),
- LE, NULL_RTX, mode, unsignedp, 0,
+ LE, NULL_RTX, mode, unsignedp,
label_rtx (node->code_label));
emit_case_nodes (index, node->right, default_label, index_type);
@@ -6331,7 +6325,7 @@ emit_case_nodes (index, node, default_label, index_type)
expand_expr (node->high, NULL_RTX,
VOIDmode, 0),
unsignedp),
- GT, NULL_RTX, mode, unsignedp, 0,
+ GT, NULL_RTX, mode, unsignedp,
default_label);
}
@@ -6343,7 +6337,7 @@ emit_case_nodes (index, node, default_label, index_type)
expand_expr (node->low, NULL_RTX,
VOIDmode, 0),
unsignedp),
- GE, NULL_RTX, mode, unsignedp, 0,
+ GE, NULL_RTX, mode, unsignedp,
label_rtx (node->code_label));
emit_case_nodes (index, node->left, default_label, index_type);
@@ -6365,7 +6359,7 @@ emit_case_nodes (index, node, default_label, index_type)
expand_expr (node->high, NULL_RTX,
VOIDmode, 0),
unsignedp),
- GT, NULL_RTX, mode, unsignedp, 0,
+ GT, NULL_RTX, mode, unsignedp,
default_label);
}
@@ -6377,7 +6371,7 @@ emit_case_nodes (index, node, default_label, index_type)
expand_expr (node->low, NULL_RTX,
VOIDmode, 0),
unsignedp),
- LT, NULL_RTX, mode, unsignedp, 0,
+ LT, NULL_RTX, mode, unsignedp,
default_label);
}
else if (!low_bound && !high_bound)
@@ -6399,7 +6393,7 @@ emit_case_nodes (index, node, default_label, index_type)
NULL_RTX, mode, 0);
emit_cmp_and_jump_insns (new_index, new_bound, GT, NULL_RTX,
- mode, 1, 0, default_label);
+ mode, 1, default_label);
}
emit_jump (label_rtx (node->code_label));