https://gcc.gnu.org/g:7bfda7fbee0b762223b7d5d870272bd9ce1c7bda

commit 7bfda7fbee0b762223b7d5d870272bd9ce1c7bda
Author: Michael Meissner <meiss...@linux.ibm.com>
Date:   Tue Jun 3 19:55:59 2025 -0400

    Update ChangeLog.*

Diff:
---
 gcc/ChangeLog.bugs | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gcc/ChangeLog.bugs b/gcc/ChangeLog.bugs
index a2ba00af3a38..ec64ab1f9f6b 100644
--- a/gcc/ChangeLog.bugs
+++ b/gcc/ChangeLog.bugs
@@ -1,3 +1,33 @@
+==================== Branch work210-bugs, patch #111 ====================
+
+PR target/120528 -- Simplify zero extend from memory to VSX register on power10
+
+Previously GCC would zero extend a DImode value in memory to a TImode target in
+a vector register by firt zero extending the DImode value into a GPR TImode
+register pair, and then do a MTVSRDD to move this value to a VSX register.
+
+This patch creates a peephole2 to catch this case, and it eliminates creating
+the TImode variable.  Instead it just does the LXVR{B,H,W,D}x instruction
+directly.
+
+I have built GCC with the patches in this patch set applied on both little and
+big endian PowerPC systems and there were no regressions.  Can I apply this
+patch to GCC 16?
+
+2025-06-03  Michael Meissner  <meiss...@linux.ibm.com>
+
+gcc/
+
+       PR target/120528
+       * config/rs6000/rs6000.md (zero_extend??ti2 peephole2): Add a peephole2
+       to simplify zero extending a QI/HI/SI/DImode value in memory to a TImode
+       target in a vector register to use the LXVR{B,H,W,D}X instructins.
+
+gcc/testsuite/
+
+       PR target/120528
+       * gcc.target/powerpc/pr120528.c: New test.
+
 ==================== Branch work210-bugs, patch #110 ====================
 
 PR target/108958 -- simplify mtvsrdd to zero extend GPR DImode to VSX TImode

Reply via email to