Lines Matching defs:ad

4700 make_memloc (rtx ad, int regno)
4713 tem = adjust_address_nv (tem, GET_MODE (ad), 0);
4727 maybe_memory_address_p (enum machine_mode mode, rtx ad, rtx *part)
4734 retv = memory_address_p (mode, ad);
4766 find_reloads_address (enum machine_mode mode, rtx *memrefloc, rtx ad,
4779 if (REG_P (ad))
4781 regno = REGNO (ad);
4790 *loc = ad = tem;
4799 tem = make_memloc (ad, regno);
4833 PUT_MODE (emit_insn_before (gen_rtx_USE (VOIDmode, ad),
4841 ad = tem;
4855 push_reload (ad, NULL_RTX, loc, (rtx*) 0, base_reg_class (mode, MEM, SCRATCH),
4856 GET_MODE (ad), VOIDmode, 0, 0, opnum, type);
4860 if (strict_memory_address_p (mode, ad))
4870 if (GET_CODE (ad) == PLUS
4871 && GET_CODE (XEXP (ad, 1)) == CONST_INT
4872 && REG_P (XEXP (ad, 0))
4873 && reg_equiv_constant[REGNO (XEXP (ad, 0))] == 0)
4877 *loc = subst_reg_equivs (ad, insn);
4883 if (strict_memory_address_p (mode, ad))
4892 LEGITIMIZE_RELOAD_ADDRESS (ad, GET_MODE (*memrefloc), opnum, type,
4898 XEXP (*memrefloc, 0) = ad;
4899 move_replacements (&ad, &XEXP (*memrefloc, 0));
4908 if (GET_CODE (ad) == AND)
4911 loc = &XEXP (ad, 0);
4912 ad = *loc;
4921 if (MEM_P (ad))
4925 tem = ad;
4926 find_reloads_address (GET_MODE (ad), &tem, XEXP (ad, 0), &XEXP (ad, 0),
4932 if (tem != ad && memrefloc)
4970 else if (GET_CODE (ad) == PLUS
4971 && REG_P (XEXP (ad, 0))
4972 && REGNO (XEXP (ad, 0)) < FIRST_PSEUDO_REGISTER
4973 && GET_CODE (XEXP (ad, 1)) == CONST_INT
4974 && regno_ok_for_base_p (REGNO (XEXP (ad, 0)), mode, PLUS,
4990 *loc = ad = copy_rtx (ad);
4994 find_reloads_address_part (XEXP (ad, 1), &XEXP (ad, 1),
4995 INDEX_REG_CLASS, GET_MODE (ad), opnum,
5004 find_reloads_address_part (ad, loc,
5042 if (GET_CODE (ad) != PLUS)
5045 inner_code = GET_CODE (XEXP (ad, 0));
5046 if (!(GET_CODE (ad) == PLUS
5047 && GET_CODE (XEXP (ad, 1)) == CONST_INT
5051 operand = XEXP (XEXP (ad, 0), op_index);
5055 addend = XEXP (XEXP (ad, 0), 1 - op_index);
5067 && ! maybe_memory_address_p (mode, ad,
5068 &XEXP (XEXP (ad, 0), 1 - op_index)))
5073 offset_reg = plus_constant (operand, INTVAL (XEXP (ad, 1)));
5076 if (GET_CODE (XEXP (ad, 0)) == PLUS)
5077 ad = gen_rtx_PLUS (GET_MODE (ad),
5081 ad = gen_rtx_LO_SUM (GET_MODE (ad),
5084 *loc = ad;
5087 find_reloads_address_part (XEXP (ad, op_index),
5088 &XEXP (ad, op_index), cls,
5089 GET_MODE (ad), opnum, type, ind_levels);
5091 XEXP (ad, 1 - op_index), 1, GET_CODE (ad),
5092 GET_CODE (XEXP (ad, op_index)),
5093 &XEXP (ad, 1 - op_index), opnum,
5103 tem = ad;
5104 if (GET_CODE (ad) == PLUS)
5105 tem = subst_indexed_address (ad);
5106 if (tem != ad && strict_memory_address_p (mode, tem))
5125 if (CONSTANT_P (ad) && ! strict_memory_address_p (mode, ad))
5129 if (memrefloc && GET_CODE (ad) == SYMBOL_REF
5130 && CONSTANT_POOL_ADDRESS_P (ad))
5138 find_reloads_address_part (ad, loc, base_reg_class (mode, MEM, SCRATCH),
5143 return find_reloads_address_1 (mode, ad, 0, MEM, SCRATCH, loc, opnum, type,
5155 subst_reg_equivs (rtx ad, rtx insn)
5157 RTX_CODE code = GET_CODE (ad);
5172 return ad;
5176 int regno = REGNO (ad);
5185 rtx mem = make_memloc (ad, regno);
5192 PUT_MODE (emit_insn_before (gen_rtx_USE (VOIDmode, ad), insn),
5198 return ad;
5202 if (XEXP (ad, 0) == frame_pointer_rtx
5203 && GET_CODE (XEXP (ad, 1)) == CONST_INT)
5204 return ad;
5214 XEXP (ad, i) = subst_reg_equivs (XEXP (ad, i), insn);
5215 return ad;