https://gcc.gnu.org/g:fba06f42f9c47fa74ef41686efc064f3631ee984

commit fba06f42f9c47fa74ef41686efc064f3631ee984
Author: Michael Meissner <meiss...@linux.ibm.com>
Date:   Mon Jun 16 19:33:44 2025 -0400

    Update ChangeLog.*

Diff:
---
 gcc/ChangeLog.cmodel | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gcc/ChangeLog.cmodel b/gcc/ChangeLog.cmodel
index d33f243a8918..b530ecfea5af 100644
--- a/gcc/ChangeLog.cmodel
+++ b/gcc/ChangeLog.cmodel
@@ -1,3 +1,35 @@
+==================== Branch work211-cmodel, patch #300 ====================
+
+PR target/120681 - allow -mcmodel=large with prefixed addressing
+
+When I implemented the pc-relative support for power10 in GCC, I disabled using
+pc-relative support for -mcmodel=large.  At the time, I didn't want to         
dig into
+the issues.  It is now time to allow -mcmodel=large to generate pc-relative
+code.
+
+This patch allows -mcmodel=large to use prefixed addressing on power10, 
power11,
+and possibly other future PowerPC processors.
+
+This patch deletes the code that disallows -mprefixed and -mcmodel=large.  By
+deleting the code, it allows the normal pc-relative addressing to be used.  For
+static variables, pc-relative addressing will be used.  For external variables,
+we will generate the normal code that uses '@got@pcrel' addressing to load up
+the external address and use this address as a pointer to do the load or store.
+
+2025-06-16  Michael Meissner  <meiss...@linux.ibm.com>
+
+gcc/
+
+       PR target/120681
+       * config/rs6000/rs6000.cc (rs6000_option_override_internal): Delete code
+       that forced using TOC addressing for -mcmodel=large instead of
+       pc-relative addressing.
+
+gcc/testsuite/
+
+       PR target/120681
+       * gcc.target/powerpc/pr120681.c: New test.
+
 ==================== Branch work211-cmodel, baseline ====================
 
 2025-06-13   Michael Meissner  <meiss...@linux.ibm.com>

Reply via email to