From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2078) id 975BC3858298; Tue, 22 Nov 2022 04:50:24 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 975BC3858298 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1669092624; bh=ei6XJ9rhpZb2P6PU0xf4BMIvOPpmUmNFtzY5CgnE7ss=; h=From:To:Subject:Date:From; b=PSOMkAAJjDC+c34/LBd2Y3NN0n8KDqu9ud/HgDVGClSEmE3Iz1GlzVWKC+ooxoqbn 5blS+DNdap2Q7nPsrBLJ/XRky14gFdIseLQ0Sax93O9td5Xr4aubROPIaqwHHsJ1E8 uKOR2GMgX56CqKdck/6KuLUiBiNbO3/WLC6pVTFE= MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: hongtao Liu To: gcc-cvs@gcc.gnu.org Subject: [gcc r13-4225] Guard 64/32-bit vector move patterns with ix86_hard_reg_move_ok. X-Act-Checkin: gcc X-Git-Author: liuhongt X-Git-Refname: refs/heads/master X-Git-Oldrev: 826c22dff6455ba324fea120be27c2be638f0b96 X-Git-Newrev: d5fce9f6c15554a7d5bfbbcd1740200f1d32fa15 Message-Id: <20221122045024.975BC3858298@sourceware.org> Date: Tue, 22 Nov 2022 04:50:24 +0000 (GMT) List-Id: https://gcc.gnu.org/g:d5fce9f6c15554a7d5bfbbcd1740200f1d32fa15 commit r13-4225-gd5fce9f6c15554a7d5bfbbcd1740200f1d32fa15 Author: liuhongt Date: Mon Nov 21 16:09:13 2022 +0800 Guard 64/32-bit vector move patterns with ix86_hard_reg_move_ok. gcc/ChangeLog: * config/i386/mmx.md (*mov_internal): Add ix86_hard_reg_move_ok to condition. Diff: --- gcc/config/i386/mmx.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gcc/config/i386/mmx.md b/gcc/config/i386/mmx.md index d5134cc351e..63aff287795 100644 --- a/gcc/config/i386/mmx.md +++ b/gcc/config/i386/mmx.md @@ -133,7 +133,8 @@ (match_operand:MMXMODE 1 "nonimm_or_0_operand" "rCo,rC,C,rm,rC,C ,!y,m ,?!y,?!y,r ,C,v,m,v,v,r,*x,!y"))] "(TARGET_MMX || TARGET_MMX_WITH_SSE) - && !(MEM_P (operands[0]) && MEM_P (operands[1]))" + && !(MEM_P (operands[0]) && MEM_P (operands[1])) + && ix86_hardreg_mov_ok (operands[0], operands[1])" { switch (get_attr_type (insn)) { @@ -286,7 +287,8 @@ "=r ,m ,v,v,v,m,r,v") (match_operand:V_32 1 "general_operand" "rmC,rC,C,v,m,v,v,r"))] - "!(MEM_P (operands[0]) && MEM_P (operands[1]))" + "!(MEM_P (operands[0]) && MEM_P (operands[1])) + && ix86_hardreg_mov_ok (operands[0], operands[1])" { switch (get_attr_type (insn)) {