public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Michael Meissner <meissner@linux.ibm.com>
To: gcc-patches@gcc.gnu.org,
	Michael Meissner <meissner@linux.ibm.com>,
	Segher Boessenkool <segher@kernel.crashing.org>,
	"Kewen.Lin" <linkw@linux.ibm.com>,
	David Edelsohn <dje.gcc@gmail.com>,
	Peter Bergner <bergner@linux.ibm.com>
Subject: Patch [0 of 7]: PowerPC: Add -mcpu=future
Date: Wed, 14 Feb 2024 02:25:48 -0500	[thread overview]
Message-ID: <Zcxq_Eplou4qapFV@cowardly-lion.the-meissners.org> (raw)

This series of patches takes the first 2 patches from the dense math patches to
add the support for -mcpu=future.

If these patches are approved, I will re-base the rest of the dense math
patches off of these patches.

While patch #1 of the series was fairly self contained, in that it added the
basic support for -mcpu=future, I have split that patch into 6 patches.  I have
included the 2nd patch (enable using load vector pair and store vector pair for
memcpy) as patch #7 in this series.

Note, you need patches 1-5 at least to be installed to enable using
-mcpu=future.

Patch #1 adds the -mcpu=future option.  I added a new ISA bit to make things
like target attribute or target pragmas correctly enable or disable
-mcpu=future support.  Because you have to have a switch to create the ISA
bits, I added -mfuture, but I added a warning if the user used this option
directly.

Patch #2 adds support to print out that future is used with -mdebug=reg.

Patch #3 defines _ARCH_PWR_FUTURE if -mcpu=future is used.

Patch #4 passes -mfuture to the assembler if -mcpu=future is used.

Patch #5 turns the tuning for -mcpu=future into -mtune=power10.  It is likely
that we will need to flesh out the future tuning support if/when the future
machine becomes a real PowerPC.

Patch #6 emits the .machine future option to the assembler if -mcpu=future is
used (or target attribute/pragma are used).

Patch #7 enables generating load vector pair or store vector pair instruction
for memcpy and similar functions if -mcpu=future was used.  Late in the power10
development, we decided to not generate load vector pair and store vector pair
instructures due to some interactions that those instructions caused in some
cases.

I have tested these patches on both little endian and big endian systems, and
there were no regressions.  Even though these patches have been posted for 1.5
years now, I assume they have to wait for GCC 15.  But I will immediately want
to back port these to GCC 14.1 after they go into GCC 15.

-- 
Michael Meissner, IBM
PO Box 98, Ayer, Massachusetts, USA, 01432
email: meissner@linux.ibm.com

             reply	other threads:[~2024-02-14  7:26 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-14  7:25 Michael Meissner [this message]
2024-02-14  7:31 ` Patch [1 of 7]: Add initial -mcpu=future support Michael Meissner
2024-02-14  7:32 ` Patch [2 of 7]: Add debugging for -mcpu=future Michael Meissner
2024-02-14  7:33 ` Patch [3 of 7]: Define _ARCH_PWR_FUTURE if -mcpu=future Michael Meissner
2024-02-14  7:34 ` Patch [4 of 7]: Pass -mfuture to assembler " Michael Meissner
2024-02-14  7:35 ` Patch [5 of 7]: Make -mtune=future be the same as -mtune=power10 Michael Meissner
2024-02-14  7:36 ` Patch [6 of 7]: Set future machine type in assembler if -mcpu=future Michael Meissner
2024-02-14  7:37 ` Patch [7 of 7]: Enable using vector pair load/store for -mcpu=future Michael Meissner

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:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

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

  git send-email \
    --in-reply-to=Zcxq_Eplou4qapFV@cowardly-lion.the-meissners.org \
    --to=meissner@linux.ibm.com \
    --cc=bergner@linux.ibm.com \
    --cc=dje.gcc@gmail.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=linkw@linux.ibm.com \
    --cc=segher@kernel.crashing.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* 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).