Lines Matching defs:varop

8162 simplify_and_const_int_1 (enum machine_mode mode, rtx varop,
8170 orig_varop = varop;
8172 if (GET_CODE (varop) == CLOBBER)
8182 varop = force_to_mode (varop, mode, constop, 0);
8185 if (GET_CODE (varop) == CLOBBER)
8186 return varop;
8190 if (GET_CODE (varop) == CONST_INT)
8191 return gen_int_mode (INTVAL (varop) & constop, mode);
8197 nonzero = nonzero_bits (varop, mode) & GET_MODE_MASK (mode);
8211 if (GET_CODE (varop) == NEG && nonzero_bits (XEXP (varop, 0), mode) == 1
8213 return simplify_shift_const (NULL_RTX, ASHIFT, mode, XEXP (varop, 0), i);
8221 if (GET_CODE (varop) == IOR || GET_CODE (varop) == XOR)
8226 (simplify_gen_binary (GET_CODE (varop), GET_MODE (varop),
8228 GET_MODE (varop),
8229 XEXP (varop, 0),
8232 GET_MODE (varop),
8233 XEXP (varop, 1),
8240 if (GET_CODE (varop) == PLUS
8245 o0 = simplify_and_const_int (NULL_RTX, mode, XEXP (varop, 0), constop);
8246 o1 = simplify_and_const_int (NULL_RTX, mode, XEXP (varop, 1), constop);
8254 varop = gen_lowpart (mode, varop);
8255 if (varop == NULL_RTX || GET_CODE (varop) == CLOBBER)
8260 return varop;
8262 if (varop == orig_varop && constop == orig_constop)
8266 return simplify_gen_binary (AND, mode, varop, gen_int_mode (constop, mode));
8277 simplify_and_const_int (rtx x, enum machine_mode mode, rtx varop,
8280 rtx tem = simplify_and_const_int_1 (mode, varop, constop);
8285 x = simplify_gen_binary (AND, GET_MODE (varop), varop,
8577 rtx varop, int orig_count)
8580 rtx orig_varop = varop;
8586 /* We form (outer_op (code varop count) (outer_const)). */
8612 if (GET_CODE (varop) == CLOBBER)
8659 varop = const0_rtx;
8668 && (num_sign_bit_copies (varop, shift_mode)
8681 && (count + num_sign_bit_copies (varop, shift_mode)
8691 && ((nonzero_bits (varop, shift_mode)
8698 && !(nonzero_bits (varop, shift_mode) >> count))
8701 && !((nonzero_bits (varop, shift_mode) << count)
8703 && !side_effects_p (varop))
8704 varop = const0_rtx;
8706 switch (GET_CODE (varop))
8712 new = expand_compound_operation (varop);
8713 if (new != varop)
8715 varop = new;
8725 && ! mode_dependent_address_p (XEXP (varop, 0))
8726 && ! MEM_VOLATILE_P (varop)
8730 new = adjust_address_nv (varop, tmode,
8734 varop = gen_rtx_fmt_e (code == ASHIFTRT ? SIGN_EXTEND
8745 if (subreg_lowpart_p (varop)
8746 && (GET_MODE_SIZE (GET_MODE (SUBREG_REG (varop)))
8747 > GET_MODE_SIZE (GET_MODE (varop)))
8748 && (unsigned int) ((GET_MODE_SIZE (GET_MODE (SUBREG_REG (varop)))
8752 varop = SUBREG_REG (varop);
8753 if (GET_MODE_SIZE (GET_MODE (varop)) > GET_MODE_SIZE (mode))
8754 mode = GET_MODE (varop);
8763 if (GET_CODE (XEXP (varop, 1)) == CONST_INT
8764 && exact_log2 (INTVAL (XEXP (varop, 1))) >= 0)
8766 varop
8767 = simplify_gen_binary (ASHIFT, GET_MODE (varop),
8768 XEXP (varop, 0),
8770 INTVAL (XEXP (varop, 1)))));
8777 if (GET_CODE (XEXP (varop, 1)) == CONST_INT
8778 && exact_log2 (INTVAL (XEXP (varop, 1))) >= 0)
8780 varop
8781 = simplify_gen_binary (LSHIFTRT, GET_MODE (varop),
8782 XEXP (varop, 0),
8784 INTVAL (XEXP (varop, 1)))));
8798 >= GET_MODE_BITSIZE (GET_MODE (varop))))
8800 varop = XEXP (varop, 0);
8811 if (GET_CODE (XEXP (varop, 1)) == CONST_INT
8812 && INTVAL (XEXP (varop, 1)) >= 0
8813 && INTVAL (XEXP (varop, 1)) < GET_MODE_BITSIZE (GET_MODE (varop))
8818 enum rtx_code first_code = GET_CODE (varop);
8819 unsigned int first_count = INTVAL (XEXP (varop, 1));
8832 - GET_MODE_BITSIZE (GET_MODE (varop))))
8839 varop = simplify_and_const_int (NULL_RTX, result_mode,
8840 XEXP (varop, 0), mask);
8841 varop = simplify_shift_const (NULL_RTX, ASHIFT, result_mode,
8842 varop, count);
8856 && GET_MODE (varop) == shift_mode
8857 && (num_sign_bit_copies (XEXP (varop, 0), shift_mode)
8860 varop = XEXP (varop, 0);
8888 if (GET_MODE (varop) != result_mode
8894 varop = XEXP (varop, 0);
8901 || (GET_MODE (varop) != result_mode
8911 mask_rtx = GEN_INT (nonzero_bits (varop, GET_MODE (varop)));
8944 varop = XEXP (varop, 0);
8952 else if (GET_CODE (varop) == code
8953 && GET_CODE (XEXP (varop, 0)) == CONST_INT
8954 && GET_CODE (XEXP (varop, 1)) != CONST_INT)
8957 XEXP (varop, 0),
8959 varop = gen_rtx_fmt_ee (code, mode, new, XEXP (varop, 1));
8967 varop = gen_rtx_XOR (mode, XEXP (varop, 0),
8981 if (GET_CODE (varop) == IOR && GET_CODE (XEXP (varop, 0)) == PLUS
8982 && XEXP (XEXP (varop, 0), 1) == constm1_rtx
8985 && count == (GET_MODE_BITSIZE (GET_MODE (varop)) - 1)
8986 && rtx_equal_p (XEXP (XEXP (varop, 0), 0), XEXP (varop, 1)))
8989 varop = gen_rtx_LE (GET_MODE (varop), XEXP (varop, 1),
8993 varop = gen_rtx_NEG (GET_MODE (varop), varop);
9004 if (GET_CODE (XEXP (varop, 1)) == CONST_INT
9007 && !(code == ASHIFTRT && GET_CODE (varop) == XOR
9008 && 0 > trunc_int_for_mode (INTVAL (XEXP (varop, 1)),
9011 XEXP (varop, 1),
9014 && merge_outer_ops (&outer_op, &outer_const, GET_CODE (varop),
9017 varop = XEXP (varop, 0);
9025 if (GET_CODE (XEXP (varop, 1)) == CONST_INT
9026 && !(code == ASHIFTRT && GET_CODE (varop) == XOR
9027 && 0 > trunc_int_for_mode (INTVAL (XEXP (varop, 1)),
9031 XEXP (varop, 0), count);
9033 XEXP (varop, 1), count);
9035 varop = simplify_gen_binary (GET_CODE (varop), shift_mode,
9037 varop = apply_distributive_law (varop);
9050 && XEXP (varop, 1) == const0_rtx
9051 && GET_MODE (XEXP (varop, 0)) == result_mode
9055 && nonzero_bits (XEXP (varop, 0), result_mode) == 1
9060 varop = XEXP (varop, 0);
9071 && nonzero_bits (XEXP (varop, 0), result_mode) == 1)
9073 varop = XEXP (varop, 0);
9085 varop = XEXP (varop, 0);
9096 && XEXP (varop, 1) == constm1_rtx
9097 && nonzero_bits (XEXP (varop, 0), result_mode) == 1
9103 varop = XEXP (varop, 0);
9115 && nonzero_bits (XEXP (varop, 1), result_mode) >> count == 0
9116 && (nonzero_bits (XEXP (varop, 1), result_mode)
9117 & nonzero_bits (XEXP (varop, 0), result_mode)) == 0)
9119 varop = XEXP (varop, 0);
9125 && 0 == (nonzero_bits (XEXP (varop, 0), result_mode)
9127 && 0 == (nonzero_bits (XEXP (varop, 0), result_mode)
9128 & nonzero_bits (XEXP (varop, 1),
9131 varop = XEXP (varop, 1);
9137 && GET_CODE (XEXP (varop, 1)) == CONST_INT
9139 XEXP (varop, 1),
9145 varop = XEXP (varop, 0);
9155 && GET_CODE (XEXP (varop, 1)) == CONST_INT
9156 && mode_signbit_p (result_mode, XEXP (varop, 1))
9158 XEXP (varop, 1),
9164 varop = XEXP (varop, 0);
9179 && GET_CODE (XEXP (varop, 0)) == ASHIFTRT
9180 && count == (GET_MODE_BITSIZE (GET_MODE (varop)) - 1)
9182 && GET_CODE (XEXP (XEXP (varop, 0), 1)) == CONST_INT
9183 && INTVAL (XEXP (XEXP (varop, 0), 1)) == count
9184 && rtx_equal_p (XEXP (XEXP (varop, 0), 0), XEXP (varop, 1)))
9187 varop = gen_rtx_GT (GET_MODE (varop), XEXP (varop, 1),
9191 varop = gen_rtx_NEG (GET_MODE (varop), varop);
9201 && GET_CODE (XEXP (varop, 0)) == LSHIFTRT
9202 && GET_CODE (XEXP (XEXP (varop, 0), 1)) == CONST_INT
9203 && (INTVAL (XEXP (XEXP (varop, 0), 1))
9204 >= (GET_MODE_BITSIZE (GET_MODE (XEXP (varop, 0)))
9205 - GET_MODE_BITSIZE (GET_MODE (varop)))))
9207 rtx varop_inner = XEXP (varop, 0);
9214 varop = gen_rtx_TRUNCATE (GET_MODE (varop), varop_inner);
9244 && varop == orig_varop
9245 && shift_mode == GET_MODE (varop))
9249 varop = gen_lowpart (shift_mode, varop);
9250 if (varop == NULL_RTX || GET_CODE (varop) == CLOBBER)
9259 x = simplify_shift_const_1 (code, shift_mode, varop, count);
9264 x = simplify_gen_binary (code, shift_mode, varop, GEN_INT (count));
9315 rtx varop, int count)
9317 rtx tem = simplify_shift_const_1 (code, result_mode, varop, count);
9322 x = simplify_gen_binary (code, GET_MODE (varop), varop, GEN_INT (count));