Lines Matching refs:mode
178 fprintf (file, " (in %s)", GET_MODE_NAME (iv->mode)); in dump_iv_info()
180 if (iv->mode != iv->extend_mode) in dump_iv_info()
387 iv_constant (struct rtx_iv *iv, scalar_int_mode mode, rtx cst) in iv_constant() argument
389 iv->mode = mode; in iv_constant()
394 iv->extend_mode = iv->mode; in iv_constant()
404 iv_subreg (struct rtx_iv *iv, scalar_int_mode mode) in iv_subreg() argument
411 val = lowpart_subreg (mode, val, in iv_subreg()
413 ? iv->mode : iv->extend_mode); in iv_subreg()
417 iv->mode = iv->extend_mode = mode; in iv_subreg()
423 if (iv->extend_mode == mode) in iv_subreg()
426 if (GET_MODE_BITSIZE (mode) > GET_MODE_BITSIZE (iv->mode)) in iv_subreg()
430 iv->mode = mode; in iv_subreg()
446 iv_extend (struct rtx_iv *iv, enum iv_extend_code extend, scalar_int_mode mode) in iv_extend() argument
453 if (iv->extend_mode != iv->mode in iv_extend()
456 val = lowpart_subreg (iv->mode, val, iv->extend_mode); in iv_extend()
457 val = simplify_gen_unary (iv_extend_to_rtx_code (extend), mode, in iv_extend()
460 ? iv->extend_mode : iv->mode); in iv_extend()
463 iv->mode = iv->extend_mode = mode; in iv_extend()
469 if (mode != iv->extend_mode) in iv_extend()
509 scalar_int_mode mode; in iv_add() local
514 && iv0->mode == iv0->extend_mode in iv_add()
520 iv0->base, iv0->mode); in iv_add()
523 && iv1->mode == iv1->extend_mode in iv_add()
529 iv1->base, iv1->mode); in iv_add()
532 mode = iv0->extend_mode; in iv_add()
533 if (mode != iv1->extend_mode) in iv_add()
539 if (iv0->mode != iv1->mode) in iv_add()
542 iv0->base = simplify_gen_binary (op, mode, iv0->base, iv1->base); in iv_add()
543 iv0->step = simplify_gen_binary (op, mode, iv0->step, iv1->step); in iv_add()
550 && iv1->mode == mode in iv_add()
553 iv0->delta = simplify_gen_binary (op, mode, iv0->delta, iv1->base); in iv_add()
558 && iv0->mode == mode in iv_add()
567 iv0->delta = simplify_gen_binary (PLUS, mode, iv0->delta, arg); in iv_add()
579 scalar_int_mode mode = iv->extend_mode; in iv_mult() local
582 && GET_MODE (mby) != mode) in iv_mult()
587 iv->base = simplify_gen_binary (MULT, mode, iv->base, mby); in iv_mult()
588 iv->step = simplify_gen_binary (MULT, mode, iv->step, mby); in iv_mult()
592 iv->delta = simplify_gen_binary (MULT, mode, iv->delta, mby); in iv_mult()
593 iv->mult = simplify_gen_binary (MULT, mode, iv->mult, mby); in iv_mult()
604 scalar_int_mode mode = iv->extend_mode; in iv_shift() local
607 && GET_MODE (mby) != mode) in iv_shift()
612 iv->base = simplify_gen_binary (ASHIFT, mode, iv->base, mby); in iv_shift()
613 iv->step = simplify_gen_binary (ASHIFT, mode, iv->step, mby); in iv_shift()
617 iv->delta = simplify_gen_binary (ASHIFT, mode, iv->delta, mby); in iv_shift()
618 iv->mult = simplify_gen_binary (ASHIFT, mode, iv->mult, mby); in iv_shift()
906 iv->mode = inner_mode; in iv_analyze_biv()
929 iv_analyze_expr (rtx_insn *insn, scalar_int_mode mode, rtx rhs, in iv_analyze_expr() argument
936 scalar_int_mode omode = mode; in iv_analyze_expr()
941 gcc_assert (GET_MODE (rhs) == mode || GET_MODE (rhs) == VOIDmode); in iv_analyze_expr()
946 return iv_analyze_op (insn, mode, rhs, iv); in iv_analyze_expr()
1000 if (!iv_extend (&iv0, IV_SIGN_EXTEND, mode)) in iv_analyze_expr()
1005 if (!iv_extend (&iv0, IV_ZERO_EXTEND, mode)) in iv_analyze_expr()
1067 scalar_int_mode mode; in iv_analyze_def() local
1068 if (!REG_P (reg) || !is_a <scalar_int_mode> (GET_MODE (reg), &mode)) in iv_analyze_def()
1085 iv_analyze_expr (insn, mode, rhs, iv); in iv_analyze_def()
1105 iv_analyze_op (rtx_insn *insn, scalar_int_mode mode, rtx op, struct rtx_iv *iv) in iv_analyze_op() argument
1130 return iv_subreg (iv, mode); in iv_analyze_op()
1145 iv_constant (iv, mode, op); in iv_analyze_op()
1157 return iv_analyze_biv (mode, op, iv); in iv_analyze_op()
1166 iv_analyze (rtx_insn *insn, scalar_int_mode mode, rtx val, struct rtx_iv *iv) in iv_analyze() argument
1185 return iv_analyze_op (insn, mode, val, iv); in iv_analyze()
1209 biv_p (rtx_insn *insn, scalar_int_mode mode, rtx reg) in biv_p() argument
1224 if (!iv_analyze_biv (mode, reg, &iv)) in biv_p()
1248 if (iv->extend_mode == iv->mode) in get_iv_value()
1251 val = lowpart_subreg (iv->mode, val, iv->extend_mode); in get_iv_value()
1257 iv->extend_mode, val, iv->mode); in get_iv_value()
1492 machine_mode mode; in implies_p() local
1535 mode = GET_MODE (op0); in implies_p()
1536 if (mode != GET_MODE (opb0)) in implies_p()
1537 mode = VOIDmode; in implies_p()
1538 else if (mode == VOIDmode) in implies_p()
1540 mode = GET_MODE (op1); in implies_p()
1541 if (mode != GET_MODE (opb1)) in implies_p()
1542 mode = VOIDmode; in implies_p()
1556 if (SCALAR_INT_MODE_P (mode) in implies_p()
1558 && simplify_gen_binary (MINUS, mode, opb0, op0) == const1_rtx) in implies_p()
1648 machine_mode mode; in canon_condition() local
1660 mode = GET_MODE (op0); in canon_condition()
1661 if (mode == VOIDmode) in canon_condition()
1662 mode = GET_MODE (op1); in canon_condition()
1663 gcc_assert (mode != VOIDmode); in canon_condition()
1665 if (CONST_SCALAR_INT_P (op1) && GET_MODE_CLASS (mode) != MODE_CC) in canon_condition()
1667 rtx_mode_t const_val (op1, mode); in canon_condition()
1672 if (wi::ne_p (const_val, wi::max_value (mode, SIGNED))) in canon_condition()
1675 op1 = immed_wide_int_const (wi::add (const_val, 1), mode); in canon_condition()
1680 if (wi::ne_p (const_val, wi::min_value (mode, SIGNED))) in canon_condition()
1683 op1 = immed_wide_int_const (wi::sub (const_val, 1), mode); in canon_condition()
1691 op1 = immed_wide_int_const (wi::add (const_val, 1), mode); in canon_condition()
1699 op1 = immed_wide_int_const (wi::sub (const_val, 1), mode); in canon_condition()
2073 shorten_into_mode (struct rtx_iv *iv, scalar_int_mode mode, in shorten_into_mode() argument
2078 get_mode_bounds (mode, signed_p, iv->extend_mode, &mmin, &mmax); in shorten_into_mode()
2123 iv->mode = mode; in shorten_into_mode()
2200 if (iv0->mode != iv0->extend_mode in canonicalize_iv_subregs()
2205 comp_mode, iv0->base, iv0->mode); in canonicalize_iv_subregs()
2211 if (iv1->mode != iv1->extend_mode in canonicalize_iv_subregs()
2216 comp_mode, iv1->base, iv1->mode); in canonicalize_iv_subregs()
2223 if (iv0->mode == iv0->extend_mode in canonicalize_iv_subregs()
2225 && iv0->mode != iv1->mode) in canonicalize_iv_subregs()
2226 shorten_into_mode (iv0, iv1->mode, cond, signed_p, desc); in canonicalize_iv_subregs()
2228 if (iv1->mode == iv1->extend_mode in canonicalize_iv_subregs()
2230 && iv0->mode != iv1->mode) in canonicalize_iv_subregs()
2231 shorten_into_mode (iv1, iv0->mode, swap_condition (cond), signed_p, desc); in canonicalize_iv_subregs()
2233 if (iv0->mode != iv1->mode) in canonicalize_iv_subregs()
2236 desc->mode = iv0->mode; in canonicalize_iv_subregs()
2267 get_mode_bounds (desc->mode, desc->signed_p, desc->mode, &mmin, &mmax); in determine_max_iter()
2283 desc->mode, old_niter, mmax); in determine_max_iter()
2346 scalar_int_mode mode; in iv_number_of_iterations() local
2347 if (!is_a <scalar_int_mode> (nonvoid_mode, &mode)) in iv_number_of_iterations()
2351 if (!iv_analyze (insn, mode, op0, &iv0)) in iv_number_of_iterations()
2355 if (!iv_analyze (insn, mode, op1, &iv1)) in iv_number_of_iterations()
2392 mode = iv0.mode; in iv_number_of_iterations()
2393 size = GET_MODE_PRECISION (mode); in iv_number_of_iterations()
2394 get_mode_bounds (mode, (cond == LE || cond == LT), comp_mode, &mmin, &mmax); in iv_number_of_iterations()
2395 mode_mmin = lowpart_subreg (mode, mmin, comp_mode); in iv_number_of_iterations()
2396 mode_mmax = lowpart_subreg (mode, mmax, comp_mode); in iv_number_of_iterations()
2413 iv0.step = lowpart_subreg (mode, iv0.step, comp_mode); in iv_number_of_iterations()
2414 iv1.step = lowpart_subreg (mode, iv1.step, comp_mode); in iv_number_of_iterations()
2456 tmp = lowpart_subreg (mode, iv0.base, comp_mode); in iv_number_of_iterations()
2457 assumption = simplify_gen_relational (EQ, SImode, mode, tmp, in iv_number_of_iterations()
2466 tmp = lowpart_subreg (mode, iv1.base, comp_mode); in iv_number_of_iterations()
2467 assumption = simplify_gen_relational (EQ, SImode, mode, tmp, in iv_number_of_iterations()
2492 tmp = lowpart_subreg (mode, iv0.base, comp_mode); in iv_number_of_iterations()
2503 tmp = lowpart_subreg (mode, iv1.base, comp_mode); in iv_number_of_iterations()
2526 step = lowpart_subreg (mode, step, comp_mode); in iv_number_of_iterations()
2528 delta = lowpart_subreg (mode, delta, comp_mode); in iv_number_of_iterations()
2529 delta = simplify_gen_binary (UMOD, mode, delta, step); in iv_number_of_iterations()
2552 bound = lowpart_subreg (mode, bound, comp_mode); in iv_number_of_iterations()
2553 tmp = lowpart_subreg (mode, iv0.base, comp_mode); in iv_number_of_iterations()
2554 may_xform = simplify_gen_relational (cond, SImode, mode, in iv_number_of_iterations()
2557 SImode, mode, in iv_number_of_iterations()
2564 bound = lowpart_subreg (mode, bound, comp_mode); in iv_number_of_iterations()
2565 tmp = lowpart_subreg (mode, iv1.base, comp_mode); in iv_number_of_iterations()
2566 may_xform = simplify_gen_relational (cond, SImode, mode, in iv_number_of_iterations()
2569 SImode, mode, in iv_number_of_iterations()
2619 tmp0 = lowpart_subreg (mode, iv0.base, comp_mode); in iv_number_of_iterations()
2620 tmp1 = lowpart_subreg (mode, iv1.base, comp_mode); in iv_number_of_iterations()
2622 SImode, mode, tmp0, tmp1); in iv_number_of_iterations()
2648 iv0.step = lowpart_subreg (mode, iv0.step, comp_mode); in iv_number_of_iterations()
2662 tmp1 = lowpart_subreg (mode, iv1.base, comp_mode); in iv_number_of_iterations()
2663 tmp = simplify_gen_binary (UMOD, mode, tmp1, gen_int_mode (d, mode)); in iv_number_of_iterations()
2664 assumption = simplify_gen_relational (NE, SImode, mode, tmp, const0_rtx); in iv_number_of_iterations()
2667 tmp = simplify_gen_binary (UDIV, mode, tmp1, gen_int_mode (d, mode)); in iv_number_of_iterations()
2669 tmp = simplify_gen_binary (MULT, mode, tmp, gen_int_mode (inv, mode)); in iv_number_of_iterations()
2670 desc->niter_expr = simplify_gen_binary (AND, mode, tmp, bound); in iv_number_of_iterations()
2683 tmp0 = lowpart_subreg (mode, iv0.base, comp_mode); in iv_number_of_iterations()
2684 tmp1 = lowpart_subreg (mode, iv1.base, comp_mode); in iv_number_of_iterations()
2686 bound = simplify_gen_binary (MINUS, mode, mode_mmax, in iv_number_of_iterations()
2687 lowpart_subreg (mode, step, in iv_number_of_iterations()
2696 SImode, mode, in iv_number_of_iterations()
2699 t0 = simplify_gen_binary (UMOD, mode, copy_rtx (tmp0), step); in iv_number_of_iterations()
2700 t1 = simplify_gen_binary (UMOD, mode, copy_rtx (tmp1), step); in iv_number_of_iterations()
2701 tmp = simplify_gen_relational (cond, SImode, mode, t0, t1); in iv_number_of_iterations()
2708 assumption = simplify_gen_relational (cond, SImode, mode, in iv_number_of_iterations()
2715 tmp = lowpart_subreg (mode, tmp, comp_mode); in iv_number_of_iterations()
2717 SImode, mode, tmp0, tmp); in iv_number_of_iterations()
2719 delta = simplify_gen_binary (PLUS, mode, tmp1, step); in iv_number_of_iterations()
2720 delta = simplify_gen_binary (MINUS, mode, delta, tmp0); in iv_number_of_iterations()
2727 step = simplify_gen_unary (NEG, mode, iv1.step, mode); in iv_number_of_iterations()
2728 tmp0 = lowpart_subreg (mode, iv0.base, comp_mode); in iv_number_of_iterations()
2729 tmp1 = lowpart_subreg (mode, iv1.base, comp_mode); in iv_number_of_iterations()
2731 bound = simplify_gen_binary (PLUS, mode, mode_mmin, in iv_number_of_iterations()
2732 lowpart_subreg (mode, step, comp_mode)); in iv_number_of_iterations()
2740 SImode, mode, in iv_number_of_iterations()
2743 t0 = simplify_gen_binary (UMOD, mode, copy_rtx (tmp0), step); in iv_number_of_iterations()
2744 t1 = simplify_gen_binary (UMOD, mode, copy_rtx (tmp1), step); in iv_number_of_iterations()
2745 tmp = simplify_gen_relational (cond, SImode, mode, t0, t1); in iv_number_of_iterations()
2752 assumption = simplify_gen_relational (cond, SImode, mode, in iv_number_of_iterations()
2759 tmp = lowpart_subreg (mode, tmp, comp_mode); in iv_number_of_iterations()
2761 SImode, mode, in iv_number_of_iterations()
2763 delta = simplify_gen_binary (MINUS, mode, tmp0, step); in iv_number_of_iterations()
2764 delta = simplify_gen_binary (MINUS, mode, tmp1, delta); in iv_number_of_iterations()
2771 delta = simplify_gen_binary (UDIV, mode, delta, step); in iv_number_of_iterations()
2817 desc->niter = val & GET_MODE_MASK (desc->mode); in iv_number_of_iterations()