This is the mail archive of the
mailing list for the GCC project.
Re: [wide-int] Fix mode choice in convert_modes
- From: Richard Sandiford <rdsandiford at googlemail dot com>
- To: Richard Biener <richard dot guenther at gmail dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>, Kenneth Zadeck <zadeck at naturalbridge dot com>, Mike Stump <mikestump at comcast dot net>
- Date: Mon, 09 Sep 2013 14:56:04 +0100
- Subject: Re: [wide-int] Fix mode choice in convert_modes
- Authentication-results: sourceware.org; auth=none
- References: <871u4ygmwq dot fsf at talisman dot default> <CAFiYyc3mAZFtjviUixuWnS+=m5HbSOu-tpDrn=Eg1mAtfjJRyw at mail dot gmail dot com>
Richard Biener <firstname.lastname@example.org> writes:
> On Mon, Sep 9, 2013 at 3:11 PM, Richard Sandiford
> <email@example.com> wrote:
>> Enabling the CONST_INT assert showed that this branch-local code was
>> passing the wrong mode to std::make_pair. The mode of X is OLDMODE,
>> and we're supposed to be converting it to MODE.
>> In the case where OLDMODE is VOIDmode, I think we have to assume
>> that every bit of the input is significant.
>> Tested on x86_64-linux-gnu. OK to install?
>> This and the other patches that I just committed to trunk are enough
>> for a bootstrap and regression test to pass on x86_64-linux-gnu with
>> the assertion for a canonical CONST_INT enabled. I think it would be
>> better to leave the assertion out until after the merge though,
>> so we can deal with any fallout separately.
> If consuming code assumes CONST_INTs are canonical we better leave it
> in though.
Yeah, I think the patch Kenny's working on is going to canonise CONST_INTs
via the scratch array, to avoid making any assumptions. I think we should
keep that for the merge and only swap it for an assert later.