https://gcc.gnu.org/g:1f8a442048ab485399751bf99ffb608e0a8e3ef2

commit 1f8a442048ab485399751bf99ffb608e0a8e3ef2
Author: Michael Meissner <[email protected]>
Date:   Thu May 7 00:27:56 2026 -0400

    Fix vector init bug with V8HFmode and V8BFmode.
    
    2026-05-07  Michael Meissner  <[email protected]>
    
    gcc/
    
            * config/rs6000/rs6000.cc (rs6000_expand_vector_init): Do not treat
            V8HFmode and V8BFmode like V8HImode if the values are registers.

Diff:
---
 gcc/config/rs6000/rs6000.cc | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc
index 296eee275026..8a4f4adddd90 100644
--- a/gcc/config/rs6000/rs6000.cc
+++ b/gcc/config/rs6000/rs6000.cc
@@ -7183,8 +7183,7 @@ rs6000_expand_vector_init (rtx target, rtx vals)
       return;
     }
 
-  if (TARGET_DIRECT_MOVE
-      && (mode == V16QImode || mode == V8HImode || FP16_VECTOR_MODE_P (mode)))
+  if (TARGET_DIRECT_MOVE && (mode == V16QImode || mode == V8HImode))
     {
       rtx op[16];
       /* Force the values into word_mode registers.  */

Reply via email to