This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch] Fix wrong code with small structure return on PowerPC
- From: Eric Botcazou <ebotcazou at adacore dot com>
- To: Richard Biener <richard dot guenther at gmail dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Mon, 11 Sep 2017 21:59:12 +0200
- Subject: Re: [patch] Fix wrong code with small structure return on PowerPC
- Authentication-results: sourceware.org; auth=none
- References: <14904386.2vhstX5eeo@polaris> <C15C3CF0-8300-47C9-955B-1049D260934B@gmail.com>
> I think the issue is that we set SUBREG_PROMOTED_* on something that is
> possibly not so (aka uninitialized in this case).
Yes, that's what I called inherent weakness of the promoted subregs mechanism.
> We may only set it if either the ABI or a previous operation forced it to.
> Maybe this is also the reason why we need this zero init pass in some cases
> (though that isn't a full solution either).
Do you think that we should zero-init all the unsigned promoted subregs (and
sign-extend-init all the signed promoted subregs)? That sounds like a big
hammer to me, but I can give it a try.
--
Eric Botcazou