https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102976
--- Comment #2 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Peter Bergner <berg...@gcc.gnu.org>: https://gcc.gnu.org/g:4cdf7db9a39d18bd536d816a5751d4d3cf23808b commit r12-5319-g4cdf7db9a39d18bd536d816a5751d4d3cf23808b Author: Peter Bergner <berg...@linux.ibm.com> Date: Tue Nov 16 12:14:22 2021 -0600 rs6000: MMA test case emits wrong code when building a vector pair [PR102976] PR102976 shows a test case where we generate wrong code when building a vector pair from 2 vector registers. The bug here is that with unlucky register assignments, we can clobber one of the input operands before we write both registers of the output operand. The solution is to use early-clobbers in the assemble pair and accumulator patterns. 2021-11-16 Peter Bergner <berg...@linux.ibm.com> gcc/ PR target/102976 * config/rs6000/mma.md (*vsx_assemble_pair): Add early-clobber for output operand. (*mma_assemble_acc): Likewise. gcc/testsuite/ PR target/102976 * gcc.target/powerpc/pr102976.c: New test.