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 B0CCD3870C1B for ; Tue, 14 May 2024 02:55:17 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B0CCD3870C1B 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 B0CCD3870C1B 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=1715655319; cv=none; b=VI46NFADrGlsTCinsWrBgpgb72h2hbXh58KBdQtpNh6ltcw74A7Dmzj6oN+3vFTHHX2E96ad6Kes4W6afLn07xLM40bk0yo+Ot8AA/a/83bP0lA8Er5Xxx0H9A4WbiAwcWiaDDuLz6YHWul9ydrsfWEtigOpxG6RtFQAD3o3xz4= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1715655319; c=relaxed/simple; bh=cjZsRF4CxKmBsy6g79aDXm2SE5b6Q3mw52gJ/TKWe3A=; h=DKIM-Signature:Message-ID:Date:MIME-Version:Subject:To:From; b=RlyQi65d1l/m4pPmKe/L3t/ZLLIMahVAFTYG/8y37H+z+ECNOdjshlD5f4kAd45ECGnCVa77zUH7dahqv8k1tVSe4aVzZR5G1fl9no2ihnQYsJPFIcnqbitaiOei/BRZpFfC3ZIGO5yzTeBzNS0+3V7o0rHDyTM97xbHaUbL0hs= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from pps.filterd (m0353724.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 44E1wCvV006758; Tue, 14 May 2024 02:55:17 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=message-id : date : mime-version : subject : to : references : cc : from : in-reply-to : content-type : content-transfer-encoding; s=pp1; bh=YLoCJhxwtKLsCz9+O1l7Z2PLNYGO/qoQh8BhZGRCUgE=; b=M30Modqc6Z0X2M6otRwPU4xfp80sEM/eEj3iUXiYjqtuYhfFKDmxJVg1PK8k47mg9Clp MQereCdT9WUdd6hDfuGHASajw9kuvKL2CGuNvbnshcOk2KxCXoJOzXom4OkjwvIq91Ch DE4/+fZWRCfpxZ54IigPKrc4tRPj469oIlTr/VYxvOFr0I+AOCybKaO+l8nfz6kwSeYD +OrAGpR3xtkZ5c7CIyNPOARxxpKblbli4aDNBx2ZvhpX+n0gKxhFGSuQuptsYNvfUOzi F99BgMi74XfEsr4QnVs3MtEu7uM1FMadoE7Vz5lJSqHMRcUWHj5iP/jDTM3wB/mWZZom VQ== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3y3w2m8a8x-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 14 May 2024 02:55:16 +0000 Received: from m0353724.ppops.net (m0353724.ppops.net [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 44E2tGwd026530; Tue, 14 May 2024 02:55:16 GMT Received: from ppma12.dal12v.mail.ibm.com (dc.9e.1632.ip4.static.sl-reverse.com [50.22.158.220]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3y3w2m8a8v-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 14 May 2024 02:55:16 +0000 Received: from pps.filterd (ppma12.dal12v.mail.ibm.com [127.0.0.1]) by ppma12.dal12v.mail.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 44DNeiQ1018765; Tue, 14 May 2024 02:55:15 GMT Received: from smtprelay06.fra02v.mail.ibm.com ([9.218.2.230]) by ppma12.dal12v.mail.ibm.com (PPS) with ESMTPS id 3y2k0tbaah-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 14 May 2024 02:55:15 +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 44E2tA3w24511110 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 14 May 2024 02:55:12 GMT Received: from smtpav04.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 417EE2004B; Tue, 14 May 2024 02:55:10 +0000 (GMT) Received: from smtpav04.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 7E97120040; Tue, 14 May 2024 02:55:08 +0000 (GMT) Received: from [9.200.158.244] (unknown [9.200.158.244]) by smtpav04.fra02v.mail.ibm.com (Postfix) with ESMTP; Tue, 14 May 2024 02:55:08 +0000 (GMT) Message-ID: Date: Tue, 14 May 2024 10:55:07 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 Subject: Re: [PATCH 7/13] rs6000, remove the vec_xxsel built-ins, they are duplicates Content-Language: en-US To: Carl Love References: <6378d560-df55-4b75-be7b-93dc6b85d81a@linux.ibm.com> Cc: gcc-patches@gcc.gnu.org, "bergner@linux.ibm.com" , Segher Boessenkool , David Edelsohn From: "Kewen.Lin" In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: E9JugMCNjPKaandcnqFtFUyQ2eoyzkih X-Proofpoint-GUID: ZmWGIW3KQH3VH4Iq30TWD3WK4LMHa7qx X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1039,Hydra:6.0.650,FMLib:17.11.176.26 definitions=2024-05-13_17,2024-05-10_02,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 clxscore=1015 malwarescore=0 bulkscore=0 phishscore=0 impostorscore=0 suspectscore=0 mlxlogscore=999 adultscore=0 spamscore=0 priorityscore=1501 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2405010000 definitions=main-2405140020 X-Spam-Status: No, score=-12.6 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,GIT_PATCH_0,KAM_SHORT,NICE_REPLY_A,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 List-Id: Hi, on 2024/4/20 05:18, Carl Love wrote: > rs6000, remove the vec_xxsel built-ins, they are duplicates > > The following undocumented built-ins are covered by the existing overloaded > vec_sel built-in definitions. > > const vsc __builtin_vsx_xxsel_16qi (vsc, vsc, vsc); > same as vsc __builtin_vec_sel (vsc, vsc, vuc); (overloaded vec_sel) > > const vuc __builtin_vsx_xxsel_16qi_uns (vuc, vuc, vuc); > same as vuc __builtin_vec_sel (vuc, vuc, vuc); (overloaded vec_sel) > > const vd __builtin_vsx_xxsel_2df (vd, vd, vd); > same as vd __builtin_vec_sel (vd, vd, vull); (overloaded vec_sel) > > const vsll __builtin_vsx_xxsel_2di (vsll, vsll, vsll); > same as vsll __builtin_vec_sel (vsll, vsll, vsll); (overloaded vec_sel) > > const vull __builtin_vsx_xxsel_2di_uns (vull, vull, vull); > same as vull __builtin_vec_sel (vull, vull, vsll); (overloaded vec_sel) > > const vf __builtin_vsx_xxsel_4sf (vf, vf, vf); > same as vf __builtin_vec_sel (vf, vf, vsi) (overloaded vec_sel) > > const vsi __builtin_vsx_xxsel_4si (vsi, vsi, vsi); > same as vsi __builtin_vec_sel (vsi, vsi, vbi); (overloaded vec_sel) > > const vui __builtin_vsx_xxsel_4si_uns (vui, vui, vui); > same as vui __builtin_vec_sel (vui, vui, vui); (overloaded vec_sel) > > const vss __builtin_vsx_xxsel_8hi (vss, vss, vss); > same as vss __builtin_vec_sel (vss, vss, vbs); (overloaded vec_sel) > > const vus __builtin_vsx_xxsel_8hi_uns (vus, vus, vus); > same as vus __builtin_vec_sel (vus, vus, vus); (overloaded vec_sel) > > This patch removed the duplicate built-in definitions so users will only > use the documented vec_sel built-in. The __builtin_vsx_xxsel_[4si, 8hi, > 16qi, 4sf, 2df] tests are also removed. > > gcc/ChangeLog: > * config/rs6000/rs6000-builtins.def (__builtin_vsx_xxmrglw_4si, Typo: __builtin_vsx_xxmrglw_4si, which doesn't belong to this patch. > __builtin_vsx_xxsel_16qi, __builtin_vsx_xxsel_16qi_uns, > __builtin_vsx_xxsel_2df, __builtin_vsx_xxsel_2di, > __builtin_vsx_xxsel_2di_uns, __builtin_vsx_xxsel_4sf, > __builtin_vsx_xxsel_4si, __builtin_vsx_xxsel_4si_uns, > __builtin_vsx_xxsel_8hi, __builtin_vsx_xxsel_8hi_uns): Remove > built-in definitions. > > gcc/testsuite/ChangeLog: > * gcc.target/powerpc/vsx-builtin-3.c (__builtin_vsx_xxsel_4si, > __builtin_vsx_xxsel_8hi, __builtin_vsx_xxsel_16qi, > __builtin_vsx_xxsel_4sf, __builtin_vsx_xxsel_2df): Remove test > cases for removed built-ins. > --- > gcc/config/rs6000/rs6000-builtins.def | 30 ------------------- > .../gcc.target/powerpc/vsx-builtin-3.c | 26 ---------------- > 2 files changed, 56 deletions(-) > > diff --git a/gcc/config/rs6000/rs6000-builtins.def b/gcc/config/rs6000/rs6000-builtins.def > index 46d2ae7b7cb..3c409d729ea 100644 > --- a/gcc/config/rs6000/rs6000-builtins.def > +++ b/gcc/config/rs6000/rs6000-builtins.def > @@ -1925,36 +1925,6 @@ > const vss __builtin_vsx_xxpermdi_8hi (vss, vss, const int<2>); > XXPERMDI_8HI vsx_xxpermdi_v8hi {} > > - const vsc __builtin_vsx_xxsel_16qi (vsc, vsc, vsc); > - XXSEL_16QI vector_select_v16qi {} > - > - const vuc __builtin_vsx_xxsel_16qi_uns (vuc, vuc, vuc); > - XXSEL_16QI_UNS vector_select_v16qi_uns {} > - > - const vd __builtin_vsx_xxsel_2df (vd, vd, vd); > - XXSEL_2DF vector_select_v2df {} > - > - const vsll __builtin_vsx_xxsel_2di (vsll, vsll, vsll); > - XXSEL_2DI vector_select_v2di {} > - > - const vull __builtin_vsx_xxsel_2di_uns (vull, vull, vull); > - XXSEL_2DI_UNS vector_select_v2di_uns {} > - > - const vf __builtin_vsx_xxsel_4sf (vf, vf, vf); > - XXSEL_4SF vector_select_v4sf {} > - > - const vsi __builtin_vsx_xxsel_4si (vsi, vsi, vsi); > - XXSEL_4SI vector_select_v4si {} > - > - const vui __builtin_vsx_xxsel_4si_uns (vui, vui, vui); > - XXSEL_4SI_UNS vector_select_v4si_uns {} > - > - const vss __builtin_vsx_xxsel_8hi (vss, vss, vss); > - XXSEL_8HI vector_select_v8hi {} > - > - const vus __builtin_vsx_xxsel_8hi_uns (vus, vus, vus); > - XXSEL_8HI_UNS vector_select_v8hi_uns {} > - > const vsc __builtin_vsx_xxsldwi_16qi (vsc, vsc, const int<2>); > XXSLDWI_16QI vsx_xxsldwi_v16qi {} > > diff --git a/gcc/testsuite/gcc.target/powerpc/vsx-builtin-3.c b/gcc/testsuite/gcc.target/powerpc/vsx-builtin-3.c > index ff875c55304..01f35dad713 100644 > --- a/gcc/testsuite/gcc.target/powerpc/vsx-builtin-3.c > +++ b/gcc/testsuite/gcc.target/powerpc/vsx-builtin-3.c > @@ -2,7 +2,6 @@ > /* { dg-skip-if "" { powerpc*-*-darwin* } } */ > /* { dg-require-effective-target powerpc_vsx_ok } */ > /* { dg-options "-O2 -mdejagnu-cpu=power7" } */ > -/* { dg-final { scan-assembler "xxsel" } } */ > /* { dg-final { scan-assembler "vperm" } } */ > /* { dg-final { scan-assembler "xvrdpi" } } */ > /* { dg-final { scan-assembler "xvrdpic" } } */ > @@ -57,31 +56,6 @@ extern __vector unsigned long long ull[][4]; > extern __vector __bool long bl[][4]; > #endif > > -int do_sel(void) > -{ > - int i = 0; > - > - si[i][0] = __builtin_vsx_xxsel_4si (si[i][1], si[i][2], si[i][3]); i++; > - ss[i][0] = __builtin_vsx_xxsel_8hi (ss[i][1], ss[i][2], ss[i][3]); i++; > - sc[i][0] = __builtin_vsx_xxsel_16qi (sc[i][1], sc[i][2], sc[i][3]); i++; > - f[i][0] = __builtin_vsx_xxsel_4sf (f[i][1], f[i][2], f[i][3]); i++; > - d[i][0] = __builtin_vsx_xxsel_2df (d[i][1], d[i][2], d[i][3]); i++; > - > - si[i][0] = __builtin_vsx_xxsel (si[i][1], si[i][2], bi[i][3]); i++; > - ss[i][0] = __builtin_vsx_xxsel (ss[i][1], ss[i][2], bs[i][3]); i++; > - sc[i][0] = __builtin_vsx_xxsel (sc[i][1], sc[i][2], bc[i][3]); i++; > - f[i][0] = __builtin_vsx_xxsel (f[i][1], f[i][2], bi[i][3]); i++; > - d[i][0] = __builtin_vsx_xxsel (d[i][1], d[i][2], bl[i][3]); i++; > - > - si[i][0] = __builtin_vsx_xxsel (si[i][1], si[i][2], ui[i][3]); i++; > - ss[i][0] = __builtin_vsx_xxsel (ss[i][1], ss[i][2], us[i][3]); i++; > - sc[i][0] = __builtin_vsx_xxsel (sc[i][1], sc[i][2], uc[i][3]); i++; > - f[i][0] = __builtin_vsx_xxsel (f[i][1], f[i][2], ui[i][3]); i++; > - d[i][0] = __builtin_vsx_xxsel (d[i][1], d[i][2], ul[i][3]); i++; > - > - return i; > -} > - I prefer to keep them but just replacing the call with vec_sel. OK with the above nits tweaked, thanks. BR, Kewen > int do_perm(void) > { > int i = 0;