From nobody Tue May 14 06:50:51 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=1683179003; cv=none; d=zohomail.com; s=zohoarc; b=L8we84Cdgdn4ymS0Qzhd/HKW7EyiGE3gzOO4RkzeS+YUj90V+ZOZDLxCGbpbH1bYmDmPedtb4b5TemMrI2cY/kxPT6NSgm2kMuSDgAmRFeb4v8oBzDlWyOPxcoFiXpbqlFePIOfvdjF8YZxgld6tB8Ir08FZcQ2gDgm68Cc+RDo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1683179003; h=Content-Type: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=WTbB69EseBT8Le4yVdDLV9jKnHiEX+StYxzVlPUURp8=; b=NKPCu0R0NJ2cfQH0oPhqDgCbEx59DLm/1GPB88uTimf0o6BM1I1hWTMdmLPr1LwwSwMt7QdEUozMJvh42/EEfXeyDN2OOW/7Hy80SdmD5xsfIN164anYQcur2BVuDgGa3YXCgYkyXZmHta//g/BDUZ/MvuEGHHxbUhxcb5gsMtE= 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 1683179003204558.9168695850527; Wed, 3 May 2023 22:43:23 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1puRk6-0002Zg-84; Thu, 04 May 2023 01:43:06 -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 1puRjt-0002Y6-UP; Thu, 04 May 2023 01:42:52 -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 1puRjr-0002O6-3g; Thu, 04 May 2023 01:42:49 -0400 Received: from pps.filterd (m0356516.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 3445dcqA017988; Thu, 4 May 2023 05:42:34 GMT Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3qc6g00aw6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 04 May 2023 05:42:33 +0000 Received: from m0356516.ppops.net (m0356516.ppops.net [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 3445euJS023590; Thu, 4 May 2023 05:42:33 GMT Received: from ppma03ams.nl.ibm.com (62.31.33a9.ip4.static.sl-reverse.com [169.51.49.98]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3qc6g00avp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 04 May 2023 05:42:32 +0000 Received: from pps.filterd (ppma03ams.nl.ibm.com [127.0.0.1]) by ppma03ams.nl.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 3443PVBL004759; Thu, 4 May 2023 05:42:31 GMT Received: from smtprelay07.fra02v.mail.ibm.com ([9.218.2.229]) by ppma03ams.nl.ibm.com (PPS) with ESMTPS id 3q8tv6tmtr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 04 May 2023 05:42:31 +0000 Received: from smtpav01.fra02v.mail.ibm.com (smtpav01.fra02v.mail.ibm.com [10.20.54.100]) by smtprelay07.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 3445gSkM19727064 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 4 May 2023 05:42:29 GMT Received: from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id C77D72004B; Thu, 4 May 2023 05:42:28 +0000 (GMT) Received: from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 099F620043; Thu, 4 May 2023 05:42:27 +0000 (GMT) Received: from ltc-boston1.aus.stglabs.ibm.com (unknown [9.40.193.18]) by smtpav01.fra02v.mail.ibm.com (Postfix) with ESMTP; Thu, 4 May 2023 05:42:26 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=subject : from : to : cc : date : message-id : in-reply-to : references : content-type : content-transfer-encoding : mime-version; s=pp1; bh=WTbB69EseBT8Le4yVdDLV9jKnHiEX+StYxzVlPUURp8=; b=i1sFjZbq7EU7OLEhZpFiA+X2SJE3E6w8y54NG4fdqCJpjLaivFy7GH6WM+L0po/Sm0nk 5c8es7Oa7tuSJYbsPbfzoJ2CwBcKK92l5OuoKFFiWICX8QllHBmYY360VNSksVWBOet+ iNmudxqqC29E2ma42k3/cXx6nvRksEcTCRuZgraiMuNiuQyHCHdoVb7NpNcMLJU4jVQ/ vyzQ/eBF2J1wo1DDIQB8QGkH2PktjVJaRFcfNjuqFUkUa4D855TDJEJ+WJO+wDYNtpUj V/CbxH/fJ9jWlH91xt7nAE27K/XwV/dmP8h6ORGb4Jjmnb62nFL1usMW48fkPOKrQZB3 HA== Subject: [PATCH v2 1/2] tcg: ppc64: Fix mask generation for vextractdm From: Shivaprasad G Bhat To: philmd@linaro.org, richard.henderson@linaro.org, danielhb413@gmail.com, lucas.araujo@eldorado.org.br, qemu-ppc@nongnu.org, clg@kaod.org, david@gibson.dropbear.id.au, groug@kaod.org, qemu-ppc@nongnu.org Cc: john_platts@hotmail.com, sbhat@linux.ibm.com, qemu-devel@nongnu.org Date: Thu, 04 May 2023 05:35:39 -0400 Message-ID: <168319292809.1159309.5817546227121323288.stgit@ltc-boston1.aus.stglabs.ibm.com> In-Reply-To: <168319291781.1159309.7376486961333644798.stgit@ltc-boston1.aus.stglabs.ibm.com> References: <168319291781.1159309.7376486961333644798.stgit@ltc-boston1.aus.stglabs.ibm.com> User-Agent: StGit/1.5 Content-Type: text/plain; charset="utf-8" X-TM-AS-GCONF: 00 X-Proofpoint-GUID: HPR_eaPkWIeyP0BNyhVSISAHvJB5uUsZ X-Proofpoint-ORIG-GUID: N2cndlyLqv4zj91JbIkI86fqk_WRuJeT Content-Transfer-Encoding: quoted-printable X-Proofpoint-UnRewURL: 0 URL was un-rewritten MIME-Version: 1.0 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-05-04_02,2023-05-03_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 phishscore=0 adultscore=0 priorityscore=1501 clxscore=1015 malwarescore=0 mlxscore=0 mlxlogscore=999 lowpriorityscore=0 impostorscore=0 suspectscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2305040046 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=sbhat@linux.ibm.com; helo=mx0b-001b2d01.pphosted.com X-Spam_score_int: 10 X-Spam_score: 1.0 X-Spam_bar: + X-Spam_report: (1.0 / 5.0 requ) BAYES_00=-1.9, DATE_IN_FUTURE_03_06=3.027, 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, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no 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: 1683179003844100003 In function do_extractm() the mask is calculated as dup_const(1 << (element_width - 1)). '1' being signed int works fine for MO_8,16,32. For MO_64, on PPC64 host this ends up becoming 0 on compilation. The vextractdm uses MO_64, and it ends up having mask as 0. Explicitly use 1ULL instead of signed int 1 like its used everywhere else. Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1536 Signed-off-by: Shivaprasad G Bhat Reviewed-by: Alex Benn=C3=A9e Reviewed-by: Lucas Mateus Castro Reviewed-by: Richard Henderson Reviewed-by: C=C3=A9dric Le Goater --- target/ppc/translate/vmx-impl.c.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/ppc/translate/vmx-impl.c.inc b/target/ppc/translate/vmx= -impl.c.inc index 112233b541..c8712dd7d8 100644 --- a/target/ppc/translate/vmx-impl.c.inc +++ b/target/ppc/translate/vmx-impl.c.inc @@ -2058,7 +2058,7 @@ static bool trans_VEXPANDQM(DisasContext *ctx, arg_VX= _tb *a) static bool do_vextractm(DisasContext *ctx, arg_VX_tb *a, unsigned vece) { const uint64_t elem_width =3D 8 << vece, elem_count_half =3D 8 >> vece, - mask =3D dup_const(vece, 1 << (elem_width - 1)); + mask =3D dup_const(vece, 1ULL << (elem_width - 1)); uint64_t i, j; TCGv_i64 lo, hi, t0, t1; From nobody Tue May 14 06:50:51 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=1683179017; cv=none; d=zohomail.com; s=zohoarc; b=AvPqRvHTgLgL1jrkKqQTU1Vn3MXpb1NrBjjdWFoZPE3sSqME6SJcOKWBN38cShnqK0dW094brQquz7k4ipJataqeS6mMy9MDct+ydg01ybMnNN+G1uHJPl6+ARNptaJ8Bu3urq4L+1flH5Yv8AGxNblfJX/cxEkEOcUEHyUUBpU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1683179017; h=Content-Type: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=cxrWhhwSSh/Wx/Mp58VihiZdNoDIpbyu0CnsKPiPLXQ=; b=iK4VvRtuP1oJ7PhepvDXRnLffpCQ/awd4Mt0vrTy2axlQxvd7YIQron1SGTkHxf116exiwnKxQxYl48gBMJ0vExfuzBtdvk72SwIKh+fyjBtGNnQgMl6HJEgiuWAi0gF10C5TXX4HVPKhDavtOhzJteMv4bGELpjx0FquwFthH4= 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 1683179017169310.0511629788425; Wed, 3 May 2023 22:43:37 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1puRkU-0002xT-1k; Thu, 04 May 2023 01:43: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 1puRkR-0002qK-DK; Thu, 04 May 2023 01:43:24 -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 1puRkM-0002Rr-PS; Thu, 04 May 2023 01:43:23 -0400 Received: from pps.filterd (m0353729.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 3445gADn011714; Thu, 4 May 2023 05:43:01 GMT Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3qc6sjr0p5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 04 May 2023 05:43:00 +0000 Received: from m0353729.ppops.net (m0353729.ppops.net [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 3445h0kB014824; Thu, 4 May 2023 05:43:00 GMT Received: from ppma03ams.nl.ibm.com (62.31.33a9.ip4.static.sl-reverse.com [169.51.49.98]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3qc6sjr0n7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 04 May 2023 05:43:00 +0000 Received: from pps.filterd (ppma03ams.nl.ibm.com [127.0.0.1]) by ppma03ams.nl.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 3441YkJd011990; Thu, 4 May 2023 05:42:57 GMT Received: from smtprelay03.fra02v.mail.ibm.com ([9.218.2.224]) by ppma03ams.nl.ibm.com (PPS) with ESMTPS id 3q8tv6tmtx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 04 May 2023 05:42:57 +0000 Received: from smtpav06.fra02v.mail.ibm.com (smtpav06.fra02v.mail.ibm.com [10.20.54.105]) by smtprelay03.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 3445gtW539059844 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 4 May 2023 05:42:55 GMT Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 5591F20043; Thu, 4 May 2023 05:42:55 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id B263620049; Thu, 4 May 2023 05:42:53 +0000 (GMT) Received: from ltc-boston1.aus.stglabs.ibm.com (unknown [9.40.193.18]) by smtpav06.fra02v.mail.ibm.com (Postfix) with ESMTP; Thu, 4 May 2023 05:42:53 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=subject : from : to : cc : date : message-id : in-reply-to : references : content-type : content-transfer-encoding : mime-version; s=pp1; bh=cxrWhhwSSh/Wx/Mp58VihiZdNoDIpbyu0CnsKPiPLXQ=; b=Tmk4mgcm1gCuZN3B+jDrwRefAIChGjRIX7e923MNReQVpEc2IYOG0PgJf+bjqzk6jQar OGZagaTDEDPHH3PtDQfHTZM9fBYFyKSGfnbKN2kBw9xwXe0ksZVhp03RBYL30RYc3+PJ YuIuEN0HTRBwB288uC/32zm/f5q2dQiI2SOUOrLltuXUJ5RktSdfRGNTL4gzVWg4cNf+ MgHOun104p/R4/4zYFzcJlJLAkotgBOsFRInQ9KLTBy2qJj/artFT224ttF5/mjJqQvO zxPPU9FobRSQRZ6eXVPYRzPuvTWgy6DHr+UWPIdXn73vkLddXBRbqiYdi2eLnq8GfPLG fw== Subject: [PATCH v2 2/2] tests: tcg: ppc64: Add tests for Vector Extract Mask Instructions From: Shivaprasad G Bhat To: philmd@linaro.org, richard.henderson@linaro.org, danielhb413@gmail.com, lucas.araujo@eldorado.org.br, qemu-ppc@nongnu.org, clg@kaod.org, david@gibson.dropbear.id.au, groug@kaod.org, qemu-ppc@nongnu.org Cc: john_platts@hotmail.com, sbhat@linux.ibm.com, qemu-devel@nongnu.org Date: Thu, 04 May 2023 05:36:04 -0400 Message-ID: <168319294881.1159309.17060400720026083557.stgit@ltc-boston1.aus.stglabs.ibm.com> In-Reply-To: <168319291781.1159309.7376486961333644798.stgit@ltc-boston1.aus.stglabs.ibm.com> References: <168319291781.1159309.7376486961333644798.stgit@ltc-boston1.aus.stglabs.ibm.com> User-Agent: StGit/1.5 Content-Type: text/plain; charset="utf-8" X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: i-6kkXWGRpxNB13rGcr7todo6MJUvZYs X-Proofpoint-GUID: PlC4n1SqwV1K8zZUdjS0BKHguik0enhG Content-Transfer-Encoding: quoted-printable X-Proofpoint-UnRewURL: 0 URL was un-rewritten MIME-Version: 1.0 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-05-04_02,2023-05-03_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxlogscore=950 spamscore=0 mlxscore=0 adultscore=0 priorityscore=1501 lowpriorityscore=0 phishscore=0 malwarescore=0 clxscore=1015 suspectscore=0 impostorscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2305040046 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=sbhat@linux.ibm.com; helo=mx0a-001b2d01.pphosted.com X-Spam_score_int: 10 X-Spam_score: 1.0 X-Spam_bar: + X-Spam_report: (1.0 / 5.0 requ) BAYES_00=-1.9, DATE_IN_FUTURE_03_06=3.027, 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, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no 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: 1683179018702100003 Add test for vextractbm, vextractwm, vextractdm and vextractqm instructions. Test works for both qemu-ppc64 and qemu-ppc64le. Based on the test case written by John Platts posted at [1] References: [1] - https://gitlab.com/qemu-project/qemu/-/issues/1536 Signed-off-by: John Platts Signed-off-by: Shivaprasad G Bhat Reviewed-by: Lucas Mateus Castro Reviewed-by: C=C3=A9dric Le Goater --- tests/tcg/ppc64/Makefile.target | 5 +++- tests/tcg/ppc64/vector.c | 51 +++++++++++++++++++++++++++++++++++= ++++ 2 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 tests/tcg/ppc64/vector.c diff --git a/tests/tcg/ppc64/Makefile.target b/tests/tcg/ppc64/Makefile.tar= get index 6d47d3cae6..b084963b9a 100644 --- a/tests/tcg/ppc64/Makefile.target +++ b/tests/tcg/ppc64/Makefile.target @@ -20,7 +20,7 @@ PPC64_TESTS +=3D mtfsf PPC64_TESTS +=3D mffsce =20 ifneq ($(CROSS_CC_HAS_POWER10),) -PPC64_TESTS +=3D byte_reverse sha512-vector +PPC64_TESTS +=3D byte_reverse sha512-vector vector endif byte_reverse: CFLAGS +=3D -mcpu=3Dpower10 run-byte_reverse: QEMU_OPTS+=3D-cpu POWER10 @@ -31,6 +31,9 @@ sha512-vector: sha512.c =20 run-sha512-vector: QEMU_OPTS+=3D-cpu POWER10 =20 +vector: CFLAGS +=3D -mcpu=3Dpower10 -I$(SRC_PATH)/include +run-vector: QEMU_OPTS +=3D -cpu POWER10 + PPC64_TESTS +=3D signal_save_restore_xer PPC64_TESTS +=3D xxspltw =20 diff --git a/tests/tcg/ppc64/vector.c b/tests/tcg/ppc64/vector.c new file mode 100644 index 0000000000..cbf4ae9332 --- /dev/null +++ b/tests/tcg/ppc64/vector.c @@ -0,0 +1,51 @@ +#include +#include +#include "qemu/compiler.h" + +int main(void) +{ + unsigned int result_wi; + vector unsigned char vbc_bi_src =3D { 0xFF, 0xFF, 0, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0, 0, 0, + 0, 0xFF, 0xFF}; + vector unsigned short vbc_hi_src =3D { 0xFFFF, 0, 0, 0xFFFF, + 0, 0, 0xFFFF, 0xFFFF}; + vector unsigned int vbc_wi_src =3D {0, 0, 0xFFFFFFFF, 0xFFFFFFFF}; + vector unsigned long long vbc_di_src =3D {0xFFFFFFFFFFFFFFFF, 0}; + vector __uint128_t vbc_qi_src; + + asm("vextractbm %0, %1" : "=3Dr" (result_wi) : "v" (vbc_bi_src)); +#if HOST_BIG_ENDIAN + assert(result_wi =3D=3D 0b1101111111000011); +#else + assert(result_wi =3D=3D 0b1100001111111011); +#endif + + asm("vextracthm %0, %1" : "=3Dr" (result_wi) : "v" (vbc_hi_src)); +#if HOST_BIG_ENDIAN + assert(result_wi =3D=3D 0b10010011); +#else + assert(result_wi =3D=3D 0b11001001); +#endif + + asm("vextractwm %0, %1" : "=3Dr" (result_wi) : "v" (vbc_wi_src)); +#if HOST_BIG_ENDIAN + assert(result_wi =3D=3D 0b0011); +#else + assert(result_wi =3D=3D 0b1100); +#endif + + asm("vextractdm %0, %1" : "=3Dr" (result_wi) : "v" (vbc_di_src)); +#if HOST_BIG_ENDIAN + assert(result_wi =3D=3D 0b10); +#else + assert(result_wi =3D=3D 0b01); +#endif + + vbc_qi_src[0] =3D 0x1; + vbc_qi_src[0] =3D vbc_qi_src[0] << 127; + asm("vextractqm %0, %1" : "=3Dr" (result_wi) : "v" (vbc_qi_src)); + assert(result_wi =3D=3D 0b1); + + return 0; +}