public inbox for
 help / color / mirror / Atom feed
From: Segher Boessenkool <>
To: Michael Meissner <>,, "Kewen.Lin" <>,
	David Edelsohn <>,
	Peter Bergner <>,
	Will Schmidt <>
Subject: Re: [PATCH 0/6] PowerPC Dense Math prelimary support (-mcpu=future)
Date: Fri, 27 Jan 2023 13:59:00 -0600	[thread overview]
Message-ID: <> (raw)
In-Reply-To: <Y2xlRIxBIy3VG/>


On Wed, Nov 09, 2022 at 09:43:16PM -0500, Michael Meissner wrote:
> This patch is very preliminary support for a potential new feature to the
> PowerPC that extends the current power10 MMA architecture.  This feature may or
> may not be present in any specific future PowerPC processor.

MMA is an optional facility in ISA 3.1 -- please don't say it is power10

> In the current MMA subsystem for Power10, there are 8 512-bit accumulator
> registers.  These accumulators are each tied to sets of 4 FPR registers.

Four VSRs.  FPRs are only 64bits.  You mean this is VSRs 0..31 .

> When
> you issue a prime instruction, it makes sure the accumulator is a copy of the 4

I suppose you mean the xxmtacc instruction?

> FPR registers the accumulator is tied to.  When you issue a deprime
> instruction, it makes sure that the accumulator data content is logically
> copied to the matching FPR register.

And xxmfacc.

Very importantly all the other rules in "VSX Accumulators"
apply as well.  That should make old code work on new systems

> In terms of changes, we now use the wD constraint for accumulators.  If you
> compile with -mcpu=power10, the wD constraint will match the equivalent FPR
> register that overlaps with the accumulator.

The set of *four* *VSX* registers.  Of course in the end it is just a
number, but :-)

> If you compile with -mcpu=future,
> the wD constraint will match the DMR register and not the FPR register.

Constraints do not "match" anything.  "Will allow" perhaps?

> In general, if you only use the built-in functions, things work between the two
> systems.  If you use extended asm, you will likely need to modify the code.
> Going forward, hopefully if you modify your code to use the wD constraint and
> %A output modifier, you can write code that switches more easily between the
> two systems.

You *already* are required to follow all these rules that make this
painless and transparent.

> There is one bug that I noticed.  When you use the full DMR instruction the
> constant copy propagation patch issues internal errors.  I believe this is due
> to the CCP pass not handling opaque types cleanly enough, and it only shows up
> in larger types.  I would like to get these patches committed, and then work
> the maintainers of the CCP to fix the problem.

Erm.  If the compiler ICEs, we can not include this code.  But hopefully
you mean something else?


  parent reply	other threads:[~2023-01-27 20:00 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-10  2:43 Michael Meissner
2022-11-10  2:44 ` [PATCH 1/6] PowerPC: Add -mcpu=future Michael Meissner
2022-11-11 21:07   ` Peter Bergner
2023-01-20 21:05   ` Ping: " Michael Meissner
2023-01-27 20:00     ` Segher Boessenkool
2022-11-10  2:45 ` [PATCH 2/6] PowerPC: Make -mcpu=future enable -mblock-ops-vector-pair Michael Meissner
2023-01-20 21:07   ` Ping: " Michael Meissner
2022-11-10  2:46 ` [PATCH 3/6] PowerPC: Add support for accumulators in DMR registers Michael Meissner
2023-01-20 21:08   ` Ping: " Michael Meissner
2022-11-10  2:50 ` [PATCH 4/6] PowerPC: Make MMA insns support " Michael Meissner
2023-01-20 21:10   ` Ping: " Michael Meissner
2022-11-10  2:51 ` [PATCH 5/6] PowerPC: Switch to dense math names for all MMA operations Michael Meissner
2023-01-20 21:11   ` Ping: " Michael Meissner
2022-11-10  2:52 ` [PATCH 6/6] PowerPC: Add support for 1,024 bit DMR registers Michael Meissner
2023-01-20 21:12   ` Ping: " Michael Meissner
2022-11-12  5:07 ` [PATCH 7] PowerPC: Add -mcpu=future saturating subtract built-ins Michael Meissner
2023-01-20 21:13   ` Ping: " Michael Meissner
2022-11-12  5:10 ` [PATCH 8] PowerPC: Support load/store vector with right length Michael Meissner
2023-01-20 21:15   ` Patch: " Michael Meissner
2023-01-27 19:59 ` Segher Boessenkool [this message]
2023-01-28  7:29   ` [PATCH 0/6] PowerPC Dense Math prelimary support (-mcpu=future) Michael Meissner
2023-01-30  2:52     ` Michael Meissner
2023-02-01  3:31       ` Michael Meissner
2023-02-02  0:05         ` Segher Boessenkool

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \ \ \ \ \ \ \ \ \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).