...@gcc.gnu.org;
jeffreya...@gmail.com
Subject: Re: [PATCH] loading float member of parameter stored via int registers
Hi!
On Fri, Dec 30, 2022 at 12:30:04AM -0800, Andrew Pinski wrote:
> On Thu, Dec 29, 2022 at 11:45 PM Segher Boessenkool
> wrote:
> > Ah! This
Hi!
On Fri, Dec 30, 2022 at 12:30:04AM -0800, Andrew Pinski wrote:
> On Thu, Dec 29, 2022 at 11:45 PM Segher Boessenkool
> wrote:
> > Ah! This simply shows rs6000_modes_tieable_p is decidedly non-optimal:
> > it does not allow tying a scalar float to anything else. No such thing
> > is required
Hi,
Andrew Pinski writes:
> On Thu, Dec 29, 2022 at 11:45 PM Segher Boessenkool
> wrote:
>>
>> Hi!
>>
>> On Fri, Dec 30, 2022 at 10:22:31AM +0800, Jiufu Guo wrote:
>> > Considering the limitations of CSE, I try to find other places
>> > to handle this issue, and notice DSE can optimize below
On Thu, Dec 29, 2022 at 11:45 PM Segher Boessenkool
wrote:
>
> Hi!
>
> On Fri, Dec 30, 2022 at 10:22:31AM +0800, Jiufu Guo wrote:
> > Considering the limitations of CSE, I try to find other places
> > to handle this issue, and notice DSE can optimize below code:
> > "[sfp:DI]=x:DI ; y:SI=[sfp:DI]"
Hi!
On Fri, Dec 30, 2022 at 10:22:31AM +0800, Jiufu Guo wrote:
> Considering the limitations of CSE, I try to find other places
> to handle this issue, and notice DSE can optimize below code:
> "[sfp:DI]=x:DI ; y:SI=[sfp:DI]" to "y:SI=x:DI#0".
>
> So, I drafted a patch to update DSE to handle DI-
Hi,
Jiufu Guo via Gcc-patches writes:
> Hi,
>
> Jiufu Guo via Gcc-patches writes:
>
>> Hi,
>>
>> Segher Boessenkool writes:
>>
>>> On Fri, Dec 23, 2022 at 08:13:48PM +0100, Richard Biener wrote:
> Am 23.12.2022 um 17:55 schrieb Segher Boessenkool
> :
> There are at least six ve
Hi,
Jiufu Guo via Gcc-patches writes:
> Hi,
>
> Segher Boessenkool writes:
>
>> On Fri, Dec 23, 2022 at 08:13:48PM +0100, Richard Biener wrote:
>>> > Am 23.12.2022 um 17:55 schrieb Segher Boessenkool
>>> > :
>>> > There are at least six very different kinds of subreg:
>>> >
>>> > 0) Lvalue su
Hi,
Segher Boessenkool writes:
> On Fri, Dec 23, 2022 at 08:13:48PM +0100, Richard Biener wrote:
>> > Am 23.12.2022 um 17:55 schrieb Segher Boessenkool
>> > :
>> > There are at least six very different kinds of subreg:
>> >
>> > 0) Lvalue subregs. Most archs have no use for it, and it can be
Hi,
Segher Boessenkool writes:
> Hi!
>
> On Fri, Dec 23, 2022 at 08:36:36PM +0800, Jiufu Guo wrote:
>> It seems some limitations there. e.g. 1. "subreg:DF on DI register"
>> may not work well on pseudo,
>
> It is perfectly normal:
> A hard register may be accessed in various modes throughout o
On Fri, Dec 23, 2022 at 08:13:48PM +0100, Richard Biener wrote:
> > Am 23.12.2022 um 17:55 schrieb Segher Boessenkool
> > :
> > There are at least six very different kinds of subreg:
> >
> > 0) Lvalue subregs. Most archs have no use for it, and it can be
> > expressed much more clearly and cle
> Am 23.12.2022 um 17:55 schrieb Segher Boessenkool
> :
>
> On Fri, Dec 23, 2022 at 05:20:09PM +0100, Richard Biener wrote:
Am 23.12.2022 um 15:48 schrieb Segher Boessenkool
:
>>> None of this belongs in generic code at all imo. At expand time it
>>> should be expanded to somethin
On Fri, Dec 23, 2022 at 05:20:09PM +0100, Richard Biener wrote:
> > Am 23.12.2022 um 15:48 schrieb Segher Boessenkool
> > :
> > None of this belongs in generic code at all imo. At expand time it
> > should be expanded to something that works and can be optimised well,
> > so not anything with :BL
> Am 23.12.2022 um 15:48 schrieb Segher Boessenkool
> :
>
> Hi!
>
>> On Fri, Dec 23, 2022 at 08:36:36PM +0800, Jiufu Guo wrote:
>> It seems some limitations there. e.g. 1. "subreg:DF on DI register"
>> may not work well on pseudo,
>
> It is perfectly normal:
> A hard register may be access
Hi!
On Fri, Dec 23, 2022 at 08:36:36PM +0800, Jiufu Guo wrote:
> It seems some limitations there. e.g. 1. "subreg:DF on DI register"
> may not work well on pseudo,
It is perfectly normal:
A hard register may be accessed in various modes throughout one
function, but each pseudo register is giv
HI,
Jiufu Guo via Gcc-patches writes:
> Hi,
>
> Richard Biener writes:
>
>> On Thu, 22 Dec 2022, guojiufu wrote:
>>
>>> Hi,
>>>
>>> On 2022-12-21 15:30, Richard Biener wrote:
>>> > On Wed, 21 Dec 2022, Jiufu Guo wrote:
>>> >
>>> >> Hi,
>>> >>
>>> >> This patch is fixing an issue about parame
Hi,
Segher Boessenkool writes:
> On Thu, Dec 22, 2022 at 11:28:01AM +, Richard Biener wrote:
>> On Thu, 22 Dec 2022, Jiufu Guo wrote:
>> > To reduce risk, I'm just draft straightforward patches for
>> > special cases currently, Like:
>> > https://gcc.gnu.org/pipermail/gcc-patches/2022-Decemb
On Thu, Dec 22, 2022 at 11:28:01AM +, Richard Biener wrote:
> On Thu, 22 Dec 2022, Jiufu Guo wrote:
> > To reduce risk, I'm just draft straightforward patches for
> > special cases currently, Like:
> > https://gcc.gnu.org/pipermail/gcc-patches/2022-December/608081.html
> > and this patch.
>
>
On Thu, 22 Dec 2022, Jiufu Guo wrote:
>
> Hi,
>
> Richard Biener writes:
>
> > On Thu, 22 Dec 2022, guojiufu wrote:
> >
> >> Hi,
> >>
> >> On 2022-12-21 15:30, Richard Biener wrote:
> >> > On Wed, 21 Dec 2022, Jiufu Guo wrote:
> >> >
> >> >> Hi,
> >> >>
> >> >> This patch is fixing an issue
Hi,
Richard Biener writes:
> On Thu, 22 Dec 2022, guojiufu wrote:
>
>> Hi,
>>
>> On 2022-12-21 15:30, Richard Biener wrote:
>> > On Wed, 21 Dec 2022, Jiufu Guo wrote:
>> >
>> >> Hi,
>> >>
>> >> This patch is fixing an issue about parameter accessing if the
>> >> parameter is struct type and
On Thu, 22 Dec 2022, guojiufu wrote:
> Hi,
>
> On 2022-12-21 15:30, Richard Biener wrote:
> > On Wed, 21 Dec 2022, Jiufu Guo wrote:
> >
> >> Hi,
> >>
> >> This patch is fixing an issue about parameter accessing if the
> >> parameter is struct type and passed through integer registers, and
> >>
Hi,
On 2022-12-21 15:30, Richard Biener wrote:
On Wed, 21 Dec 2022, Jiufu Guo wrote:
Hi,
This patch is fixing an issue about parameter accessing if the
parameter is struct type and passed through integer registers, and
there is floating member is accessed. Like below code:
typedef struct DF
On Wed, 21 Dec 2022, Jiufu Guo wrote:
> Hi,
>
> This patch is fixing an issue about parameter accessing if the
> parameter is struct type and passed through integer registers, and
> there is floating member is accessed. Like below code:
>
> typedef struct DF {double a[4]; long l; } DF;
> double
Hi,
This patch is fixing an issue about parameter accessing if the
parameter is struct type and passed through integer registers, and
there is floating member is accessed. Like below code:
typedef struct DF {double a[4]; long l; } DF;
double foo_df (DF arg){return arg.a[3];}
On ppc64le, with tru
23 matches
Mail list logo