public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* PowerPC V10 Patches for -mcpu=future
@ 2019-12-12  0:07 Michael Meissner
  2019-12-12  0:12 ` [PATCH] V10 patch #1, Use PLI to load up large DImode constants if -mcpu=future Michael Meissner
                   ` (11 more replies)
  0 siblings, 12 replies; 23+ messages in thread
From: Michael Meissner @ 2019-12-12  0:07 UTC (permalink / raw)
  To: gcc-patches, Segher Boessenkool, David Edelsohn, Michael Meissner

This set of patches is an attempt to address the issues raised in the previous
sets of patches:

    The V7 patches were for important functionality
    The V8 patches were for tests
    The V9 patches were for the PCREL_OPT support

As I write this there are 12 patches.  There will be more patches later to
address the remaining test suite patches.  I need to look at the comments for
PCREL_OPT in detail to see what the strategy should be for those patches.

Patches V10 #1-3 are the remaining issues from V7 #1-3 to add PADDI and PLI
support for large constants.  In theory once the reformating that was
previously done and checked in, these should be simple.

Patches V10 #4-7 break up patch V7 #6 (vector extract) into 4 separate patches.

Patch V10 #8 is patch V7 #7 (turn on -mpcrel by default on 64-bit Linux targets
for -mcpu=future), changing the names of the enabling macros.

Patch V10 #9 is patch V7 #5 that was redone.  This patch adds new effective
target options for PowerPC.  I have changed this patch to look at the code
generated by the compiler to see if prefixed adddressing or PC-relative
addressing is used for -mcpu=future.  This patch needs patch V10 #8 installed
to enable the prefixed addressing and PC-relative tests.

In patch V10 #9, I did not modify the existing test
(check_effective_target_powerpc_future_ok).  As we discussed, this test should
really test whether a non-prefixed instruction is generated to allow for
targets that might support -mcpu=future but not enable prefixed addressing.
However, at present the only instructions being submitted are prefixed
instructions.  So this will have to wait until we get further down the road
with 'future' instructions.

Patch V10 #10 is a modification of patch V8 #1.  I renamed the files from
paddi-?.c to prefixed-*.c so that there isn't a false match due to the .ident
directive.

Patch V10 #11 is a slight reworking of patch V8 #2 (testing whether we generate
a prefixed instruction when the offset would be invalid for DS and DQ
instruction formats).

Patch V10 #12 is a slight reworking of patch V8 #3 (making sure we don't try to
generate the non-existant PLWZU and PSTWU pre-modify instructions).

There are 3 other patches from V8 that I will address at a later date.  Patch
V8 #4 are the tests for using prefixed instructions for each of the types when
a large numeric offset is used.  Patch V8 #5 are the tests for using
PC-relative load/store instructions for each of the types to reference static
values.  Patch V8 #6 is the test to make sure the -fstack-protector support
works when the stack frame is large and -mcpu=future is used.

-- 
Michael Meissner, IBM
IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA
email: meissner@linux.ibm.com, phone: +1 (978) 899-4797

^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2019-12-18 21:47 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-12  0:07 PowerPC V10 Patches for -mcpu=future Michael Meissner
2019-12-12  0:12 ` [PATCH] V10 patch #1, Use PLI to load up large DImode constants if -mcpu=future Michael Meissner
2019-12-17 15:58   ` Segher Boessenkool
2019-12-12  0:15 ` [PATCH] V10 patch #2, use PLI to load up large SImode " Michael Meissner
2019-12-17 16:03   ` Segher Boessenkool
2019-12-12  0:17 ` [PATCH] V10 patch #3, Use PADDI to add large constants if -mcpu=future is used Michael Meissner
2019-12-17 16:27   ` Segher Boessenkool
2019-12-12  0:29 ` [PATCH] V10 patch #4, Add new prefixed/non-prefixed memory constraints Michael Meissner
2019-12-17 17:27   ` Segher Boessenkool
2019-12-17 22:34     ` Michael Meissner
2019-12-17 23:55       ` Segher Boessenkool
2019-12-18  1:06         ` Michael Meissner
2019-12-18 13:59           ` Segher Boessenkool
2019-12-12  0:48 ` [PATCH] V10 patch #5, Fix codegen bug with vector extracts using a variable offset & PC-relative address Michael Meissner
2019-12-17 18:02   ` Segher Boessenkool
2019-12-18 22:15     ` Michael Meissner
2019-12-12  0:54 ` [PATCH] V10 patch #6, Use prefixed load/stores for vector extract with large offsets Michael Meissner
2019-12-12  0:58 ` [PATCH] V10 patch #7, Improve vector_extract code of a PC-relative address with a constant offset for -mcpu=future Michael Meissner
2019-12-12  1:06 ` [PATCH] V10 patch #8, Enable -mpcrel and -mprefixed-addr for -mcpu=future on 64-bit little endian Linux systems Michael Meissner
2019-12-12  1:12 ` [PATCH] V10 patch #9, Add new effective targets for the testsuite Michael Meissner
2019-12-12  1:13 ` [PATCH] V10 patch #10, Add PADDI/PLI tests for -mcpu=future Michael Meissner
2019-12-12  1:16 ` [PATCH] V10 patch #11, Add test for generating prefixed load/store when the offset is not valid for DS/DQ instructions Michael Meissner
2019-12-12  1:18 ` [PATCH] V10 patch #12, Test to make sure we don't generate prefixed pre-modify load/stores for -mcpu=future Michael Meissner

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