hmm, I don't see clearly where we loose the XEXP (x, n) information
when calling must_be_base_p(*inner) and/or must_be_index_p(*inner) in
set_address_base and set_address_index.

BTW, the validation on ARM (AARch32 and AARch64) is clean.

Thanks,
Yvan

On 24 September 2013 18:36, Richard Sandiford
<rdsandif...@googlemail.com> wrote:
> Eric Botcazou <ebotca...@adacore.com> writes:
>>> Sorry, I'm not sure I understand well, it means that you prefer the
>>> shift_and _rotate_code_p notation, right ?
>>
>> Let's do the following in addition to the lsb_bitfield_op_p thing:
>>   1. Replace the LO_SUM test in set_address_base by a call to must_be_base_p,
>>   2. Replace the MULT || ASHIFT test in set_address_index by a call to
>> must_be_index_p,
>>   3. Add the new cases to must_be_index_p directly, with a comment saying 
>> that
>> there are e.g. for the ARM.
>
> FWIW, I'd prefer to keep it as-is, since must_be_base_p (x) and
> must_be_index_p (x) don't imply that we should look specifically at
> XEXP (x, 0) (rather than just X, or XEXP (x, 1), etc.).  I think it's
> better to keep the code tests and the associated XEXPs together.
>
> Thanks,
> Richard

Reply via email to