This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
PowerPC future machine, version 3
- From: Michael Meissner <meissner at linux dot ibm dot com>
- To: gcc-patches at gcc dot gnu dot org, segher at kernel dot crashing dot org, dje dot gcc at gmail dot com, meissner at linux dot ibm dot com
- Date: Mon, 26 Aug 2019 13:33:20 -0400
- Subject: PowerPC future machine, version 3
Since there was a version 2 of one of the previous patches, I'll call this set
version 3. These patches completely replace the previous patches.
As before, these are for a future PowerPC machine that we are looking at. If a
real machine is announced that uses these instructions, we may change the name
used in the -mcpu=<machine> option to be the real machine, and drop the
'future' name.
I tried to make the changes suggested in the previous patch set, and keep
things that use the address masks (i.e. RELOAD_REG_*) confined to rs6000.c.
To recap:
Patch #1: Basic changes to enable pcrel addresses using PLA/PLD;
Patch #2: Optional rework rs6000_setup_reg_addr_mask;
Patch #3: Add prefixed RTL support;
Patch #4: Add prefixed load/store to all offset instructions;
Patch #5: Optionally enable pc-relative on Linux 64-bit ELFv2;
Patch #6: Fix a limitation with vector extracts & pcrel addresses;
Patch #7: Add PCREL_OPT support;
Patch #8: Misc. tests;
Patch #9: Prefixed load/store tests with large numeric offsets;
Patch #10: Pc-relative load/store tests.
I have built each of patches 1-7 in succession, building a bootstrapped
compiler and running make check. There were no regressions. I then reran the
tests with patches 8-10 applied, and all of the new patches also pass.
--
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
- Follow-Ups:
- [PATCH V3, #1 of 10], Add basic pc-relative support
- [PATCH, V3, #3 of 10], Add prefixed RTL insn attribute
- [PATCH, V3, #2 of 10], Improve rs6000_setup_addr_mask
- [PATCH, V3, #4 of 10], Add general prefixed/pcrel support
- [PATCH, V3, #5 of 10], Make -mpcrel default on little endian Linux systems
- [PATCH, V3, #6 of 10], Fix vec_extract breakage
- [PATCH, V3, #7 of 10], Implement PCREL_OPT relocation optimization
- [PATCH, V3, #8 of 10], Miscellaneous prefixed addressing tests
- [PATCH, V3, #10 of #10], Pc-relative tests
- [PATCH, V3, #9 of 10], Prefixed addressing tests with large offsets