From nobody Tue May 7 16:10:58 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=linux.ibm.com ARC-Seal: i=1; a=rsa-sha256; t=1678987417; cv=none; d=zohomail.com; s=zohoarc; b=dPhCbRLPD21MAY+AKMPXcWZuqxzlxntywTzgFZXWlgwgx6rqyKG9DQO5eP7rWXsfx3E02U9KwWvL+vOiKdJEleoO8XFuWCxF4r4fQU3pq/qoSJifH3suT48xO5jokPBf1isd8ihCGFqGY6/w904pKlLSec5S99JLhbbv+iGtt3A= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1678987417; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=wU1P/C37KhtDGYXGBJQ6qKzCPhptN/aHJ1Tpdec1bak=; b=ed8V6n/xflXnaTgLEWG8IWVAzoR6n42oPskNWlszpwvUjaANav/QPAqtOQOKtX1NaTPOWXAeHKqCNSQEALX1VuUVqBokMJXjPOy83B8oL36cGObsyG5z9SWARxUgC2+pL/I2oBTxi9VYXolSyJDstfrwrhljceB0f3BRL3grk0I= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1678987417526724.7802320131368; Thu, 16 Mar 2023 10:23:37 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pcrJ1-0002Ur-VI; Thu, 16 Mar 2023 13:22:24 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pcrIw-0002Tn-Af; Thu, 16 Mar 2023 13:22:19 -0400 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pcrIu-0001yc-Cx; Thu, 16 Mar 2023 13:22:18 -0400 Received: from pps.filterd (m0187473.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 32GH0xKE023458; Thu, 16 Mar 2023 17:22:14 GMT Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3pbpwck373-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 16 Mar 2023 17:22:13 +0000 Received: from m0187473.ppops.net (m0187473.ppops.net [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 32GGov4m001566; Thu, 16 Mar 2023 17:22:13 GMT Received: from ppma05fra.de.ibm.com (6c.4a.5195.ip4.static.sl-reverse.com [149.81.74.108]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3pbpwck361-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 16 Mar 2023 17:22:13 +0000 Received: from pps.filterd (ppma05fra.de.ibm.com [127.0.0.1]) by ppma05fra.de.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 32G1r078008193; Thu, 16 Mar 2023 17:22:10 GMT Received: from smtprelay05.fra02v.mail.ibm.com ([9.218.2.225]) by ppma05fra.de.ibm.com (PPS) with ESMTPS id 3pbsu7gtuu-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 16 Mar 2023 17:22:10 +0000 Received: from smtpav02.fra02v.mail.ibm.com (smtpav02.fra02v.mail.ibm.com [10.20.54.101]) by smtprelay05.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 32GHM8RR46924224 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 16 Mar 2023 17:22:08 GMT Received: from smtpav02.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 3576020040; Thu, 16 Mar 2023 17:22:08 +0000 (GMT) Received: from smtpav02.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id B21D720043; Thu, 16 Mar 2023 17:22:07 +0000 (GMT) Received: from heavy.boeblingen.de.ibm.com (unknown [9.171.2.157]) by smtpav02.fra02v.mail.ibm.com (Postfix) with ESMTP; Thu, 16 Mar 2023 17:22:07 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding; s=pp1; bh=wU1P/C37KhtDGYXGBJQ6qKzCPhptN/aHJ1Tpdec1bak=; b=COuTo9/o9FcCd4aeiU+8IeJNpJlqGTnS8Yj/PATIEQl5MeXAeI5HRxJJ8KlbLyN1FnLv sE6X/t8MFAoR4HlvQVYZXsHt5OUImSD+wvOdeosZthkHaTbislsLR1Pr/CB6lDEJ0arR NhxiYmVOo37NhHeUqAvs2y/Mvu3D2Q4YAuxQo/+w3wMXa5QI+l0y+UiFefs6aD7Q2GIv 9VUTL7JLTzu4ml/ungtVbeBnWi1wc7OBQ/ZV0JOOFsd7P4WCMu/sK3ySz5iOaROiZFXj 09Cn3eUNJBCpI9iDlFdP7aJg05uyV+3OJ0O4RiwnhCOQOBN77yqdi86FxWCi99iIoWuJ sA== From: Ilya Leoshkevich To: Richard Henderson , David Hildenbrand , Thomas Huth , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Cc: qemu-s390x@nongnu.org, qemu-devel@nongnu.org, Ilya Leoshkevich Subject: [PATCH v3 1/2] target/s390x: Fix R[NOX]SBG with T=1 Date: Thu, 16 Mar 2023 18:22:04 +0100 Message-Id: <20230316172205.281369-2-iii@linux.ibm.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230316172205.281369-1-iii@linux.ibm.com> References: <20230316172205.281369-1-iii@linux.ibm.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: Kb2LPdQAWberSjIZp_G9ztcnsswlG7yv X-Proofpoint-GUID: Vov72zmES2AAXjVczD756G8ISejWvaN_ X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-03-16_10,2023-03-16_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 phishscore=0 impostorscore=0 mlxlogscore=999 clxscore=1015 malwarescore=0 lowpriorityscore=0 spamscore=0 mlxscore=0 adultscore=0 suspectscore=0 priorityscore=1501 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303150002 definitions=main-2303160133 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=148.163.156.1; envelope-from=iii@linux.ibm.com; helo=mx0a-001b2d01.pphosted.com X-Spam_score_int: -19 X-Spam_score: -2.0 X-Spam_bar: -- X-Spam_report: (-2.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @ibm.com) X-ZM-MESSAGEID: 1678987419000100003 Content-Type: text/plain; charset="utf-8" RXSBG usage in the "filetests" test from the wasmtime testsuite makes tcg_reg_alloc_op() attempt to temp_load() a TEMP_VAL_DEAD temporary, causing an assertion failure: 0x01000a70: ec14 b040 3057 rxsbg %r1, %r4, 0xb0, 0x40, 0x30 OP after optimization and liveness analysis: ---- 0000000001000a70 0000000000000004 0000000000000006 rotl_i64 tmp2,r4,$0x30 dead: 1 2 pref=3D0xffff and_i64 tmp2,tmp2,$0x800000000000ffff dead: 1 pref=3D0xffff [xor_i64 tmp3,tmp3,tmp2 dead: 1 2 pref=3D0xffff] and_i64 cc_dst,tmp3,$0x800000000000ffff sync: 0 dead: 0 1 2 pref=3D= 0xffff mov_i64 psw_addr,$0x1000a76 sync: 0 dead: 0 1 pref=3D0x= ffff mov_i32 cc_op,$0x6 sync: 0 dead: 0 1 pref=3D0x= ffff call lookup_tb_ptr,$0x6,$1,tmp8,env dead: 1 pref=3Dnone goto_ptr tmp8 dead: 0 set_label $L0 exit_tb $0x7fffe809d183 ../tcg/tcg.c:3865: tcg fatal error The reason is that tmp3 does not have an initial value, which confuses the register allocator. This also affects the correctness of the results. Fix by assigning R1 to it. Exposed by commit e2e641fa3d5 ("tcg: Change default temp lifetime to TEMP_TB"). Fixes: d6c6372e186e ("target-s390: Implement R[NOX]SBG") Reviewed-by: David Hildenbrand Signed-off-by: Ilya Leoshkevich --- target/s390x/tcg/translate.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/target/s390x/tcg/translate.c b/target/s390x/tcg/translate.c index 14c3896d529..0fb36e04be8 100644 --- a/target/s390x/tcg/translate.c +++ b/target/s390x/tcg/translate.c @@ -3695,11 +3695,15 @@ static DisasJumpType op_rosbg(DisasContext *s, Disa= sOps *o) int i3 =3D get_field(s, i3); int i4 =3D get_field(s, i4); int i5 =3D get_field(s, i5); + TCGv_i64 orig_out; uint64_t mask; =20 /* If this is a test-only form, arrange to discard the result. */ if (i3 & 0x80) { + tcg_debug_assert(o->out !=3D NULL); + orig_out =3D o->out; o->out =3D tcg_temp_new_i64(); + tcg_gen_mov_i64(o->out, orig_out); } =20 i3 &=3D 63; --=20 2.39.2 From nobody Tue May 7 16:10:58 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=linux.ibm.com ARC-Seal: i=1; a=rsa-sha256; t=1678987375; cv=none; d=zohomail.com; s=zohoarc; b=fgZax97RPrEDYXKK5VZe73WvEc0KfsZPiMmEjBcfHm8gBMnryhTsnW9EwIIrt3UPraOlFuCYqMdBT1k0Mf6ywhio2jSyr3RlyWNVmxk8iA2Zvfwm6MmBgZitdnRKZ46fNGSVsUzCyVVGvCU2+aL8vUyX8iDGgvTEVrLhrSS+7/k= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1678987375; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=DNR3gjlrQrcAN9KAWcCCnW6EaxXixu/69GNGqI8FhV0=; b=GuIz29uGVG7FkcOkb+yeO8ixXuNUCIv4TuWdPXEba0VMJ+gXsGIN4q0d3Unh022HtkCSjhTASV23YNKwQRHDG+kgr/Na0QBnPjhxqFckIeQxJ1Z3YKJkSkc/W7Aq13mqrJKG7t7Glsjg/bRyT0rGJyoDtqYu3p8BhsS3tlOpt28= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1678987375922704.5876136483228; Thu, 16 Mar 2023 10:22:55 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pcrJ4-0002VU-3E; Thu, 16 Mar 2023 13:22:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pcrIx-0002Tx-EO; Thu, 16 Mar 2023 13:22:19 -0400 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pcrIu-0001yk-Sl; Thu, 16 Mar 2023 13:22:19 -0400 Received: from pps.filterd (m0127361.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 32GGlCgV039282; Thu, 16 Mar 2023 17:22:14 GMT Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3pc6xjh3x3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 16 Mar 2023 17:22:14 +0000 Received: from m0127361.ppops.net (m0127361.ppops.net [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 32GGmFMR004412; Thu, 16 Mar 2023 17:22:13 GMT Received: from ppma03fra.de.ibm.com (6b.4a.5195.ip4.static.sl-reverse.com [149.81.74.107]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3pc6xjh3w7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 16 Mar 2023 17:22:13 +0000 Received: from pps.filterd (ppma03fra.de.ibm.com [127.0.0.1]) by ppma03fra.de.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 32G23KAn028849; Thu, 16 Mar 2023 17:22:12 GMT Received: from smtprelay06.fra02v.mail.ibm.com ([9.218.2.230]) by ppma03fra.de.ibm.com (PPS) with ESMTPS id 3pbsyxrtjh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 16 Mar 2023 17:22:11 +0000 Received: from smtpav02.fra02v.mail.ibm.com (smtpav02.fra02v.mail.ibm.com [10.20.54.101]) by smtprelay06.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 32GHM9Or45613362 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 16 Mar 2023 17:22:09 GMT Received: from smtpav02.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 8075E20043; Thu, 16 Mar 2023 17:22:09 +0000 (GMT) Received: from smtpav02.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 0BA1B20040; Thu, 16 Mar 2023 17:22:09 +0000 (GMT) Received: from heavy.boeblingen.de.ibm.com (unknown [9.171.2.157]) by smtpav02.fra02v.mail.ibm.com (Postfix) with ESMTP; Thu, 16 Mar 2023 17:22:08 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding; s=pp1; bh=DNR3gjlrQrcAN9KAWcCCnW6EaxXixu/69GNGqI8FhV0=; b=gAn4Ui1IHiWjS80ObCtP6BpdbFauxrghoILaIJU8IyfIKjh8sAgAsbtbejbVD3XpMg0B 5IYgFeKmLPGZovHjwdv0/7d2c9jvJCphgaBQYa1w6d77gPlT9mGjbTxVOFXsqDNp6OND CYPnWKH6zkdKjhSrpTnceG7rc6WdD2sbpwn7hKL5uGZcekzkz6VQpz/Wmb704CTKYllb GTOCNe14lUr8j4ItCFz6YS6Ev8ruy8cDzUQlGbdoClvJpdOucrFTHhATeXwNbOTRiLHs dc50TY6gH0uLFfYNVXR3ZBUOZW555grj9B7WsfK/aNLQppBRmxXGRSsQf4LWAacsmo2E kg== From: Ilya Leoshkevich To: Richard Henderson , David Hildenbrand , Thomas Huth , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Cc: qemu-s390x@nongnu.org, qemu-devel@nongnu.org, Ilya Leoshkevich Subject: [PATCH v3 2/2] tests/tcg/s390x: Add rxsbg.c Date: Thu, 16 Mar 2023 18:22:05 +0100 Message-Id: <20230316172205.281369-3-iii@linux.ibm.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230316172205.281369-1-iii@linux.ibm.com> References: <20230316172205.281369-1-iii@linux.ibm.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: KSlOs00HLm0PB3P94InWAAFNJ0taouzc X-Proofpoint-GUID: KNH5ekVWzZXL8I6_fVKbMkHHfacMlgV7 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-03-16_10,2023-03-16_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 impostorscore=0 mlxscore=0 malwarescore=0 bulkscore=0 mlxlogscore=917 lowpriorityscore=0 clxscore=1015 priorityscore=1501 spamscore=0 adultscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303150002 definitions=main-2303160133 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=148.163.158.5; envelope-from=iii@linux.ibm.com; helo=mx0b-001b2d01.pphosted.com X-Spam_score_int: -19 X-Spam_score: -2.0 X-Spam_bar: -- X-Spam_report: (-2.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @ibm.com) X-ZM-MESSAGEID: 1678987377250100001 Content-Type: text/plain; charset="utf-8" Add a small test for RXSBG with T=3D1 to prevent regressions. Signed-off-by: Ilya Leoshkevich Reviewed-by: Thomas Huth --- tests/tcg/s390x/Makefile.target | 3 +++ tests/tcg/s390x/rxsbg.c | 46 +++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 tests/tcg/s390x/rxsbg.c diff --git a/tests/tcg/s390x/Makefile.target b/tests/tcg/s390x/Makefile.tar= get index cf93b966862..3c940ac952e 100644 --- a/tests/tcg/s390x/Makefile.target +++ b/tests/tcg/s390x/Makefile.target @@ -29,10 +29,13 @@ TESTS+=3Dclst TESTS+=3Dlong-double TESTS+=3Dcdsg TESTS+=3Dchrl +TESTS+=3Drxsbg =20 cdsg: CFLAGS+=3D-pthread cdsg: LDFLAGS+=3D-pthread =20 +rxsbg: CFLAGS+=3D-O2 + Z13_TESTS=3Dvistr $(Z13_TESTS): CFLAGS+=3D-march=3Dz13 -O2 TESTS+=3D$(Z13_TESTS) diff --git a/tests/tcg/s390x/rxsbg.c b/tests/tcg/s390x/rxsbg.c new file mode 100644 index 00000000000..4b155db304e --- /dev/null +++ b/tests/tcg/s390x/rxsbg.c @@ -0,0 +1,46 @@ +/* + * Test the RXSBG instruction. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ +#include +#include + +static inline __attribute__((__always_inline__)) void +rxsbg(unsigned long *r1, unsigned long r2, int i3, int i4, int i5, int *cc) +{ + asm("rxsbg %[r1],%[r2],%[i3],%[i4],%[i5]\n" + "ipm %[cc]" + : [r1] "+r" (*r1), [cc] "=3Dr" (*cc) + : [r2] "r" (r2) , [i3] "i" (i3) , [i4] "i" (i4) , [i5] "i" (i5) + : "cc"); + *cc =3D (*cc >> 28) & 3; +} + +void test_cc0(void) +{ + unsigned long r1 =3D 6; + int cc; + + rxsbg(&r1, 3, 61 | 0x80, 62, 1, &cc); + assert(r1 =3D=3D 6); + assert(cc =3D=3D 0); +} + +void test_cc1(void) +{ + unsigned long r1 =3D 2; + int cc; + + rxsbg(&r1, 3, 61 | 0x80, 62, 1, &cc); + assert(r1 =3D=3D 2); + assert(cc =3D=3D 1); +} + +int main(void) +{ + test_cc0(); + test_cc1(); + + return EXIT_SUCCESS; +} --=20 2.39.2