[PATCH, rs6000] Add store fusion support for Power10

Segher Boessenkool segher@kernel.crashing.org
Wed Aug 4 16:12:40 GMT 2021


On Wed, Aug 04, 2021 at 09:23:13AM -0500, Bill Schmidt wrote:
> On 8/2/21 3:19 PM, Pat Haugen via Gcc-patches wrote:

(I reviewed this elsewhere instead of on the list...  Not good, since
the patch was on the list already.  Sorry.)

> >@@ -18885,6 +18980,10 @@ rs6000_sched_reorder (FILE *dump 
> >ATTRIBUTE_UNUSED, int sched_verbose,
> >    if (rs6000_tune == PROCESSOR_POWER6)
> >      load_store_pendulum = 0;
> >
> >+  /* Do Power10 dependent reordering.  */
> >+  if (rs6000_tune == PROCESSOR_POWER10 && last_scheduled_insn)
> >+    power10_sched_reorder (ready, *pn_ready - 1);
> >+
> 
> I happened to notice that pn_ready is marked as ATTRIBUTE_UNUSED.  This 
> predates your patch, but maybe you could clean that up too.

*All* ATTRIBUTE_UNUSED instances should go away (or almost all, only
those that really mean "maybe unused" can stay).  The preferred way to
in C++ say some argument is unused is by not naming it (or only in a
comment).  So instead of

void f (int a ATTRIBUTE_UNUSED, int b ATTRIBUTE_UNUSED) { ... }

you can say

void f (int, int) { ... }

or

void f (int/*a*/, int/*b*/) { ... }

> Can you think of any test cases we can use to demonstrate store fusion?

It may be possible to make that reliable by doing a *really* simple
testcase?  But then it isn't testing very much :-(


Segher


More information about the Gcc-patches mailing list