This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Potential bug with wide_int_storage::set_len
- From: "Andre Vieira (lists)" <Andre dot SimoesDiasVieira at arm dot com>
- To: Jakub Jelinek <jakub at redhat dot com>
- Cc: gcc at gcc dot gnu dot org
- Date: Thu, 13 Oct 2016 09:34:32 +0100
- Subject: Re: Potential bug with wide_int_storage::set_len
- Authentication-results: sourceware.org; auth=none
- References: <57FE5EA6.1050301@arm.com> <20161012164539.GU7282@tucnak.redhat.com>
> That is correct. In RTL constants are always sign-extended from their
> precision to HOST_BITS_PER_WIDE_INT, regardless if it is "signed" or
> "unsigned" constant. Whether you treat the low precision bits of the
> constant as signed or unsigned is something encoded in the operation on it.
>
> Jakub
>
Euhm, but then surely we must get rid of the is_sign_extended parameter
altogether?
Right now if you call that function for the same example, but with
is_sign_extended set to true, the value will __NOT__ be sign extended.