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] |
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] |