aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSegher Boessenkool <segher@kernel.crashing.org>2019-06-05 01:32:21 +0200
committerSegher Boessenkool <segher@gcc.gnu.org>2019-06-05 01:32:21 +0200
commitcd9346a157c48d3fc5a059ca763ecb74178abeb8 (patch)
tree01ce3b58ef955b7e9836b9a22e7b89f7b354f2a1
parent72e3386e136205dcc69e61e538b94643832cf22a (diff)
downloadgcc-cd9346a157c48d3fc5a059ca763ecb74178abeb8.zip
gcc-cd9346a157c48d3fc5a059ca763ecb74178abeb8.tar.gz
gcc-cd9346a157c48d3fc5a059ca763ecb74178abeb8.tar.bz2
rs6000: Simplify <VSa> for VSX_TI
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
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/rs6000/vsx.md8
2 files changed, 9 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f7eff36..213132f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
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"):
Delete.
* config/rs6000/rs6000.c (rs6000_debug_reg_global): Adjust.
diff --git a/gcc/config/rs6000/vsx.md b/gcc/config/rs6000/vsx.md
index d082645..6255823 100644
--- a/gcc/config/rs6000/vsx.md
+++ b/gcc/config/rs6000/vsx.md
@@ -972,9 +972,9 @@
;; 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"
"@
@@ -988,10 +988,10 @@
(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"