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>