From patchwork Mon Apr 22 06:23:06 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Schulze Frielinghaus X-Patchwork-Id: 88827 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 38B96384AB52 for ; Mon, 22 Apr 2024 06:23:44 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by sourceware.org (Postfix) with ESMTPS id 726A23858D38 for ; Mon, 22 Apr 2024 06:23:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 726A23858D38 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=linux.ibm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linux.ibm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 726A23858D38 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=148.163.158.5 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1713766997; cv=none; b=qeRFTvB0DceDQR5ET3NJ9+ls6MgcQdC07Mq8BjwXeauwt3NRrCgneIkRanUY0h9GSDClmYjhp61tLKjmcbzK8Suyo1O7+4EEI5KgpjTU3YMNF20sjk2GTJnLfBeT0dWJItx43PMVQeWVGmIah9noTZYT5c0KRNUkCIxtPzOeEAU= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1713766997; c=relaxed/simple; bh=7R2zxDIrFFDpE355dM6x/AgOU536mUVIL3Yf9QNT4eQ=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=G8oK8rbHWkXQ3fmFKXrciMhq8p7F9byXPzEOlc/ztEvOCJArDRRzSeMWbkkof1pN2JHjDu0nllEK+xPqCH/i/bNaSENrDGgiGQ2Ppa8HNT6ZP4Ab9AMirGKeS8h/6cbm7a/CeaJ8H6WqEdu0MUTULW7l1XYzUotVVvxG82cWFwk= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from pps.filterd (m0353722.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 43M5TJmD025160 for ; Mon, 22 Apr 2024 06:23:15 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from : to : cc : subject : date : message-id : mime-version : content-transfer-encoding; s=pp1; bh=tq2Fv36SOxCrFuYJ5RVEpJi74xkFxDzYyu3ogj32X0Q=; b=pbeQbi9LuBJ5105nPs43DquS2/hsJIjlojqh5CQk+lDyVFgagTa7/ROGO8cm+uORou2V Cpb/AXAJt4QFIHNXNuVJRh9RzxQzKrd4e8WmTj1fInOqTfwUMypi6mOURvQpbkZowLXO OlMo8usNTMYW+OBamRXRCkaTxrLU0mnYYHl1yQjj8gmpmyVELepYhFhz/uw335evrB56 UJVXRfc1n8u4wM8cV+vFBnFoo3+d8TMjWKzalFdE3iGBWK5dga9XOSJYji0qeXGcJKAg uS6+CVeY3AjOxBPLYUTir67Jaxfqe7sCaJPlsGgBgQCe5RwI4PQ7Dm/Q2xraXb8Glqwn zQ== Received: from ppma23.wdc07v.mail.ibm.com (5d.69.3da9.ip4.static.sl-reverse.com [169.61.105.93]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3xnhsd031k-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Mon, 22 Apr 2024 06:23:14 +0000 Received: from pps.filterd (ppma23.wdc07v.mail.ibm.com [127.0.0.1]) by ppma23.wdc07v.mail.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 43M3G01I015430 for ; Mon, 22 Apr 2024 06:23:14 GMT Received: from smtprelay06.fra02v.mail.ibm.com ([9.218.2.230]) by ppma23.wdc07v.mail.ibm.com (PPS) with ESMTPS id 3xmshkwyhy-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Mon, 22 Apr 2024 06:23:14 +0000 Received: from smtpav04.fra02v.mail.ibm.com (smtpav04.fra02v.mail.ibm.com [10.20.54.103]) by smtprelay06.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 43M6N8XD19398978 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 22 Apr 2024 06:23:10 GMT Received: from smtpav04.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 7216E2004B; Mon, 22 Apr 2024 06:23:08 +0000 (GMT) Received: from smtpav04.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 5972F2004E; Mon, 22 Apr 2024 06:23:08 +0000 (GMT) Received: from a8345010.lnxne.boe (unknown [9.152.108.100]) by smtpav04.fra02v.mail.ibm.com (Postfix) with ESMTPS; Mon, 22 Apr 2024 06:23:08 +0000 (GMT) From: Stefan Schulze Frielinghaus To: krebbel@linux.ibm.com, gcc-patches@gcc.gnu.org Cc: Stefan Schulze Frielinghaus Subject: [PATCH] s390: testsuite: Fix forwprop-4{0,1}.c Date: Mon, 22 Apr 2024 08:23:06 +0200 Message-ID: <20240422062306.2696720-1-stefansf@linux.ibm.com> X-Mailer: git-send-email 2.44.0 MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-GUID: CKW-pqtruw4m99LkTfoN8-dYWCD0zvgo X-Proofpoint-ORIG-GUID: CKW-pqtruw4m99LkTfoN8-dYWCD0zvgo X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-04-22_03,2024-04-19_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 spamscore=0 phishscore=0 priorityscore=1501 bulkscore=0 clxscore=1015 malwarescore=0 mlxscore=0 mlxlogscore=931 lowpriorityscore=0 impostorscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2404010000 definitions=main-2404220028 X-Spam-Status: No, score=-8.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org The tests fail on s390 since can_vec_perm_const_p fails and therefore the bit insert/ref survive which r14-3381-g27de9aa152141e aims for. Strictly speaking, the tests only fail in case the target supports vectors, i.e., for targets prior z13 or in case of -mesa the emulated vector operations are optimized out. Easiest would be to skip the entire test for s390. Another solution would be to xfail in case of vector support hoping that eventually we end up with an xpass for a future machine generation or if gcc advances. That is implemented by this patch. In order to do so I implemented a new target test s390_mvx which tests whether vector support is available or not. Maybe this is already over-engineered for a simple test? Any thoughts? --- gcc/testsuite/gcc.dg/tree-ssa/forwprop-40.c | 4 ++-- gcc/testsuite/gcc.dg/tree-ssa/forwprop-41.c | 4 ++-- gcc/testsuite/lib/target-supports.exp | 14 ++++++++++++++ 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/gcc/testsuite/gcc.dg/tree-ssa/forwprop-40.c b/gcc/testsuite/gcc.dg/tree-ssa/forwprop-40.c index 7513497f552..b67e3e93a7f 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/forwprop-40.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/forwprop-40.c @@ -10,5 +10,5 @@ vector int g(vector int a) return a; } -/* { dg-final { scan-tree-dump-times "BIT_INSERT_EXPR" 0 "optimized" } } */ -/* { dg-final { scan-tree-dump-times "BIT_FIELD_REF" 0 "optimized" } } */ +/* { dg-final { scan-tree-dump-times "BIT_INSERT_EXPR" 0 "optimized" { xfail s390_mvx } } } */ +/* { dg-final { scan-tree-dump-times "BIT_FIELD_REF" 0 "optimized" { xfail s390_mvx } } } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/forwprop-41.c b/gcc/testsuite/gcc.dg/tree-ssa/forwprop-41.c index b1e75797a90..0f119675207 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/forwprop-41.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/forwprop-41.c @@ -11,6 +11,6 @@ vector int g(vector int a, int c) return a; } -/* { dg-final { scan-tree-dump-times "BIT_INSERT_EXPR" 1 "optimized" } } */ -/* { dg-final { scan-tree-dump-times "BIT_FIELD_REF" 0 "optimized" } } */ +/* { dg-final { scan-tree-dump-times "BIT_INSERT_EXPR" 1 "optimized" { xfail s390_mvx } } } */ +/* { dg-final { scan-tree-dump-times "BIT_FIELD_REF" 0 "optimized" { xfail s390_mvx } } } */ /* { dg-final { scan-tree-dump-times "VEC_PERM_EXPR" 0 "optimized" } } */ diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index edce672c0e2..5a692baa8ef 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -12380,6 +12380,20 @@ proc check_effective_target_profile_update_atomic {} { } "-fprofile-update=atomic -fprofile-generate"] } +# Return 1 if the target has a vector facility. +proc check_effective_target_s390_mvx { } { + if ![istarget s390*-*-*] then { + return 0; + } + + return [check_no_compiler_messages_nocache s390_mvx assembly { + #if !defined __VX__ + #error no vector facility. + #endif + int dummy; + } [current_compiler_flags]] +} + # Return 1 if vector (va - vector add) instructions are understood by # the assembler and can be executed. This also covers checking for # the VX kernel feature. A kernel without that feature does not