On Fri, Jul 15, 2011 at 5:49 AM, Uros Bizjak <ubiz...@gmail.com> wrote:
> On Sun, Jul 10, 2011 at 12:20 AM, H.J. Lu <hongjiu...@intel.com> wrote:
>
>> TARGET_MEM_REF only works on ptr_mode.  That means base and index parts
>> of x86 address operand in x32 mode may be in ptr_mode.  This patch
>> supports 32bit base and index parts in x32 mode.  OK for trunk?
>>
>> Thanks.
>>
>>
>> H.J.
>> ---
>> 2011-07-09  H.J. Lu  <hongjiu...@intel.com>
>>
>>        * config/i386/i386.c (ix86_simplify_base_index_disp): New.
>>        (ix86_decompose_address): Support 32bit address in x32 mode.
>>        (ix86_legitimate_address_p): Likewise.
>>        (ix86_fixup_binary_operands): Likewise.
>
> Why don't you handle translations in TARGET_LEGITIMIZE_ADDRESS (or
> maybe also LEGITIMIZE_RELOAD_ADDRESS) ?
>

It is because ix86_decompose_address is also called from:

predicates.md:  ok = ix86_decompose_address (op, &parts);
predicates.md:  ok = ix86_decompose_address (op, &parts);
predicates.md:  ok = ix86_decompose_address (XEXP (op, 0), &parts);
predicates.md:  ok = ix86_decompose_address (XEXP (op, 0), &parts);
predicates.md:  ok = ix86_decompose_address (XEXP (op, 0), &parts);


-- 
H.J.

Reply via email to