public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r15-100] s390: testsuite: Fix zero_bits_compound-1.c
@ 2024-05-02  6:41 Stefan Schulze Frielinghaus
  0 siblings, 0 replies; only message in thread
From: Stefan Schulze Frielinghaus @ 2024-05-02  6:41 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:6c4a745c6910659a75d1881cf3c4128f24b5666f

commit r15-100-g6c4a745c6910659a75d1881cf3c4128f24b5666f
Author: Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
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*-*-* } } } } */

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2024-05-02  6:41 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-05-02  6:41 [gcc r15-100] s390: testsuite: Fix zero_bits_compound-1.c Stefan Schulze Frielinghaus

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).