On Sun, Mar 11, 2012 at 8:53 AM, Uros Bizjak <ubiz...@gmail.com> wrote:
> On Sun, Mar 11, 2012 at 3:30 PM, Uros Bizjak <ubiz...@gmail.com> wrote:
>
>>>>> This patches uses word_mode instead of Pmode in loop expand since
>>>>> word_mode may have bigger size than Pmode.  OK for trunk?
>>>>>
>>>>> Thanks.
>>>>>
>>>>> H.J.
>>>>> ---
>>>>> 2012-03-02  H.J. Lu  <hongjiu...@intel.com>
>>>>>
>>>>>        * config/i386/i386.c (ix86_expand_movmem): Use word_mode instead
>>>>>        of Pmode on loop.
>>>>>        (ix86_expand_setmem): Likwise.
>>>>
>>>> Jan, can you please comment on the changes in this patch?
>>>>
>>>
>>> Here is a complete updated patch to use word_mode in ix86_expand_movmem
>>> and ix86_expand_setmem.  It also fixes ix86_zero_extend_to_Pmode to handle
>>> Pmode != DImode.  OK for trunk?
>>
>> Please rewrite ix86_zero_extend_to_Pmode to something like:
>>  rtx tmp;
>>  if (GET_MODE (exp) != Pmode)
>>    tmp = convert_to_mode (Pmode, exp, 1);
>>  return force_reg (Pmode, tmp));
>
> I am testing attached patch:
>
> 2012-03-11  Uros Bizjak  <ubiz...@gmail.com>
>
>        * config/i386/i386.c (ix86_zero_extend_to_Pmode): Rewrite using
>        convert_to_mode.
>        (ix86_expand_call): Use force_reg istead of copy_to_mode_reg.
>

It passed all tests in GCC testsuite under Linux/x32 and glibc x32
tests.

Thanks.

-- 
H.J.

Reply via email to