https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109116
--- Comment #4 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by kishan parmar <kis...@gcc.gnu.org>: https://gcc.gnu.org/g:69a2c243dd2cf9f77150c0eb86dfbc0931876bc1 commit r16-1782-g69a2c243dd2cf9f77150c0eb86dfbc0931876bc1 Author: Peter Bergner <berg...@linux.ibm.com> Date: Mon Jun 30 19:01:25 2025 +0530 rs6000: Disassemble opaque modes using subregs to allow optimizations PR109116 reveals missed optimizations when using unspecs to extract vector components from opaque-mode variables. Since RTL optimizers do not understand unspecs, this leads to redundant register copies. Replace unspecs with subregs, which are well understood by RTL passes, allowing optimizations to take place. 2025-06-30 Peter Bergner <berg...@linux.ibm.com> gcc/ PR target/109116 * config/rs6000/mma.md (unspec): Delete UNSPEC_MMA_EXTRACT. (vsx_disassemble_pair): Expand into a vector register sized subreg. (mma_disassemble_acc): Likewise. (*vsx_disassemble_pair): Delete. (*mma_disassemble_acc): Likewise.