This is the mail archive of the gcc@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: general_operand not validating "(const_int 65535 [0xffff])"


On Wed, 9 Oct 2019 14:40:42 +0100
Jozef Lawrynowicz <jozef.l@mittosystems.com> wrote:

> Constants generated for modes with fewer bits than in HOST_WIDE_INT
> must be sign extended to full width (e.g., with gen_int_mode). For
> constants for modes with more bits than in HOST_WIDE_INT the implied
> high order bits of that con- stant are copies of the top bit. Note
> however that values are neither inherently signed nor inherently
> unsigned; where necessary, signedness is determined by the rtl
> operation instead.
> 
> Can anyone offer any further insight? Do I just need to track down
> what is generating this const_int and fix that?

I think you need to change a GEN_INT(x) into a gen_int_mode(x, HImode),
somewhere.

HTH,

Julian


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