[Bug target/109116] vector_pair register allocation bug
cvs-commit at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Jun 30 13:35:34 GMT 2025
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 <kishan@gcc.gnu.org>:
https://gcc.gnu.org/g:69a2c243dd2cf9f77150c0eb86dfbc0931876bc1
commit r16-1782-g69a2c243dd2cf9f77150c0eb86dfbc0931876bc1
Author: Peter Bergner <bergner@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 <bergner@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.
More information about the Gcc-bugs
mailing list