rs6000: Simplify <VSa> for VSX_TI
authorSegher Boessenkool <segher@kernel.crashing.org>
Tue, 4 Jun 2019 23:32:21 +0000 (01:32 +0200)
committerSegher Boessenkool <segher@gcc.gnu.org>
Tue, 4 Jun 2019 23:32:21 +0000 (01:32 +0200)
When used in VSX_TI, <VSa> is always just "wa".

* config/rs6000/vsx.md: Replace all <VSa> that are used with VSX_TI
with just "wa".

From-SVN: r271933

gcc/ChangeLog
gcc/config/rs6000/vsx.md

index f7eff36e5fc7a94462d4d9c454cdf1a2e3fc53eb..213132f83f9c7059e594270506b57848859b1d4c 100644 (file)
@@ -1,3 +1,8 @@
+2019-06-04  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/vsx.md: Replace all <VSa> that are used with VSX_TI
+       with just "wa".
+
 2019-06-04  Segher Boessenkool  <segher@kernel.crashing.org>
 
        * config/rs6000/constraints.md (define_register_constraint "ww"):
index d08264537af70bd84f64ac6216b027c77ae5f523..625582373f3abf58f143201677020085a919f623 100644 (file)
 ;; special V1TI container class, which it is not appropriate to use vec_select
 ;; for the type.
 (define_insn "*vsx_le_permute_<mode>"
-  [(set (match_operand:VSX_TI 0 "nonimmediate_operand" "=<VSa>,<VSa>,Z,&r,&r,Q")
+  [(set (match_operand:VSX_TI 0 "nonimmediate_operand" "=wa,wa,Z,&r,&r,Q")
        (rotate:VSX_TI
-        (match_operand:VSX_TI 1 "input_operand" "<VSa>,Z,<VSa>,r,Q,r")
+        (match_operand:VSX_TI 1 "input_operand" "wa,Z,wa,r,Q,r")
         (const_int 64)))]
   "!BYTES_BIG_ENDIAN && TARGET_VSX && !TARGET_P9_VECTOR"
   "@
    (set_attr "type" "vecperm,vecload,vecstore,*,load,store")])
 
 (define_insn_and_split "*vsx_le_undo_permute_<mode>"
-  [(set (match_operand:VSX_TI 0 "vsx_register_operand" "=<VSa>,<VSa>")
+  [(set (match_operand:VSX_TI 0 "vsx_register_operand" "=wa,wa")
        (rotate:VSX_TI
         (rotate:VSX_TI
-         (match_operand:VSX_TI 1 "vsx_register_operand" "0,<VSa>")
+         (match_operand:VSX_TI 1 "vsx_register_operand" "0,wa")
          (const_int 64))
         (const_int 64)))]
   "!BYTES_BIG_ENDIAN && TARGET_VSX"