https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108018
--- Comment #4 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by kishan parmar <[email protected]>: https://gcc.gnu.org/g:9833d3d84694c57e10af82f5284c9d3e03d15d91 commit r17-5572-g9833d3d84694c57e10af82f5284c9d3e03d15d91 Author: Kishan Parmar <[email protected]> Date: Mon Oct 26 16:55:01 2026 +0530 rs6000: Add POWER10 wide-immediate fusion patterns [PR108018] POWER10 has instruction fusion for addis+addi pairs. However, the scheduler was breaking these pairs apart to optimize for dependency chains, losing the fusion benefit. This patch implements "fake" instructions that represent both instructions as a single pattern. This prevents the scheduler from reordering them while still generating the correct two-instruction sequence. Existing high/low patterns are guarded to prevent conflicts with the new fusion patterns. Bootstrapped and tested on powerpc64le-linux-gnu with no regressions. Bootstrapped and tested on powerpc64-linux-gnu with no regressions. Bootstrapped and tested on powerpc-ibm-aix with no regressions. 2026-10-26 Vijay Shankar <[email protected]> gcc/ChangeLog: PR target/108018 * config/rs6000/rs6000.md (largetoc_high): Add guards. (largetoc_high_aix<mode>): Likewise. (largetoc_high_plus): Likewise. (largetoc_high_plus_aix<mode>): Likewise. (largetoc_low): Likewise. (largetoc_low_aix<mode>): Likewise. (largetocp10): New define_insn. (largetocp10_aix<mode>): Likewise. (largetocp10_plus): Likewise. (largetocp10_plus_aix<mode>): Likewise. (tocref<mode>): Add guards. gcc/testsuite/ChangeLog: PR target/108018 * gcc.target/powerpc/pr108018-aix.c: New test. * gcc.target/powerpc/pr108018-elf.c: New test.
