Lines Matching refs:target

67 add_equal_note (rtx_insn *insns, rtx target, enum rtx_code code, rtx op0,  in add_equal_note()  argument
83 if (GET_CODE (target) == ZERO_EXTRACT) in add_equal_note()
93 if (reg_overlap_mentioned_p (target, op0) in add_equal_note()
94 || (op1 && reg_overlap_mentioned_p (target, op1))) in add_equal_note()
96 if (MEM_P (target) in add_equal_note()
97 && (rtx_equal_p (target, op0) in add_equal_note()
98 || (op1 && rtx_equal_p (target, op1)))) in add_equal_note()
124 if (! rtx_equal_p (SET_DEST (set), target) in add_equal_note()
127 || ! rtx_equal_p (XEXP (SET_DEST (set), 0), target))) in add_equal_note()
140 if (op0_mode != VOIDmode && GET_MODE (target) != op0_mode) in add_equal_note()
144 > GET_MODE_UNIT_SIZE (GET_MODE (target))) in add_equal_note()
145 note = simplify_gen_unary (TRUNCATE, GET_MODE (target), in add_equal_note()
148 note = simplify_gen_unary (ZERO_EXTEND, GET_MODE (target), in add_equal_note()
154 note = gen_rtx_fmt_e (code, GET_MODE (target), copy_rtx (op0)); in add_equal_note()
158 note = gen_rtx_fmt_ee (code, GET_MODE (target), copy_rtx (op0), copy_rtx (op1)); in add_equal_note()
251 rtx target, int unsignedp) in expand_widen_pattern_expr() argument
292 create_output_operand (&eops[op++], target, TYPE_MODE (ops->type)); in expand_widen_pattern_expr()
315 rtx op1, rtx op2, rtx target, int unsignedp) in expand_ternary_op() argument
322 create_output_operand (&ops[0], target, mode); in expand_ternary_op()
337 rtx op0, rtx op1, rtx target, int unsignedp, in simplify_expand_binop() argument
348 return expand_binop (mode, binoptab, op0, op1, target, unsignedp, methods); in simplify_expand_binop()
356 rtx op0, rtx op1, rtx target, int unsignedp, in force_expand_binop() argument
360 target, unsignedp, methods); in force_expand_binop()
363 if (x != target) in force_expand_binop()
364 emit_move_insn (target, x); in force_expand_binop()
790 expand_doubleword_mult (machine_mode mode, rtx op0, rtx op1, rtx target, in expand_doubleword_mult() argument
875 if (target && !REG_P (target)) in expand_doubleword_mult()
876 target = NULL_RTX; in expand_doubleword_mult()
885 target, 1, OPTAB_DIRECT); in expand_doubleword_mult()
888 target, 1, OPTAB_DIRECT); in expand_doubleword_mult()
905 rtx op1, rtx target, int unsignedp, in expand_simple_binop() argument
911 return expand_binop (mode, binop, op0, op1, target, unsignedp, methods); in expand_simple_binop()
918 swap_commutative_operands_with_target (rtx target, rtx op0, rtx op1) in swap_commutative_operands_with_target() argument
931 if (target == 0 || REG_P (target)) in swap_commutative_operands_with_target()
932 return (REG_P (op1) && !REG_P (op0)) || target == op1; in swap_commutative_operands_with_target()
934 return rtx_equal_p (op1, target); in swap_commutative_operands_with_target()
1006 rtx target, int unsignedp, enum optab_methods methods, in expand_binop_directly() argument
1062 && swap_commutative_operands_with_target (target, xop0, xop1)) in expand_binop_directly()
1087 create_output_operand (&ops[0], target, tmp_mode); in expand_binop_directly()
1126 rtx target, int unsignedp, enum optab_methods methods) in expand_binop() argument
1178 target, unsignedp, methods, last); in expand_binop()
1206 target, unsignedp, methods, last); in expand_binop()
1272 target, unsignedp, methods, last); in expand_binop()
1331 if (target == 0) in expand_binop()
1332 target = gen_reg_rtx (mode); in expand_binop()
1333 convert_move (target, temp, 0); in expand_binop()
1334 return target; in expand_binop()
1349 && swap_commutative_operands_with_target (target, op0, op1)) in expand_binop()
1363 if (target == 0 in expand_binop()
1364 || target == op0 in expand_binop()
1365 || target == op1 in expand_binop()
1366 || !valid_multiword_target_p (target)) in expand_binop()
1367 target = gen_reg_rtx (int_mode); in expand_binop()
1374 rtx target_piece = operand_subword (target, i, 1, int_mode); in expand_binop()
1393 return target; in expand_binop()
1437 if (target == 0 in expand_binop()
1438 || target == op0 in expand_binop()
1439 || target == op1 in expand_binop()
1440 || !valid_multiword_target_p (target)) in expand_binop()
1441 target = gen_reg_rtx (int_mode); in expand_binop()
1453 outof_target = operand_subword (target, outof_word, 1, int_mode); in expand_binop()
1454 into_target = operand_subword (target, 1 - outof_word, 1, int_mode); in expand_binop()
1468 return target; in expand_binop()
1494 if (target == 0 in expand_binop()
1495 || target == op0 in expand_binop()
1496 || target == op1 in expand_binop()
1497 || !REG_P (target) in expand_binop()
1498 || !valid_multiword_target_p (target)) in expand_binop()
1499 target = gen_reg_rtx (int_mode); in expand_binop()
1513 outof_target = operand_subword (target, outof_word, 1, int_mode); in expand_binop()
1514 into_target = operand_subword (target, 1 - outof_word, 1, int_mode); in expand_binop()
1591 return target; in expand_binop()
1622 if (target == 0 || !REG_P (target) || !valid_multiword_target_p (target)) in expand_binop()
1623 target = xtarget; in expand_binop()
1626 if (REG_P (target)) in expand_binop()
1697 || ! rtx_equal_p (target, xtarget)) in expand_binop()
1699 rtx_insn *temp = emit_move_insn (target, xtarget); in expand_binop()
1705 target); in expand_binop()
1708 target = xtarget; in expand_binop()
1710 return target; in expand_binop()
1732 product = expand_doubleword_mult (int_mode, op0, op1, target, in expand_binop()
1742 product = expand_doubleword_mult (int_mode, op0, op1, target, in expand_binop()
1752 rtx_insn *move = emit_move_insn (target ? target : product, in expand_binop()
1759 target ? target : product); in expand_binop()
1801 target = gen_reg_rtx (mode); in expand_binop()
1802 emit_libcall_block_1 (insns, target, value, in expand_binop()
1807 return target; in expand_binop()
1870 if (target == 0) in expand_binop()
1871 target = gen_reg_rtx (mode); in expand_binop()
1872 convert_move (target, temp, 0); in expand_binop()
1873 return target; in expand_binop()
1897 rtx op0, rtx op1, rtx target, int unsignedp, in sign_expand_binop() argument
1905 temp = expand_binop (mode, direct_optab, op0, op1, target, in sign_expand_binop()
1914 temp = expand_binop (mode, soptab, op0, op1, target, in sign_expand_binop()
1919 temp = expand_binop (mode, uoptab, op0, op1, target, in sign_expand_binop()
1925 temp = expand_binop (mode, direct_optab, op0, op1, target, in sign_expand_binop()
1931 temp = expand_binop (mode, soptab, op0, op1, target, in sign_expand_binop()
1934 temp = expand_binop (mode, uoptab, op0, op1, target, in sign_expand_binop()
2151 rtx target, int unsignedp) in expand_simple_unop() argument
2156 return expand_unop (mode, unop, op0, target, unsignedp); in expand_simple_unop()
2167 widen_leading (scalar_int_mode mode, rtx op0, rtx target, optab unoptab) in widen_leading() argument
2180 if (target == 0) in widen_leading()
2181 target = gen_reg_rtx (mode); in widen_leading()
2192 target, true, OPTAB_DIRECT); in widen_leading()
2205 expand_doubleword_clz (scalar_int_mode mode, rtx op0, rtx target) in expand_doubleword_clz() argument
2218 if (!target) in expand_doubleword_clz()
2219 target = gen_reg_rtx (word_mode); in expand_doubleword_clz()
2259 convert_move (target, result, true); in expand_doubleword_clz()
2264 add_equal_note (seq, target, CLZ, xop0, NULL_RTX, mode); in expand_doubleword_clz()
2266 return target; in expand_doubleword_clz()
2276 expand_doubleword_popcount (scalar_int_mode mode, rtx op0, rtx target) in expand_doubleword_popcount() argument
2298 if (!target) in expand_doubleword_popcount()
2299 target = gen_reg_rtx (word_mode); in expand_doubleword_popcount()
2301 t = expand_binop (word_mode, add_optab, t0, t1, target, 0, OPTAB_DIRECT); in expand_doubleword_popcount()
2316 expand_doubleword_parity (scalar_int_mode mode, rtx op0, rtx target) in expand_doubleword_parity() argument
2322 return expand_unop (word_mode, parity_optab, t, target, true); in expand_doubleword_parity()
2330 widen_bswap (scalar_int_mode mode, rtx op0, rtx target) in widen_bswap() argument
2360 if (target == 0) in widen_bswap()
2361 target = gen_reg_rtx (mode); in widen_bswap()
2362 emit_move_insn (target, gen_lowpart (mode, x)); in widen_bswap()
2367 return target; in widen_bswap()
2373 expand_doubleword_bswap (machine_mode mode, rtx op, rtx target) in expand_doubleword_bswap() argument
2382 if (target == 0 || !valid_multiword_target_p (target)) in expand_doubleword_bswap()
2383 target = gen_reg_rtx (mode); in expand_doubleword_bswap()
2384 if (REG_P (target)) in expand_doubleword_bswap()
2385 emit_clobber (target); in expand_doubleword_bswap()
2386 emit_move_insn (operand_subword (target, 0, 1, mode), t0); in expand_doubleword_bswap()
2387 emit_move_insn (operand_subword (target, 1, 1, mode), t1); in expand_doubleword_bswap()
2389 return target; in expand_doubleword_bswap()
2395 expand_parity (scalar_int_mode mode, rtx op0, rtx target) in expand_parity() argument
2409 if (target == 0 || GET_MODE (target) != wider_mode) in expand_parity()
2410 target = gen_reg_rtx (wider_mode); in expand_parity()
2417 target, true, OPTAB_DIRECT); in expand_parity()
2447 expand_ctz (scalar_int_mode mode, rtx op0, rtx target) in expand_ctz() argument
2466 temp, target, in expand_ctz()
2490 expand_ffs (scalar_int_mode mode, rtx op0, rtx target) in expand_ffs() argument
2548 target, false, OPTAB_DIRECT); in expand_ffs()
2589 rtx op0, rtx target) in expand_absneg_bit() argument
2633 if (target == 0 in expand_absneg_bit()
2634 || target == op0 in expand_absneg_bit()
2635 || (nwords > 1 && !valid_multiword_target_p (target))) in expand_absneg_bit()
2636 target = gen_reg_rtx (mode); in expand_absneg_bit()
2644 rtx targ_piece = operand_subword (target, i, 1, mode); in expand_absneg_bit()
2670 gen_lowpart (imode, target), 1, OPTAB_LIB_WIDEN); in expand_absneg_bit()
2671 target = lowpart_subreg_maybe_copy (mode, temp, imode); in expand_absneg_bit()
2675 target); in expand_absneg_bit()
2678 return target; in expand_absneg_bit()
2684 expand_unop_direct (machine_mode mode, optab unoptab, rtx op0, rtx target, in expand_unop_direct() argument
2694 create_output_operand (&ops[0], target, mode); in expand_unop_direct()
2728 expand_unop (machine_mode mode, optab unoptab, rtx op0, rtx target, in expand_unop() argument
2738 temp = expand_unop_direct (mode, unoptab, op0, target, unsignedp); in expand_unop()
2749 temp = widen_leading (int_mode, op0, target, unoptab); in expand_unop()
2756 temp = expand_doubleword_clz (int_mode, op0, target); in expand_unop()
2769 temp = widen_leading (int_mode, op0, target, unoptab); in expand_unop()
2782 temp = expand_doubleword_popcount (int_mode, op0, target); in expand_unop()
2794 temp = expand_doubleword_parity (int_mode, op0, target); in expand_unop()
2815 target, unsignedp, OPTAB_DIRECT); in expand_unop()
2824 target, unsignedp, OPTAB_DIRECT); in expand_unop()
2839 temp = expand_binop (mode, ior_optab, temp1, temp2, target, in expand_unop()
2850 temp = widen_bswap (int_mode, op0, target); in expand_unop()
2857 temp = expand_doubleword_bswap (mode, op0, target); in expand_unop()
2891 if (target == 0) in expand_unop()
2892 target = gen_reg_rtx (mode); in expand_unop()
2893 convert_move (target, temp, 0); in expand_unop()
2894 return target; in expand_unop()
2913 if (target == 0 || target == op0 || !valid_multiword_target_p (target)) in expand_unop()
2914 target = gen_reg_rtx (int_mode); in expand_unop()
2921 rtx target_piece = operand_subword (target, i, 1, int_mode); in expand_unop()
2934 return target; in expand_unop()
2942 temp = expand_absneg_bit (NEG, float_mode, op0, target); in expand_unop()
2953 CONST0_RTX (mode), op0, target, in expand_unop()
2963 temp = expand_parity (int_mode, op0, target); in expand_unop()
2971 temp = expand_ffs (int_mode, op0, target); in expand_unop()
2979 temp = expand_ctz (int_mode, op0, target); in expand_unop()
3012 target = gen_reg_rtx (outmode); in expand_unop()
3025 emit_libcall_block_1 (insns, target, value, eq_value, trapv); in expand_unop()
3027 return target; in expand_unop()
3067 target, true, OPTAB_DIRECT); in expand_unop()
3091 if (target == 0) in expand_unop()
3092 target = gen_reg_rtx (mode); in expand_unop()
3093 convert_move (target, temp, 0); in expand_unop()
3094 return target; in expand_unop()
3113 target, unsignedp, OPTAB_LIB_WIDEN); in expand_unop()
3131 expand_abs_nojump (machine_mode mode, rtx op0, rtx target, in expand_abs_nojump() argument
3142 op0, target, 0); in expand_abs_nojump()
3150 temp = expand_absneg_bit (ABS, float_mode, op0, target); in expand_abs_nojump()
3164 temp = expand_binop (mode, smax_optab, op0, temp, target, 0, in expand_abs_nojump()
3186 temp = expand_binop (int_mode, xor_optab, extended, op0, target, 0, in expand_abs_nojump()
3191 temp, extended, target, 0, OPTAB_LIB_WIDEN); in expand_abs_nojump()
3201 expand_abs (machine_mode mode, rtx op0, rtx target, in expand_abs() argument
3211 temp = expand_abs_nojump (mode, op0, target, result_unsignedp); in expand_abs()
3219 if (op0 == target && REG_P (op0) in expand_abs()
3224 if (target == 0 || ! safe in expand_abs()
3225 || GET_MODE (target) != mode in expand_abs()
3226 || (MEM_P (target) && MEM_VOLATILE_P (target)) in expand_abs()
3227 || (REG_P (target) in expand_abs()
3228 && REGNO (target) < FIRST_PSEUDO_REGISTER)) in expand_abs()
3229 target = gen_reg_rtx (mode); in expand_abs()
3231 emit_move_insn (target, op0); in expand_abs()
3234 do_compare_rtx_and_jump (target, CONST0_RTX (mode), GE, 0, mode, in expand_abs()
3239 target, target, 0); in expand_abs()
3240 if (op0 != target) in expand_abs()
3241 emit_move_insn (target, op0); in expand_abs()
3244 return target; in expand_abs()
3256 expand_one_cmpl_abs_nojump (machine_mode mode, rtx op0, rtx target) in expand_one_cmpl_abs_nojump() argument
3271 temp = expand_binop (mode, smax_optab, op0, temp, target, 0, in expand_one_cmpl_abs_nojump()
3292 temp = expand_binop (int_mode, xor_optab, extended, op0, target, 0, in expand_one_cmpl_abs_nojump()
3308 expand_copysign_absneg (scalar_float_mode mode, rtx op0, rtx op1, rtx target, in expand_copysign_absneg() argument
3316 if (target == op1) in expand_copysign_absneg()
3317 target = NULL_RTX; in expand_copysign_absneg()
3357 op0 = expand_unop (mode, abs_optab, op0, target, 0); in expand_copysign_absneg()
3360 target = op0; in expand_copysign_absneg()
3364 if (target == NULL_RTX) in expand_copysign_absneg()
3365 target = copy_to_reg (op0); in expand_copysign_absneg()
3367 emit_move_insn (target, op0); in expand_copysign_absneg()
3376 op0 = expand_unop (mode, neg_optab, op0, target, 0); in expand_copysign_absneg()
3377 if (op0 != target) in expand_copysign_absneg()
3378 emit_move_insn (target, op0); in expand_copysign_absneg()
3382 return target; in expand_copysign_absneg()
3391 expand_copysign_bit (scalar_float_mode mode, rtx op0, rtx op1, rtx target, in expand_copysign_bit() argument
3420 if (target == 0 in expand_copysign_bit()
3421 || target == op0 in expand_copysign_bit()
3422 || target == op1 in expand_copysign_bit()
3423 || (nwords > 1 && !valid_multiword_target_p (target))) in expand_copysign_bit()
3424 target = gen_reg_rtx (mode); in expand_copysign_bit()
3432 rtx targ_piece = operand_subword (target, i, 1, mode); in expand_copysign_bit()
3474 gen_lowpart (imode, target), 1, OPTAB_LIB_WIDEN); in expand_copysign_bit()
3475 target = lowpart_subreg_maybe_copy (mode, temp, imode); in expand_copysign_bit()
3478 return target; in expand_copysign_bit()
3486 expand_copysign (rtx op0, rtx op1, rtx target) in expand_copysign() argument
3498 target, 0, OPTAB_DIRECT); in expand_copysign()
3519 temp = expand_copysign_absneg (mode, op0, op1, target, in expand_copysign()
3527 return expand_copysign_bit (mode, op0, op1, target, in expand_copysign()
3540 maybe_emit_unop_insn (enum insn_code icode, rtx target, rtx op0, in maybe_emit_unop_insn() argument
3546 create_output_operand (&ops[0], target, GET_MODE (target)); in maybe_emit_unop_insn()
3559 if (ops[0].value != target) in maybe_emit_unop_insn()
3560 emit_move_insn (target, ops[0].value); in maybe_emit_unop_insn()
3570 emit_unop_insn (enum insn_code icode, rtx target, rtx op0, enum rtx_code code) in emit_unop_insn() argument
3572 bool ok = maybe_emit_unop_insn (icode, target, op0, code); in emit_unop_insn()
3578 rtx target; member
3592 if (reg_overlap_mentioned_p (p->target, dest)) in no_conflict_move_test()
3631 emit_libcall_block_1 (rtx_insn *insns, rtx target, rtx result, rtx equiv, in emit_libcall_block_1() argument
3634 rtx final_dest = target; in emit_libcall_block_1()
3639 if (! REG_P (target) || REG_USERVAR_P (target)) in emit_libcall_block_1()
3640 target = gen_reg_rtx (GET_MODE (target)); in emit_libcall_block_1()
3688 data.target = const0_rtx; in emit_libcall_block_1()
3721 last = emit_move_insn (target, result); in emit_libcall_block_1()
3723 set_dst_reg_note (last, REG_EQUAL, copy_rtx (equiv), target); in emit_libcall_block_1()
3725 if (final_dest != target) in emit_libcall_block_1()
3726 emit_move_insn (final_dest, target); in emit_libcall_block_1()
3730 emit_libcall_block (rtx_insn *insns, rtx target, rtx result, rtx equiv) in emit_libcall_block() argument
3732 emit_libcall_block_1 (insns, target, result, equiv, false); in emit_libcall_block()
4123 rtx value, target, equiv; in prepare_float_lib_cmp() local
4229 target = gen_reg_rtx (cmp_mode); in prepare_float_lib_cmp()
4230 emit_libcall_block (insns, target, value, equiv); in prepare_float_lib_cmp()
4235 *ptest = gen_rtx_fmt_ee (reversed_p ? EQ : NE, VOIDmode, target, false_rtx); in prepare_float_lib_cmp()
4237 *ptest = gen_rtx_fmt_ee (comparison, VOIDmode, target, const0_rtx); in prepare_float_lib_cmp()
4274 emit_conditional_move (rtx target, enum rtx_code code, rtx op0, rtx op1, in emit_conditional_move() argument
4287 if (!target) in emit_conditional_move()
4288 target = gen_reg_rtx (mode); in emit_conditional_move()
4290 emit_move_insn (target, op3); in emit_conditional_move()
4291 return target; in emit_conditional_move()
4333 if (!target) in emit_conditional_move()
4334 target = gen_reg_rtx (mode); in emit_conditional_move()
4358 create_output_operand (&ops[0], target, mode); in emit_conditional_move()
4364 if (ops[0].value != target) in emit_conditional_move()
4365 convert_move (target, ops[0].value, false); in emit_conditional_move()
4366 return target; in emit_conditional_move()
4401 emit_conditional_neg_or_complement (rtx target, rtx_code code, in emit_conditional_neg_or_complement() argument
4418 if (!target) in emit_conditional_neg_or_complement()
4419 target = gen_reg_rtx (mode); in emit_conditional_neg_or_complement()
4424 create_output_operand (&ops[0], target, mode); in emit_conditional_neg_or_complement()
4431 if (ops[0].value != target) in emit_conditional_neg_or_complement()
4432 convert_move (target, ops[0].value, false); in emit_conditional_neg_or_complement()
4434 return target; in emit_conditional_neg_or_complement()
4455 emit_conditional_add (rtx target, enum rtx_code code, rtx op0, rtx op1, in emit_conditional_add() argument
4491 if (!target) in emit_conditional_add()
4492 target = gen_reg_rtx (mode); in emit_conditional_add()
4512 create_output_operand (&ops[0], target, mode); in emit_conditional_add()
4518 if (ops[0].value != target) in emit_conditional_add()
4519 convert_move (target, ops[0].value, false); in emit_conditional_add()
4520 return target; in emit_conditional_add()
4691 rtx target = to; in expand_float() local
4730 target = gen_reg_rtx (fmode); in expand_float()
4732 emit_unop_insn (icode, target, from, in expand_float()
4735 if (target != to) in expand_float()
4736 convert_move (to, target, 0); in expand_float()
4779 if (!REG_P (target) in expand_float()
4780 || REGNO (target) < FIRST_PSEUDO_REGISTER in expand_float()
4781 || GET_MODE (target) != fmode) in expand_float()
4782 target = gen_reg_rtx (fmode); in expand_float()
4792 expand_float (target, from, 0); in expand_float()
4807 expand_float (target, temp, 0); in expand_float()
4810 temp = expand_binop (fmode, add_optab, target, target, in expand_float()
4811 target, 0, OPTAB_LIB_WIDEN); in expand_float()
4812 if (temp != target) in expand_float()
4813 emit_move_insn (target, temp); in expand_float()
4826 target = gen_reg_rtx (fmode); in expand_float()
4829 expand_float (target, from, 0); in expand_float()
4840 temp = expand_binop (fmode, add_optab, target, in expand_float()
4842 target, 0, OPTAB_LIB_WIDEN); in expand_float()
4843 if (temp != target) in expand_float()
4844 emit_move_insn (target, temp); in expand_float()
4871 emit_libcall_block (insns, target, value, in expand_float()
4881 if (target != to) in expand_float()
4883 if (GET_MODE (target) == GET_MODE (to)) in expand_float()
4884 emit_move_insn (to, target); in expand_float()
4886 convert_move (to, target, 0); in expand_float()
4897 rtx target = to; in expand_fix() local
4930 target = gen_reg_rtx (imode); in expand_fix()
4932 if (maybe_emit_unop_insn (icode, target, from, in expand_fix()
4935 if (target != to) in expand_fix()
4936 convert_move (to, target, unsignedp); in expand_fix()
5008 target = expand_binop (GET_MODE (from), sub_optab, from, limit, in expand_fix()
5010 expand_fix (to, target, 0); in expand_fix()
5011 target = expand_binop (to_mode, xor_optab, to, in expand_fix()
5017 if (target != to) in expand_fix()
5018 emit_move_insn (to, target); in expand_fix()
5042 target = gen_reg_rtx (SImode); in expand_fix()
5044 expand_fix (target, from, unsignedp); in expand_fix()
5063 emit_libcall_block (insns, target, value, in expand_fix()
5068 if (target != to) in expand_fix()
5070 if (GET_MODE (to) == GET_MODE (target)) in expand_fix()
5071 emit_move_insn (to, target); in expand_fix()
5073 convert_move (to, target, 0); in expand_fix()
5167 rtx target = to; in expand_sfix_optab() local
5186 target = gen_reg_rtx (imode); in expand_sfix_optab()
5188 if (!maybe_emit_unop_insn (icode, target, from, UNKNOWN)) in expand_sfix_optab()
5193 if (target != to) in expand_sfix_optab()
5194 convert_move (to, target, 0); in expand_sfix_optab()
5440 expand_vec_perm_1 (enum insn_code icode, rtx target, in expand_vec_perm_1() argument
5443 machine_mode tmode = GET_MODE (target); in expand_vec_perm_1()
5449 create_output_operand (&ops[0], target, tmode); in expand_vec_perm_1()
5486 rtx target) in expand_vec_perm_const() argument
5488 if (!target || !register_operand (target, mode)) in expand_vec_perm_const()
5489 target = gen_reg_rtx (mode); in expand_vec_perm_const()
5523 create_output_operand (&ops[0], target, mode); in expand_vec_perm_const()
5549 if (targetm.vectorize.vec_perm_const (mode, target, v0, v1, indices)) in expand_vec_perm_const()
5550 return target; in expand_vec_perm_const()
5597 rtx tmp = expand_vec_perm_1 (icode, target, v0, v1, sel_rtx); in expand_vec_perm_const()
5628 expand_vec_perm_var (machine_mode mode, rtx v0, rtx v1, rtx sel, rtx target) in expand_vec_perm_var() argument
5636 if (!target || GET_MODE (target) != mode) in expand_vec_perm_var()
5637 target = gen_reg_rtx (mode); in expand_vec_perm_var()
5642 tmp = expand_vec_perm_1 (icode, target, v0, v1, sel); in expand_vec_perm_var()
5691 tmp = mode != qimode ? gen_reg_rtx (qimode) : target; in expand_vec_perm_var()
5704 rtx target) in expand_vec_cond_mask_expr() argument
5722 create_output_operand (&ops[0], target, mode); in expand_vec_cond_mask_expr()
5736 rtx target) in expand_vec_cond_expr() argument
5759 op2, target); in expand_vec_cond_expr()
5792 create_output_operand (&ops[0], target, mode); in expand_vec_cond_expr()
5806 expand_vec_series_expr (machine_mode vmode, rtx op0, rtx op1, rtx target) in expand_vec_series_expr() argument
5815 create_output_operand (&ops[0], target, vmode); in expand_vec_series_expr()
5826 expand_vec_cmp_expr (tree type, tree exp, rtx target) in expand_vec_cmp_expr() argument
5855 create_output_operand (&ops[0], target, mask_mode); in expand_vec_cmp_expr()
5867 rtx target, bool uns_p) in expand_mult_highpart() argument
5883 return expand_binop (mode, tab1, op0, op1, target, uns_p, in expand_mult_highpart()
5934 return expand_vec_perm_const (mode, m1, m2, sel, BLKmode, target); in expand_mult_highpart()
6013 maybe_emit_atomic_exchange (rtx target, rtx mem, rtx val, enum memmodel model) in maybe_emit_atomic_exchange() argument
6024 create_output_operand (&ops[0], target, mode); in maybe_emit_atomic_exchange()
6042 maybe_emit_sync_lock_test_and_set (rtx target, rtx mem, rtx val, in maybe_emit_sync_lock_test_and_set() argument
6061 create_output_operand (&ops[0], target, mode); in maybe_emit_sync_lock_test_and_set()
6097 maybe_emit_compare_and_swap_exchange_loop (rtx target, rtx mem, rtx val) in maybe_emit_compare_and_swap_exchange_loop() argument
6103 if (!target || !register_operand (target, mode)) in maybe_emit_compare_and_swap_exchange_loop()
6104 target = gen_reg_rtx (mode); in maybe_emit_compare_and_swap_exchange_loop()
6105 if (expand_compare_and_swap_loop (mem, target, val, NULL_RTX)) in maybe_emit_compare_and_swap_exchange_loop()
6106 return target; in maybe_emit_compare_and_swap_exchange_loop()
6117 maybe_emit_atomic_test_and_set (rtx target, rtx mem, enum memmodel model) in maybe_emit_atomic_test_and_set() argument
6135 create_output_operand (&ops[0], target, pat_bool_mode); in maybe_emit_atomic_test_and_set()
6152 expand_sync_lock_test_and_set (rtx target, rtx mem, rtx val) in expand_sync_lock_test_and_set() argument
6157 ret = maybe_emit_atomic_exchange (target, mem, val, MEMMODEL_SYNC_ACQUIRE); in expand_sync_lock_test_and_set()
6161 ret = maybe_emit_sync_lock_test_and_set (target, mem, val, in expand_sync_lock_test_and_set()
6166 ret = maybe_emit_compare_and_swap_exchange_loop (target, mem, val); in expand_sync_lock_test_and_set()
6173 ret = maybe_emit_atomic_test_and_set (target, mem, MEMMODEL_SYNC_ACQUIRE); in expand_sync_lock_test_and_set()
6185 expand_atomic_test_and_set (rtx target, rtx mem, enum memmodel model) in expand_atomic_test_and_set() argument
6190 ret = maybe_emit_atomic_test_and_set (target, mem, model); in expand_atomic_test_and_set()
6200 subtarget = target ? target : gen_reg_rtx (mode); in expand_atomic_test_and_set()
6239 ret = emit_store_flag_force (target, NE, ret, const0_rtx, mode, 0, 1); in expand_atomic_test_and_set()
6251 expand_atomic_exchange (rtx target, rtx mem, rtx val, enum memmodel model) in expand_atomic_exchange() argument
6262 ret = maybe_emit_atomic_exchange (target, mem, val, model); in expand_atomic_exchange()
6266 ret = maybe_emit_compare_and_swap_exchange_loop (target, mem, val); in expand_atomic_exchange()
6387 rtx target = emit_library_call_value (libfunc, NULL_RTX, LCT_NORMAL, in expand_atomic_compare_and_swap() local
6390 emit_move_insn (target_oval, target); in expand_atomic_compare_and_swap()
6483 expand_atomic_load (rtx target, rtx mem, enum memmodel model) in expand_atomic_load() argument
6497 create_output_operand (&ops[0], target, mode); in expand_atomic_load()
6519 if (!target || target == const0_rtx) in expand_atomic_load()
6520 target = gen_reg_rtx (mode); in expand_atomic_load()
6526 emit_move_insn (target, mem); in expand_atomic_load()
6531 return target; in expand_atomic_load()
6596 rtx target = maybe_emit_atomic_exchange (NULL_RTX, mem, val, model); in expand_atomic_store() local
6597 if (!target) in expand_atomic_store()
6598 target = maybe_emit_compare_and_swap_exchange_loop (NULL_RTX, mem, in expand_atomic_store()
6600 if (target) in expand_atomic_store()
6714 maybe_optimize_fetch_op (rtx target, rtx mem, rtx val, enum rtx_code code, in maybe_optimize_fetch_op() argument
6719 if (!after || target == const0_rtx) in maybe_optimize_fetch_op()
6724 if (target == const0_rtx) in maybe_optimize_fetch_op()
6725 target = gen_reg_rtx (GET_MODE (mem)); in maybe_optimize_fetch_op()
6726 return maybe_emit_atomic_exchange (target, mem, val, model); in maybe_optimize_fetch_op()
6732 if (target == const0_rtx) in maybe_optimize_fetch_op()
6733 target = gen_reg_rtx (GET_MODE (mem)); in maybe_optimize_fetch_op()
6734 return maybe_emit_atomic_exchange (target, mem, val, model); in maybe_optimize_fetch_op()
6751 maybe_emit_op (const struct atomic_op_functions *optab, rtx target, rtx mem, in maybe_emit_op() argument
6761 if (target == const0_rtx) in maybe_emit_op()
6791 create_output_operand (&ops[op_counter++], target, mode); in maybe_emit_op()
6801 return (target == const0_rtx ? const0_rtx : ops[0].value); in maybe_emit_op()
6820 expand_atomic_fetch_op_no_fallback (rtx target, rtx mem, rtx val, in expand_atomic_fetch_op_no_fallback() argument
6827 bool unused_result = (target == const0_rtx); in expand_atomic_fetch_op_no_fallback()
6832 result = maybe_optimize_fetch_op (target, mem, val, code, model, after); in expand_atomic_fetch_op_no_fallback()
6840 result = maybe_emit_op (&optab, target, mem, val, true, model, true); in expand_atomic_fetch_op_no_fallback()
6845 result = maybe_emit_op (&optab, target, mem, val, false, model, true); in expand_atomic_fetch_op_no_fallback()
6850 target = NULL_RTX; in expand_atomic_fetch_op_no_fallback()
6854 result = maybe_emit_op (&optab, target, mem, val, true, model, after); in expand_atomic_fetch_op_no_fallback()
6859 result = maybe_emit_op (&optab, target, mem, val, false, model, after); in expand_atomic_fetch_op_no_fallback()
6868 result = maybe_emit_op (&optab, target, mem, val, true, model, !after); in expand_atomic_fetch_op_no_fallback()
6870 result = maybe_emit_op (&optab, target, mem, val, false, model, !after); in expand_atomic_fetch_op_no_fallback()
6886 result = expand_simple_unop (mode, NOT, result, target, true); in expand_atomic_fetch_op_no_fallback()
6889 result = expand_simple_binop (mode, code, result, val, target, in expand_atomic_fetch_op_no_fallback()
6910 expand_atomic_fetch_op (rtx target, rtx mem, rtx val, enum rtx_code code, in expand_atomic_fetch_op() argument
6915 bool unused_result = (target == const0_rtx); in expand_atomic_fetch_op()
6923 result = expand_atomic_fetch_op_no_fallback (target, mem, val, code, model, in expand_atomic_fetch_op()
6937 result = expand_atomic_fetch_op_no_fallback (target, mem, tmp, reverse, in expand_atomic_fetch_op()
6979 result = expand_simple_binop (mode, code, result, val, target, in expand_atomic_fetch_op()
6999 if (!target || !register_operand (target, mode)) in expand_atomic_fetch_op()
7000 target = gen_reg_rtx (mode); in expand_atomic_fetch_op()
7003 emit_move_insn (target, t0); in expand_atomic_fetch_op()
7006 target = const0_rtx; in expand_atomic_fetch_op()
7021 emit_move_insn (target, t1); in expand_atomic_fetch_op()
7026 return target; in expand_atomic_fetch_op()
7048 valid_multiword_target_p (rtx target) in valid_multiword_target_p() argument
7053 mode = GET_MODE (target); in valid_multiword_target_p()
7057 if (!validate_subreg (word_mode, mode, target, i)) in valid_multiword_target_p()
7147 op->target = 0; in maybe_legitimize_operand()