https://gcc.gnu.org/g:c94c1056e1cd476a332180cbaf8be10a080f9ca4

commit c94c1056e1cd476a332180cbaf8be10a080f9ca4
Author: Michael Meissner <[email protected]>
Date:   Fri Sep 12 14:12:18 2025 -0400

    Add xxpermdi for bfloat16 converts.
    
    2025-09-12  Michael Meissner  <[email protected]>
    
    gcc/
    
            * config/rs6000/vsx.md (vsx_xvcvdpsp_<mode>): As a hack, add 
xxpermdi

Diff:
---
 gcc/config/rs6000/vsx.md | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gcc/config/rs6000/vsx.md b/gcc/config/rs6000/vsx.md
index 7d98d9865d7b..344f65ea6a77 100644
--- a/gcc/config/rs6000/vsx.md
+++ b/gcc/config/rs6000/vsx.md
@@ -2443,8 +2443,9 @@
                      (const_int 0)]
                     UNSPEC_VSX_CVSPDP))]
   "VECTOR_UNIT_VSX_P (V2DFmode)"
-  "xvcvdpsp %x0,%x1"
-  [(set_attr "type" "fp")])
+  "xxpermdi %x0,%x1,%x1,0\;xvcvdpsp %x0,%x0"
+  [(set_attr "type" "fp")
+   (set_attr "length" "8")])
 
 ;; xscvspdp, represent the scalar SF type as V4SF
 (define_insn "vsx_xscvspdp"

Reply via email to