From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by sourceware.org (Postfix) with ESMTPS id 0CCC83858D1E for ; Tue, 4 Apr 2023 05:22:32 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 0CCC83858D1E 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 Received: from pps.filterd (m0098421.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 3344Z6VA007587; Tue, 4 Apr 2023 05:22:30 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=message-id : date : mime-version : to : cc : from : subject : content-type : content-transfer-encoding; s=pp1; bh=e6QqigWA6B+q7TLCnz2lI2uTHFcz9n6UV3Q6s94saso=; b=eqZoDVgjGIoV0F3rxbCgZH0iAxQ+ztrFhyMBVkTA3PeKR9OheWjPEpcEyxe7aSeWgMRJ hbgzyr0D4Zf8V5Im2uf0fjRdZSednUIuhxOJTCtg1ZB+v17qxfe/BzVv2K+BctLlf2T4 PQhSXkzPf03fP/pYBV16d6PoENIBQpKGHmQ+s5bjCHVABo1O0oPBx57jkBLwxnR/6REX Wgf5ujAdWqvi2NDAeaD2ZO4xceVNge/wxBu7eCJQbq7SaIbWBLDcvR0QA+wVkqq/HRW/ o1ujpjjg/KBbCppGDab88uUM6u1XiJjC0+9HHEALS/7RQRDJJbhnmeen24eIkN+Al/8V VQ== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3pr3grwgq6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 04 Apr 2023 05:22:30 +0000 Received: from m0098421.ppops.net (m0098421.ppops.net [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 3345FagX002884; Tue, 4 Apr 2023 05:22:30 GMT Received: from ppma06ams.nl.ibm.com (66.31.33a9.ip4.static.sl-reverse.com [169.51.49.102]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3pr3grwgpu-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 04 Apr 2023 05:22:29 +0000 Received: from pps.filterd (ppma06ams.nl.ibm.com [127.0.0.1]) by ppma06ams.nl.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 333MJmen020344; Tue, 4 Apr 2023 05:22:28 GMT Received: from smtprelay07.fra02v.mail.ibm.com ([9.218.2.229]) by ppma06ams.nl.ibm.com (PPS) with ESMTPS id 3ppbvg28bj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 04 Apr 2023 05:22:27 +0000 Received: from smtpav04.fra02v.mail.ibm.com (smtpav04.fra02v.mail.ibm.com [10.20.54.103]) by smtprelay07.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 3345MPnT26608348 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 4 Apr 2023 05:22:25 GMT Received: from smtpav04.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 37D8220043; Tue, 4 Apr 2023 05:22:25 +0000 (GMT) Received: from smtpav04.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id C9A0120040; Tue, 4 Apr 2023 05:22:23 +0000 (GMT) Received: from [9.43.232.112] (unknown [9.43.232.112]) by smtpav04.fra02v.mail.ibm.com (Postfix) with ESMTP; Tue, 4 Apr 2023 05:22:23 +0000 (GMT) Message-ID: Date: Tue, 4 Apr 2023 13:22:22 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Thunderbird/91.6.1 Content-Language: en-US To: GCC Patches Cc: Segher Boessenkool , David Edelsohn , Peter Bergner From: "Kewen.Lin" Subject: [PATCH] testsuite: Adjust powerpc test case pr83677.c for BE [PR108815] Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-TM-AS-GCONF: 00 X-Proofpoint-GUID: S8i_tkxODQONU7jgNy1E5fcBma1xF4x1 X-Proofpoint-ORIG-GUID: -GX32-F2PcS1CxbV-iI_s_oAycsZVN7E 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-04-03_19,2023-04-03_03,2023-02-09_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 clxscore=1015 spamscore=0 bulkscore=0 phishscore=0 priorityscore=1501 malwarescore=0 impostorscore=0 mlxlogscore=999 lowpriorityscore=0 adultscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2304040046 X-Spam-Status: No, score=-11.0 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,GIT_PATCH_0,KAM_SHORT,RCVD_IN_MSPIKE_H2,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 List-Id: Hi, The test case gcc.target/powerpc/pr83677.c was written for LE environment, this patch is to make it work on BE as well. Tested on BE and LE well, I'm going to push this soon if no objections. BR, Kewen ----- PR testsuite/108815 gcc/testsuite/ChangeLog: * gcc.target/powerpc/pr83677.c (v_expand_u8, v_expand_u16, v_load_deinterleave_f32, v_store_interleave_f32): Adjust some code by considering BE. --- gcc/testsuite/gcc.target/powerpc/pr83677.c | 30 +++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/gcc/testsuite/gcc.target/powerpc/pr83677.c b/gcc/testsuite/gcc.target/powerpc/pr83677.c index c1a09687174..8b1caff3f98 100644 --- a/gcc/testsuite/gcc.target/powerpc/pr83677.c +++ b/gcc/testsuite/gcc.target/powerpc/pr83677.c @@ -9,14 +9,24 @@ void v_expand_u8(vector unsigned char* a, vector unsigned short* b0, vector unsigned short* b1) { +#if __LITTLE_ENDIAN__ *b0 = (vector unsigned short)vec_mergeh(*a, vec_splats((unsigned char)0)); *b1 = (vector unsigned short)vec_mergel(*a, vec_splats((unsigned char)0)); +#else + *b0 = (vector unsigned short)vec_mergeh(vec_splats((unsigned char)0), *a); + *b1 = (vector unsigned short)vec_mergel(vec_splats((unsigned char)0), *a); +#endif } void v_expand_u16(vector unsigned short* a, vector unsigned int* b0, vector unsigned int* b1) { +#if __LITTLE_ENDIAN__ *b0 = (vector unsigned int)vec_mergeh(*a, vec_splats((unsigned short)0)); *b1 = (vector unsigned int)vec_mergel(*a, vec_splats((unsigned short)0)); +#else + *b0 = (vector unsigned int)vec_mergeh(vec_splats((unsigned short)0), *a); + *b1 = (vector unsigned int)vec_mergel(vec_splats((unsigned short)0), *a); +#endif } void v_load_deinterleave_u8(unsigned char *ptr, vector unsigned char* a, vector unsigned char* b, vector unsigned char* c) @@ -44,13 +54,23 @@ void v_load_deinterleave_f32(float *ptr, vector float* a, vector float* b, vecto vector float v2 = vec_xl(16, ptr); vector float v3 = vec_xl(32, ptr); +#if __LITTLE_ENDIAN__ + vector float t1 = vec_sld(v3, v2, 8); + vector float t2 = vec_sld(v1, v3, 8); + vector float t3 = vec_sld(v2, v1, 8); +#else + vector float t1 = vec_sld(v2, v3, 8); + vector float t2 = vec_sld(v3, v1, 8); + vector float t3 = vec_sld(v1, v2, 8); +#endif + static const vector unsigned char flp = {0, 1, 2, 3, 12, 13, 14, 15, 16, 17, 18, 19, 28, 29, 30, 31}; - *a = vec_perm(v1, vec_sld(v3, v2, 8), flp); + *a = vec_perm(v1, t1, flp); static const vector unsigned char flp2 = {28, 29, 30, 31, 0, 1, 2, 3, 12, 13, 14, 15, 16, 17, 18, 19}; - *b = vec_perm(v2, vec_sld(v1, v3, 8), flp2); + *b = vec_perm(v2, t2, flp2); - *c = vec_perm(vec_sld(v2, v1, 8), v3, flp); + *c = vec_perm(t3, v3, flp); } void v_store_interleave_f32(float *ptr, vector float a, vector float b, vector float c) @@ -61,7 +81,11 @@ void v_store_interleave_f32(float *ptr, vector float a, vector float b, vector f vec_xst(vec_perm(a, hbc, ahbc), 0, ptr); vector float lab = vec_mergel(a, b); +#if __LITTLE_ENDIAN__ vec_xst(vec_sld(lab, hbc, 8), 16, ptr); +#else + vec_xst(vec_sld(hbc, lab, 8), 16, ptr); +#endif static const vector unsigned char clab = {8, 9, 10, 11, 24, 25, 26, 27, 28, 29, 30, 31, 12, 13, 14, 15}; vec_xst(vec_perm(c, lab, clab), 32, ptr); -- 2.39.1