[gcc(refs/users/meissner/heads/work083)] Make vsx_splat_<mode>_reg use correct insn attributes.

Michael Meissner meissner@gcc.gnu.org
Thu Mar 24 19:35:22 GMT 2022


https://gcc.gnu.org/g:4a75d9bf33b5787a2c80a2a30b392fe32b5d771d

commit 4a75d9bf33b5787a2c80a2a30b392fe32b5d771d
Author: Michael Meissner <meissner@linux.ibm.com>
Date:   Thu Mar 24 15:35:05 2022 -0400

    Make vsx_splat_<mode>_reg use correct insn attributes.
    
    In looking at PR target/99293, I noticed that the code in
    vsx_splat_<mode>_reg used "vecmove" as the "type" insn attribute when the
    "mtvsrdd" is generated.  It should use "mfvsr".  I also added a "p9v" isa
    attribute for that alternative.
    
    2022-03-23   Michael Meissner  <meissner@linux.ibm.com>
    
    gcc/
            PR target/99392
            * config/rs6000/rs6000.md (vsx_splat_<mode>_reg): Use the correct
            insn type attribute.  Add "p9v" isa attribute for generating the
            mtvsrdd instruction.

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

diff --git a/gcc/config/rs6000/vsx.md b/gcc/config/rs6000/vsx.md
index ddafbe471dd..ad722cff70f 100644
--- a/gcc/config/rs6000/vsx.md
+++ b/gcc/config/rs6000/vsx.md
@@ -4580,7 +4580,8 @@
   "@
    xxpermdi %x0,%x1,%x1,0
    mtvsrdd %x0,%1,%1"
-  [(set_attr "type" "vecperm,vecmove")])
+  [(set_attr "type" "vecperm,mtvsr")
+   (set_attr "isa" "*,p9v")])
 
 (define_insn "vsx_splat_<mode>_mem"
   [(set (match_operand:VSX_D 0 "vsx_register_operand" "=wa")


More information about the Gcc-cvs mailing list