diff options
author | Segher Boessenkool <segher@kernel.crashing.org> | 2019-06-05 01:33:18 +0200 |
---|---|---|
committer | Segher Boessenkool <segher@gcc.gnu.org> | 2019-06-05 01:33:18 +0200 |
commit | f78c2209532f9943c5b3aab7464a5e54ae2a2bc0 (patch) | |
tree | 26ed67571ae4ca7629454cb8e11e0603edd240f7 | |
parent | cd9346a157c48d3fc5a059ca763ecb74178abeb8 (diff) | |
download | gcc-f78c2209532f9943c5b3aab7464a5e54ae2a2bc0.zip gcc-f78c2209532f9943c5b3aab7464a5e54ae2a2bc0.tar.gz gcc-f78c2209532f9943c5b3aab7464a5e54ae2a2bc0.tar.bz2 |
rs6000: VSa->wa for some more cases
* config/rs6000/vsx.md (vsx_<VS_spdp_insn>): Use wa instead of <VSa>.
(vsx_extract_<mode>_var): Ditto.
From-SVN: r271934
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/rs6000/vsx.md | 6 |
2 files changed, 8 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 213132f..55463f0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2019-06-04 Segher Boessenkool <segher@kernel.crashing.org> + * config/rs6000/vsx.md (vsx_<VS_spdp_insn>): Use wa instead of <VSa>. + (vsx_extract_<mode>_var): Ditto. + +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". diff --git a/gcc/config/rs6000/vsx.md b/gcc/config/rs6000/vsx.md index 6255823..519f1a0 100644 --- a/gcc/config/rs6000/vsx.md +++ b/gcc/config/rs6000/vsx.md @@ -2164,8 +2164,8 @@ ;; scalar single precision instructions internally use the double format. ;; Prefer the altivec registers, since we likely will need to do a vperm (define_insn "vsx_<VS_spdp_insn>" - [(set (match_operand:<VS_spdp_res> 0 "vsx_register_operand" "=<VSr4>,?<VSa>") - (unspec:<VS_spdp_res> [(match_operand:VSX_SPDP 1 "vsx_register_operand" "<VSr5>,<VSa>")] + [(set (match_operand:<VS_spdp_res> 0 "vsx_register_operand" "=<VSr4>,?wa") + (unspec:<VS_spdp_res> [(match_operand:VSX_SPDP 1 "vsx_register_operand" "<VSr5>,wa")] UNSPEC_VSX_CVSPDP))] "VECTOR_UNIT_VSX_P (<MODE>mode)" "<VS_spdp_insn> %x0,%x1" @@ -3269,7 +3269,7 @@ ;; Variable V2DI/V2DF extract (define_insn_and_split "vsx_extract_<mode>_var" - [(set (match_operand:<VS_scalar> 0 "gpc_reg_operand" "=v,<VSa>,r") + [(set (match_operand:<VS_scalar> 0 "gpc_reg_operand" "=v,wa,r") (unspec:<VS_scalar> [(match_operand:VSX_D 1 "input_operand" "v,m,m") (match_operand:DI 2 "gpc_reg_operand" "r,r,r")] UNSPEC_VSX_EXTRACT)) |