diff options
author | meissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4> | 2019-10-16 02:58:40 +0000 |
---|---|---|
committer | meissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4> | 2019-10-16 02:58:40 +0000 |
commit | 0dc4a7057c22b9cf6d6b8dcb53aed60c2dc86f58 (patch) | |
tree | 1156baee649fb103191358c03c8050189b8b3099 | |
parent | dfc911a13f19b768efb07a3a8a571801fe5c55b7 (diff) |
Add (0),1 to @pcrel syntax.
2019-10-15 Michael Meissner <meissner@linux.ibm.com>
* config/rs6000/rs6000.c (print_operand_address): Add (0),1 to
@pcrel to catch errant usage.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/ibm/pcrel-trunk@277045 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog.meissner | 5 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 5 |
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog.meissner b/gcc/ChangeLog.meissner index 469e1dae5ef..e3fe0e5b16b 100644 --- a/gcc/ChangeLog.meissner +++ b/gcc/ChangeLog.meissner @@ -1,5 +1,10 @@ 2019-10-15 Michael Meissner <meissner@linux.ibm.com> + * config/rs6000/rs6000.c (print_operand_address): Add (0),1 to + @pcrel to catch errant usage. + +2019-10-15 Michael Meissner <meissner@linux.ibm.com> + * config/rs6000/linux64.h (TARGET_PREFIXED_ADDR_DEFAULT): Enable prefixed addressing by default. (TARGET_PCREL_DEFAULT): Enable pc-relative addressing by default. diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 9704f703586..fe6aea37bc4 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -13272,7 +13272,10 @@ print_operand_address (FILE *file, rtx x) if (SYMBOL_REF_P (x) && !SYMBOL_REF_LOCAL_P (x)) fprintf (file, "@got"); - fprintf (file, "@pcrel"); + /* Specifically add (0),1 to catch uses where a @pcrel was added to a an + address with a base register, since the hardware does not support + adding a base register to a PC-relative address. */ + fprintf (file, "@pcrel(0),1"); } else if (SYMBOL_REF_P (x) || GET_CODE (x) == CONST || GET_CODE (x) == LABEL_REF) |