This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH, alpha]: Some further HWI == 64 improvements


On Wed, May 13, 2015 at 9:05 PM, Richard Henderson <rth@redhat.com> wrote:
> On 05/13/2015 10:53 AM, Uros Bizjak wrote:
>> The only part that actually processes CONST_WIDE_INT is
>> alpha_legitimate_constant and movti expander. The latter immediately
>> splits any TImode CONST_WIDE_INTs.
>>
>
> Indeed.  Also probably worth cleaning up is using CONST_SCALAR_INT_P, where
> both CONST_INT and CONST_WIDE_INT are allowed.

I will do this in the last patch, when all uses of CONST_WIDE_INT and
CONST_DOUBLE are reviewed.

For now, I have prepared following patch that cleans
alpha_extract_integer and callers.  Please also note that
alpha_legitimate_constant_p now checks full 128 bit constant.

2015-05-14  Uros Bizjak  <ubizjak@gmail.com>

    * config/alpha/alpha.c (alpha_extract_integer): Do not handle
    CONST_WIDE_INT and CONST_DOUBLE.  Assert CONST_INT_P (x).
    (alpha_legitimate_constant_p) <case CONST_WIDE_INT>: Check high and
    low part of the constant using alpha_emit_set_const_1.
    (alpha_expand_mov): Do not handle CONST_WIDE_INT and CONST_DOUBLE.

The patch passes bootstrap on alphaev68-linux-gnu, regression test is
in progress.

OK if regtest passes?

Uros.

Attachment: b.diff.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]