Avoiding truncate/sign-extend of POImode on ppc target
Aaron Sawdey
acsawdey@linux.ibm.com
Wed Sep 2 14:27:55 GMT 2020
Meant to CC a few people, oops.
Aaron Sawdey, Ph.D. sawdey@linux.ibm.com
IBM Linux on POWER Toolchain
> On Sep 2, 2020, at 9:22 AM, Aaron Sawdey via Gcc <gcc@gcc.gnu.org> wrote:
>
>
> PR96791 is happening because DSE is trying to truncate a
> POImode reg down to DImode. The POImode is created by a
> structure copy that gets inline expanded using lxvp/stxvp
> which we have defined using POImode. DSE recognizes that a
> following load overlaps with the stxvp and can be satisfied
> by a truncation of the POImode reg used for the stxvp.
>
> The intention of using POImode was to avoid having to fully
> define OImode and it seems like defining these truncations
> would be the first step along that path. If I haven't
> misrepresented it, I believe that is Segher's position on
> this.
>
> The function extract_low_bits() in expmed.c does some
> querying of the target hook modes_tieable_p but not in any
> way that allows us to tell it not to allow truncation of
> POImode to a smaller mode. As a result we run into the ICE
> because the patterns are not provided to do this.
>
> So, I put it to the community: Is there an existing way to do
> this? Or, do we need another target hook of some kind to
> check this sort of thing?
>
> Thanks,
> Aaron
>
>
> Aaron Sawdey, Ph.D. sawdey@linux.ibm.com
> IBM Linux on POWER Toolchain
>
>
More information about the Gcc
mailing list