From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2140) id 519D9385840C; Sat, 25 Mar 2023 14:53:15 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 519D9385840C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1679755995; bh=Ba71RAg+HHVyWOE6P11SKKcipWuVFgVwQtrwv8+WRC4=; h=From:To:Subject:Date:From; b=hPm7S+XP0gSo4ZwS6t+VQqaxJD8Jf2lPBYJ/AMuIRX8YcKPgaYf4YLxczsy0NkmlA sWDKwOyYG+DPDWppFRZgV9kCFyUSk46K/thhDrkHxcN/nR+CT9208zUx2xnybxKSWT 3pdc9y3L4G82+ue+eI/qYGuel5t6BEnmFu6ESTrg= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Alexandre Oliva To: gcc-cvs@gcc.gnu.org Subject: [gcc(refs/users/aoliva/heads/testme)] [rs6000] Correct match pattern in pr56605.c X-Act-Checkin: gcc X-Git-Author: Haochen Gui X-Git-Refname: refs/users/aoliva/heads/testme X-Git-Oldrev: 16e525ade27dc9338406f9e0c66212ffbc236482 X-Git-Newrev: bb11304c7b2343f86e706b4f7136b9eb013ac305 Message-Id: <20230325145315.519D9385840C@sourceware.org> Date: Sat, 25 Mar 2023 14:53:15 +0000 (GMT) List-Id: https://gcc.gnu.org/g:bb11304c7b2343f86e706b4f7136b9eb013ac305 commit bb11304c7b2343f86e706b4f7136b9eb013ac305 Author: Haochen Gui Date: Fri Mar 24 02:57:14 2023 -0300 [rs6000] Correct match pattern in pr56605.c This patch corrects the match pattern in pr56605.c. The former pattern is wrong and test case fails with GCC11. It should match following insn on each subtarget after mode promotion is disabled. The patch need to be backported to GCC11. //gimple _17 = (unsigned int) _20; prolog_loop_niters.4_23 = _17 & 3; //rtl (insn 19 18 20 2 (parallel [ (set (reg:CC 208) (compare:CC (and:SI (subreg:SI (reg:DI 207) 0) (const_int 3 [0x3])) (const_int 0 [0]))) (set (reg:SI 129 [ prolog_loop_niters.5 ]) (and:SI (subreg:SI (reg:DI 207) 0) (const_int 3 [0x3]))) ]) 197 {*andsi3_imm_mask_dot2} for gcc/testsuite/ChangeLog PR target/102146 * gcc.target/powerpc/pr56605.c: Correct match pattern in combine pass. Diff: --- gcc/testsuite/gcc.target/powerpc/pr56605.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gcc/testsuite/gcc.target/powerpc/pr56605.c b/gcc/testsuite/gcc.target/powerpc/pr56605.c index 7695f87db6f..651a88e3cc7 100644 --- a/gcc/testsuite/gcc.target/powerpc/pr56605.c +++ b/gcc/testsuite/gcc.target/powerpc/pr56605.c @@ -11,5 +11,4 @@ void foo (short* __restrict sb, int* __restrict ia) ia[i] = (int) sb[i]; } -/* { dg-final { scan-rtl-dump-times {\(compare:CC \((?:and|zero_extend):(?:[SD]I) \((?:sub)?reg:[SD]I} 1 "combine" } } */ - +/* { dg-final { scan-rtl-dump-times {\(compare:CC \(and:SI \(subreg:SI \(reg:DI} 1 "combine" } } */