diff options
-rw-r--r-- | gcc/ChangeLog | 11 | ||||
-rw-r--r-- | gcc/builtins.c | 2 | ||||
-rw-r--r-- | gcc/config/alpha/alpha.c | 3 | ||||
-rw-r--r-- | gcc/config/clipper/clipper.c | 2 | ||||
-rw-r--r-- | gcc/config/h8300/h8300.c | 8 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 32 | ||||
-rw-r--r-- | gcc/config/mips/mips.c | 8 | ||||
-rw-r--r-- | gcc/doloop.c | 6 | ||||
-rw-r--r-- | gcc/expmed.c | 8 | ||||
-rw-r--r-- | gcc/stmt.c | 48 | ||||
-rw-r--r-- | gcc/unroll.c | 10 |
11 files changed, 66 insertions, 72 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 06cb24ec358..f056fef71b4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -29,18 +29,21 @@ Thu Nov 15 17:57:48 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> * tree.h: Likewise. * dwarf2out.c (loc_descriptor_from_tree): Remove ALIGN parameter to get_inner_reference. - * except.c: Remove ALIGN parameter in call to emit_cmp_and_jump_insns. - * explow.c: Likewise. - * loop.c: Likewise. + * builtins.c: Remove ALIGN parm in call to emit_cmp_and_jump_insns. + * doloop.c, except.c, explow.c, loop.c, stmt.c, unroll.c: Likewise. * optabs.c: Likewise. (prepare_cmp_insn): Now static; remove ALIGN parm. Callers changed. (emit_cmp_and_jump_insns): Remove ALIGN parm; all callers changed. + * expmed.c: Remove ALIGN arg from calls to compare_from_rtx, + compare_rtx_and_jump, and emit_cmp_jump_insns. * fold-const.c: Remove PALIGN in calls to get_inner_reference. * function.c (assign_stack_temp_for_type): No longer static. * optabs.h (emit_cmp_insn): Remove ALIGN parm. (prepare_cmp_insn): Delete declaration. * rtl.h (assign_stack_temp_for_type): Add declaration. - * config/d30v/d30v.c: Reflect above changes. + * config/alpha/alpha.c, config/d30v/d30v.c: Reflect above changes. + * config/clipper/clipper.c, config/h8300/h8300.c: Likewise. + * config/i386/i386.c,config/mips/mips.c: Likewise. * config/i860/i860.c, config/ia64/ia64.c: Likewise. * config/rs6000/rs6000.c, config/sh/sh.c: Likewise. diff --git a/gcc/builtins.c b/gcc/builtins.c index ca7eb667b1d..65d19e27f79 100644 --- a/gcc/builtins.c +++ b/gcc/builtins.c @@ -1462,7 +1462,7 @@ expand_builtin_mathfn (exp, target, subtarget) /* Test the result; if it is NaN, set errno=EDOM because the argument was not in the domain. */ emit_cmp_and_jump_insns (target, target, EQ, 0, GET_MODE (target), - 0, 0, lab1); + 0, lab1); #ifdef TARGET_EDOM { diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c index ff89b55f9ff..ca9c0e7ee9a 100644 --- a/gcc/config/alpha/alpha.c +++ b/gcc/config/alpha/alpha.c @@ -2538,8 +2538,7 @@ alpha_emit_floatuns (operands) i1 = gen_reg_rtx (DImode); f0 = gen_reg_rtx (mode); - emit_cmp_and_jump_insns (in, const0_rtx, LT, const0_rtx, DImode, 0, - 8, neglab); + emit_cmp_and_jump_insns (in, const0_rtx, LT, const0_rtx, DImode, 0, neglab); emit_insn (gen_rtx_SET (VOIDmode, out, gen_rtx_FLOAT (mode, in))); emit_jump_insn (gen_jump (donelab)); diff --git a/gcc/config/clipper/clipper.c b/gcc/config/clipper/clipper.c index 37756e941c5..c2002a05d40 100644 --- a/gcc/config/clipper/clipper.c +++ b/gcc/config/clipper/clipper.c @@ -616,7 +616,7 @@ clipper_va_arg (valist, type) OPTAB_LIB_WIDEN), GEN_INT (2), GE, const0_rtx, TYPE_MODE (TREE_TYPE (num_field)), - TREE_UNSIGNED (num_field), 0, false_label); + TREE_UNSIGNED (num_field), false_label); inreg = fold (build (MULT_EXPR, integer_type_node, num_field, build_int_2 (2, 0))); diff --git a/gcc/config/h8300/h8300.c b/gcc/config/h8300/h8300.c index e582a026ee0..c78b84f3895 100644 --- a/gcc/config/h8300/h8300.c +++ b/gcc/config/h8300/h8300.c @@ -2839,8 +2839,8 @@ expand_a_rotate (code, operands) /* If the rotate amount is less than or equal to 0, we go out of the loop. */ - emit_cmp_and_jump_insns (rotate_amount, GEN_INT (0), - LE, NULL_RTX, QImode, 0, 0, end_label); + emit_cmp_and_jump_insns (rotate_amount, GEN_INT (0), LE, NULL_RTX, + QImode, 0, end_label); /* Initialize the loop counter. */ emit_move_insn (counter, rotate_amount); @@ -2857,8 +2857,8 @@ expand_a_rotate (code, operands) /* If the loop counter is non-zero, we go back to the beginning of the loop. */ - emit_cmp_and_jump_insns (counter, GEN_INT (0), - NE, NULL_RTX, QImode, 1, 0, start_label); + emit_cmp_and_jump_insns (counter, GEN_INT (0), NE, NULL_RTX, QImode, 1, + start_label); emit_label (end_label); } diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index fd60fd8e201..887f8c4dda0 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -2444,7 +2444,7 @@ ix86_va_arg (valist, type) (gpr, NULL_RTX, SImode, EXPAND_NORMAL), GEN_INT ((REGPARM_MAX - needed_intregs + 1) * 8), GE, const1_rtx, SImode, - 1, 1, lab_false); + 1, lab_false); } if (needed_sseregs) { @@ -2453,7 +2453,7 @@ ix86_va_arg (valist, type) GEN_INT ((SSE_REGPARM_MAX - needed_sseregs + 1) * 16 + REGPARM_MAX * 8), GE, const1_rtx, - SImode, 1, 1, lab_false); + SImode, 1, lab_false); } /* Compute index to start of area used for integer regs. */ @@ -8971,7 +8971,7 @@ ix86_expand_aligntest (variable, value) else emit_insn (gen_andsi3 (tmpcount, variable, GEN_INT (value))); emit_cmp_and_jump_insns (tmpcount, const0_rtx, EQ, 0, GET_MODE (variable), - 1, 0, label); + 1, label); return label; } @@ -9138,7 +9138,7 @@ ix86_expand_movstr (dst, src, count_exp, align_exp) { label = gen_label_rtx (); emit_cmp_and_jump_insns (countreg, GEN_INT (UNITS_PER_WORD - 1), - LEU, 0, counter_mode, 1, 0, label); + LEU, 0, counter_mode, 1, label); } if (align <= 1) { @@ -9334,7 +9334,7 @@ ix86_expand_clrstr (src, count_exp, align_exp) { label = gen_label_rtx (); emit_cmp_and_jump_insns (countreg, GEN_INT (UNITS_PER_WORD - 1), - LEU, 0, counter_mode, 1, 0, label); + LEU, 0, counter_mode, 1, label); } if (align <= 1) { @@ -9540,11 +9540,11 @@ ix86_expand_strlensi_unroll_1 (out, align_rtx) NULL_RTX, 0, OPTAB_WIDEN); emit_cmp_and_jump_insns (align_rtx, const0_rtx, EQ, NULL, - Pmode, 1, 0, align_4_label); + Pmode, 1, align_4_label); emit_cmp_and_jump_insns (align_rtx, GEN_INT (2), EQ, NULL, - Pmode, 1, 0, align_2_label); + Pmode, 1, align_2_label); emit_cmp_and_jump_insns (align_rtx, GEN_INT (2), GTU, NULL, - Pmode, 1, 0, align_3_label); + Pmode, 1, align_3_label); } else { @@ -9555,7 +9555,7 @@ ix86_expand_strlensi_unroll_1 (out, align_rtx) NULL_RTX, 0, OPTAB_WIDEN); emit_cmp_and_jump_insns (align_rtx, const0_rtx, EQ, NULL, - Pmode, 1, 0, align_4_label); + Pmode, 1, align_4_label); } mem = gen_rtx_MEM (QImode, out); @@ -9564,7 +9564,7 @@ ix86_expand_strlensi_unroll_1 (out, align_rtx) /* Compare the first n unaligned byte on a byte per byte basis. */ emit_cmp_and_jump_insns (mem, const0_rtx, EQ, NULL, - QImode, 1, 0, end_0_label); + QImode, 1, end_0_label); /* Increment the address. */ if (TARGET_64BIT) @@ -9577,8 +9577,8 @@ ix86_expand_strlensi_unroll_1 (out, align_rtx) { emit_label (align_2_label); - emit_cmp_and_jump_insns (mem, const0_rtx, EQ, NULL, - QImode, 1, 0, end_0_label); + emit_cmp_and_jump_insns (mem, const0_rtx, EQ, NULL, QImode, 1, + end_0_label); if (TARGET_64BIT) emit_insn (gen_adddi3 (out, out, const1_rtx)); @@ -9588,8 +9588,8 @@ ix86_expand_strlensi_unroll_1 (out, align_rtx) emit_label (align_3_label); } - emit_cmp_and_jump_insns (mem, const0_rtx, EQ, NULL, - QImode, 1, 0, end_0_label); + emit_cmp_and_jump_insns (mem, const0_rtx, EQ, NULL, QImode, 1, + end_0_label); if (TARGET_64BIT) emit_insn (gen_adddi3 (out, out, const1_rtx)); @@ -9618,8 +9618,8 @@ ix86_expand_strlensi_unroll_1 (out, align_rtx) emit_insn (gen_andsi3 (tmpreg, tmpreg, GEN_INT (trunc_int_for_mode (0x80808080, SImode)))); - emit_cmp_and_jump_insns (tmpreg, const0_rtx, EQ, 0, - SImode, 1, 0, align_4_label); + emit_cmp_and_jump_insns (tmpreg, const0_rtx, EQ, 0, SImode, 1, + align_4_label); if (TARGET_CMOVE) { diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index 80f35c3e804..eb97c76e579 100644 --- a/gcc/config/mips/mips.c +++ b/gcc/config/mips/mips.c @@ -4590,8 +4590,8 @@ mips_va_arg (valist, type) /* Emit code to branch if foff == 0. */ r = expand_expr (foff, NULL_RTX, TYPE_MODE (TREE_TYPE (foff)), EXPAND_NORMAL); - emit_cmp_and_jump_insns (r, const0_rtx, EQ, - const1_rtx, GET_MODE (r), 1, 1, lab_false); + emit_cmp_and_jump_insns (r, const0_rtx, EQ, const1_rtx, GET_MODE (r), + 1, lab_false); /* Emit code for addr_rtx = ftop - foff */ t = build (MINUS_EXPR, TREE_TYPE (ftop), ftop, foff ); @@ -4657,8 +4657,8 @@ mips_va_arg (valist, type) /* Emit code to branch if goff == 0. */ r = expand_expr (goff, NULL_RTX, TYPE_MODE (TREE_TYPE (goff)), EXPAND_NORMAL); - emit_cmp_and_jump_insns (r, const0_rtx, EQ, - const1_rtx, GET_MODE (r), 1, 1, lab_false); + emit_cmp_and_jump_insns (r, const0_rtx, EQ, const1_rtx, GET_MODE (r), + 1, lab_false); /* Emit code for addr_rtx = gtop - goff. */ t = build (MINUS_EXPR, TREE_TYPE (gtop), gtop, goff); diff --git a/gcc/doloop.c b/gcc/doloop.c index 849f30e2ef7..2b1317f900a 100644 --- a/gcc/doloop.c +++ b/gcc/doloop.c @@ -1,5 +1,5 @@ /* Perform doloop optimizations - Copyright (C) 1999, 2000 Free Software Foundation, Inc. + Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc. Contributed by Michael P. Hayes (m.hayes@elec.canterbury.ac.nz) This file is part of GCC. @@ -628,7 +628,7 @@ doloop_modify_runtime (loop, iterations_max, limit = abs_inc * (loop_info->unroll_number - 1); emit_cmp_and_jump_insns (extra, GEN_INT (limit), limit == 0 ? EQ : LEU, NULL_RTX, - GET_MODE (extra), 0, 0, label); + GET_MODE (extra), 0, label); JUMP_LABEL (get_last_insn ()) = label; LABEL_NUSES (label)++; @@ -671,7 +671,7 @@ doloop_modify_runtime (loop, iterations_max, label = gen_label_rtx(); emit_cmp_and_jump_insns (copy_rtx (initial_value), copy_rtx (loop_info->comparison_value), - comparison_code, NULL_RTX, mode, 0, 0, + comparison_code, NULL_RTX, mode, 0, label); JUMP_LABEL (get_last_insn ()) = label; LABEL_NUSES (label)++; diff --git a/gcc/expmed.c b/gcc/expmed.c index 42394a9e9d2..3879725487d 100644 --- a/gcc/expmed.c +++ b/gcc/expmed.c @@ -4329,7 +4329,7 @@ emit_store_flag (target, code, op0, op1, mode, unsignedp, normalizep) last = get_last_insn (); comparison - = compare_from_rtx (op0, op1, code, unsignedp, mode, NULL_RTX, 0); + = compare_from_rtx (op0, op1, code, unsignedp, mode, NULL_RTX); if (GET_CODE (comparison) == CONST_INT) return (comparison == const0_rtx ? const0_rtx : normalizep == 1 ? const1_rtx @@ -4629,7 +4629,7 @@ emit_store_flag_force (target, code, op0, op1, mode, unsignedp, normalizep) emit_move_insn (target, const1_rtx); label = gen_label_rtx (); - do_compare_rtx_and_jump (op0, op1, code, unsignedp, mode, NULL_RTX, 0, + do_compare_rtx_and_jump (op0, op1, code, unsignedp, mode, NULL_RTX, NULL_RTX, label); emit_move_insn (target, const0_rtx); @@ -4704,7 +4704,5 @@ do_cmp_and_jump (arg1, arg2, op, mode, label) emit_label (label2); } else - { - emit_cmp_and_jump_insns (arg1, arg2, op, NULL_RTX, mode, 0, 0, label); - } + emit_cmp_and_jump_insns (arg1, arg2, op, NULL_RTX, mode, 0, label); } 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)); diff --git a/gcc/unroll.c b/gcc/unroll.c index c1d62383540..9a9d432dd11 100644 --- a/gcc/unroll.c +++ b/gcc/unroll.c @@ -962,8 +962,9 @@ unroll_loop (loop, insn_count, strength_reduce_p) { emit_cmp_and_jump_insns (initial_value, final_value, neg_inc ? LE : GE, - NULL_RTX, mode, 0, 0, labels[1]); - predict_insn_def (get_last_insn (), PRED_LOOP_CONDITION, NOT_TAKEN); + NULL_RTX, mode, 0, labels[1]); + predict_insn_def (get_last_insn (), PRED_LOOP_CONDITION, + NOT_TAKEN); JUMP_LABEL (get_last_insn ()) = labels[1]; LABEL_NUSES (labels[1])++; } @@ -1005,8 +1006,7 @@ unroll_loop (loop, insn_count, strength_reduce_p) } emit_cmp_and_jump_insns (diff, GEN_INT (abs_inc * cmp_const), - cmp_code, NULL_RTX, mode, 0, 0, - labels[i]); + cmp_code, NULL_RTX, mode, 0, labels[i]); JUMP_LABEL (get_last_insn ()) = labels[i]; LABEL_NUSES (labels[i])++; predict_insn (get_last_insn (), PRED_LOOP_PRECONDITIONING, @@ -1039,7 +1039,7 @@ unroll_loop (loop, insn_count, strength_reduce_p) } emit_cmp_and_jump_insns (diff, GEN_INT (cmp_const), cmp_code, - NULL_RTX, mode, 0, 0, labels[0]); + NULL_RTX, mode, 0, labels[0]); JUMP_LABEL (get_last_insn ()) = labels[0]; LABEL_NUSES (labels[0])++; } |