[gcc(refs/users/meissner/heads/work211-cmodel)] Revert changes
Michael Meissner
meissner@gcc.gnu.org
Tue Jun 17 07:07:20 GMT 2025
https://gcc.gnu.org/g:87277512b8731a25e7d1eb438ee3390233426856
commit 87277512b8731a25e7d1eb438ee3390233426856
Author: Michael Meissner <meissner@linux.ibm.com>
Date: Tue Jun 17 03:07:17 2025 -0400
Revert changes
Diff:
---
gcc/config/rs6000/rs6000.cc | 10 +++++++++
gcc/testsuite/gcc.target/powerpc/pr120681.c | 32 -----------------------------
2 files changed, 10 insertions(+), 32 deletions(-)
diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc
index a268e0d17b5f..80fc500fcec8 100644
--- a/gcc/config/rs6000/rs6000.cc
+++ b/gcc/config/rs6000/rs6000.cc
@@ -4360,6 +4360,16 @@ rs6000_option_override_internal (bool global_init_p)
&& (rs6000_isa_flags_explicit & OPTION_MASK_PCREL) == 0)
rs6000_isa_flags |= OPTION_MASK_PCREL;
+ /* -mpcrel requires -mcmodel=medium, but we can't check TARGET_CMODEL until
+ after the subtarget override options are done. */
+ else if (TARGET_PCREL && TARGET_CMODEL != CMODEL_MEDIUM)
+ {
+ if ((rs6000_isa_flags_explicit & OPTION_MASK_PCREL) != 0)
+ error ("%qs requires %qs", "-mpcrel", "-mcmodel=medium");
+
+ rs6000_isa_flags &= ~OPTION_MASK_PCREL;
+ }
+
/* Enable -mmma by default on power10 systems. */
if (TARGET_POWER10 && (rs6000_isa_flags_explicit & OPTION_MASK_MMA) == 0)
rs6000_isa_flags |= OPTION_MASK_MMA;
diff --git a/gcc/testsuite/gcc.target/powerpc/pr120681.c b/gcc/testsuite/gcc.target/powerpc/pr120681.c
deleted file mode 100644
index dd3fbb3db653..000000000000
--- a/gcc/testsuite/gcc.target/powerpc/pr120681.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* { dg-do compile { target { lp64 } } } */
-/* { dg-require-effective-target power10_ok } */
-/* { dg-options "-mdejagnu-cpu=power10 -O2 -mcmodel=large" } */
-
-/* PR target/120681 -- verify that -mcpu=power10 -mcmodel=large uses prefixed
- addressing instead of forcing using TOC addressing. */
-
-#ifndef TYPE
-#define TYPE unsigned long
-#endif
-
-extern TYPE global_var;
-
-void
-set_global (TYPE value)
-{
- /*
- * Generate:
- * pld 9,global_var@got@pcrel
- * std 3,0(9)
- *
- * Not:
- * addis 9,2,.LC0@toc@ha
- * ld 9,.LC0@toc@l(9)
- * std 3,0(9)
- */
-
- global_var = value;
-}
-
-/* { dg-final { scan-assembler "@got@pcrel" } } */
-/* { dg-final { scan-assembler-not "@toc" } } */
More information about the Gcc-cvs
mailing list