From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 7806) id 5EB083858D34; Thu, 2 May 2024 06:41:00 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5EB083858D34 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1714632060; bh=eajTRo2s5qg2QqrIR3tZrMuTnp2L0AbQRlJzWcr/WPo=; h=From:To:Subject:Date:From; b=Ozbh1OWY5GCAhwfKU2bkb/eo3boeK4ounYWzRrXpVALEKf2dngsMT3JA/bohhhJMW jvKwdzMe/6bgVJOku+Y3EedTzaXwxIEPCY9k+XESFZYP67jZUrvIuPkLhd6+8c5RZX a07AM04NVpRBklRBNE/g+nXdfqHWczGZYJtxzaD4= MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Stefan Schulze Frielinghaus To: gcc-cvs@gcc.gnu.org Subject: [gcc r15-100] s390: testsuite: Fix zero_bits_compound-1.c X-Act-Checkin: gcc X-Git-Author: Stefan Schulze Frielinghaus X-Git-Refname: refs/heads/master X-Git-Oldrev: bbe83599320288025a417c54d9afcb3885cb2766 X-Git-Newrev: 6c4a745c6910659a75d1881cf3c4128f24b5666f Message-Id: <20240502064100.5EB083858D34@sourceware.org> Date: Thu, 2 May 2024 06:41:00 +0000 (GMT) List-Id: https://gcc.gnu.org/g:6c4a745c6910659a75d1881cf3c4128f24b5666f commit r15-100-g6c4a745c6910659a75d1881cf3c4128f24b5666f Author: Stefan Schulze Frielinghaus Date: Thu May 2 08:39:32 2024 +0200 s390: testsuite: Fix zero_bits_compound-1.c Starting with r12-2731-g96146e61cd7aee we do not generate code like _5 = (unsigned int) c_2(D); i_6 = _5 << 8; _7 = _5 << 20; i_8 = i_6 | _7; anymore but instead _5 = (unsigned int) c_2(D); _3 = _5 * 1048832; which leads finally to slightly different assembly code where we previously ended up for z10 or newer with lr %r1,%r2 sll %r1,8 rosbg %r1,%r2,32,43,20 llgfr %r2,%r1 br %r14 and now lr %r1,%r2 sll %r1,12 ar %r2,%r1 risbg %r2,%r2,35,128+55,8 br %r14 The zero-extend materializes via risbg for which the pattern contains an "and" which is why the test fails. Thus, instead of scanning for RTL expressions rather scan for assembler instructions for s390. gcc/testsuite/ChangeLog: * gcc.dg/zero_bits_compound-1.c: Fix for s390. Diff: --- gcc/testsuite/gcc.dg/zero_bits_compound-1.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gcc/testsuite/gcc.dg/zero_bits_compound-1.c b/gcc/testsuite/gcc.dg/zero_bits_compound-1.c index e71594911b2..f1e267e0fb0 100644 --- a/gcc/testsuite/gcc.dg/zero_bits_compound-1.c +++ b/gcc/testsuite/gcc.dg/zero_bits_compound-1.c @@ -39,4 +39,5 @@ unsigned long bar (unsigned char c) } /* Check that no pattern containing an AND expression was used. */ -/* { dg-final { scan-assembler-not "\\(and:" } } */ +/* { dg-final { scan-assembler-not "\\(and:" { target { ! { s390*-*-* } } } } } */ +/* { dg-final { scan-assembler-not "\\tng?rk?\\t" { target { s390*-*-* } } } } */