From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1033) id 6F0EA3858406; Mon, 8 Nov 2021 16:47:01 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6F0EA3858406 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: David Edelsohn To: gcc-cvs@gcc.gnu.org Subject: [gcc r12-5002] powerpc: Fix vsx_splat_v4si_di breakage on Power8. X-Act-Checkin: gcc X-Git-Author: David Edelsohn X-Git-Refname: refs/heads/master X-Git-Oldrev: d626fe77cdc40de0ae1651c8b94090eea73a719f X-Git-Newrev: a7dce7626a6d5247d7dda48fa36d3cdc258aae84 Message-Id: <20211108164701.6F0EA3858406@sourceware.org> Date: Mon, 8 Nov 2021 16:47:01 +0000 (GMT) X-BeenThere: gcc-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 08 Nov 2021 16:47:01 -0000 https://gcc.gnu.org/g:a7dce7626a6d5247d7dda48fa36d3cdc258aae84 commit r12-5002-ga7dce7626a6d5247d7dda48fa36d3cdc258aae84 Author: David Edelsohn Date: Mon Nov 8 11:46:47 2021 -0500 powerpc: Fix vsx_splat_v4si_di breakage on Power8. The vsx_splat_v4si_di pattern uses a Power8 and a Power9 instruction. The final condition of TARGET_DIRECT_MODE_64BIT implicitly requires Power8. The "we" constraint requires Power9, but also requires 64 bit. Because the DImode pattern already requires 64 bit mode, this isn't horrible, but it would be best to remove all uses of "we" constraint. The mtvsrws instruction itself does not require 64 bit mode. This patch reverts the previous change to fix the breakage. gcc/ChangeLog: * config/rs6000/vsx.md (vsx_splat_v4si_di): Revert "wa" constraint to "we". Diff: --- gcc/config/rs6000/vsx.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/config/rs6000/vsx.md b/gcc/config/rs6000/vsx.md index a97f7f2a680..83d6c7b76f3 100644 --- a/gcc/config/rs6000/vsx.md +++ b/gcc/config/rs6000/vsx.md @@ -4578,7 +4578,7 @@ ;; allows us to use direct move to get the value in a vector register ;; so that we can use XXSPLTW (define_insn "vsx_splat_v4si_di" - [(set (match_operand:V4SI 0 "vsx_register_operand" "=wa,wa") + [(set (match_operand:V4SI 0 "vsx_register_operand" "=wa,we") (vec_duplicate:V4SI (truncate:SI (match_operand:DI 1 "gpc_reg_operand" "wa,r"))))]