From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0a-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by sourceware.org (Postfix) with ESMTPS id 5C395385C41C for ; Tue, 13 Jul 2021 13:52:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 5C395385C41C Received: from pps.filterd (m0098414.ppops.net [127.0.0.1]) by mx0b-001b2d01.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 16DDXSWI129410; Tue, 13 Jul 2021 09:52:58 -0400 Received: from ppma01wdc.us.ibm.com (fd.55.37a9.ip4.static.sl-reverse.com [169.55.85.253]) by mx0b-001b2d01.pphosted.com with ESMTP id 39sb2b265m-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 13 Jul 2021 09:52:58 -0400 Received: from pps.filterd (ppma01wdc.us.ibm.com [127.0.0.1]) by ppma01wdc.us.ibm.com (8.16.1.2/8.16.1.2) with SMTP id 16DDlWqL004940; Tue, 13 Jul 2021 13:52:57 GMT Received: from b01cxnp23033.gho.pok.ibm.com (b01cxnp23033.gho.pok.ibm.com [9.57.198.28]) by ppma01wdc.us.ibm.com with ESMTP id 39q36bd4p7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 13 Jul 2021 13:52:57 +0000 Received: from b01ledav003.gho.pok.ibm.com (b01ledav003.gho.pok.ibm.com [9.57.199.108]) by b01cxnp23033.gho.pok.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 16DDqvgj36241860 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 13 Jul 2021 13:52:57 GMT Received: from b01ledav003.gho.pok.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 2B378B205F; Tue, 13 Jul 2021 13:52:57 +0000 (GMT) Received: from b01ledav003.gho.pok.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id D9E86B206C; Tue, 13 Jul 2021 13:52:56 +0000 (GMT) Received: from Bills-MacBook-Pro.local (unknown [9.211.124.44]) by b01ledav003.gho.pok.ibm.com (Postfix) with ESMTP; Tue, 13 Jul 2021 13:52:56 +0000 (GMT) Reply-To: wschmidt@linux.ibm.com Subject: Re: [PATCHv3 00/55] Replace the Power target-specific builtin machinery From: Bill Schmidt To: gcc-patches@gcc.gnu.org Cc: segher@kernel.crashing.org References: <42fc4ca4-8fa7-76f6-f7eb-3019806bf792@linux.ibm.com> Message-ID: <29fb5e7f-98d1-b4f4-d747-6a3b39f0ff85@linux.ibm.com> Date: Tue, 13 Jul 2021 08:52:56 -0500 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 In-Reply-To: <42fc4ca4-8fa7-76f6-f7eb-3019806bf792@linux.ibm.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-GB X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: Tp2eNciKUZ4Ezfo-GgDiuWU0gwJvEi-I X-Proofpoint-GUID: Tp2eNciKUZ4Ezfo-GgDiuWU0gwJvEi-I Content-Transfer-Encoding: 8bit X-Proofpoint-UnRewURL: 0 URL was un-rewritten MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.391, 18.0.790 definitions=2021-07-13_05:2021-07-13, 2021-07-13 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 adultscore=0 clxscore=1015 spamscore=0 phishscore=0 mlxscore=0 priorityscore=1501 lowpriorityscore=0 mlxlogscore=999 suspectscore=0 malwarescore=0 impostorscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2104190000 definitions=main-2107130086 X-Spam-Status: No, score=-7.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_EF, KAM_SHORT, NICE_REPLY_A, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Jul 2021 13:53:01 -0000 Ping^2 On 6/25/21 10:25 AM, Bill Schmidt wrote: > Ping / begĀ  :-) > > On 6/17/21 10:18 AM, Bill Schmidt via Gcc-patches wrote: >> Original patch series here: >> https://gcc.gnu.org/pipermail/gcc-patches/2021-April/568840.html >> >> V2 patch series here: >> https://gcc.gnu.org/pipermail/gcc-patches/2021-June/572231.html >> >> I've made some slight changes to the V2 series because of recent updates >> to trunk from Carl Love and Peter Bergner. Carl added some new P10 >> builtins, and Peter made some changes to the MMA builtins. This series >> is compatible with all builtins that are currently upstream. >> >> As a reminder, as a result of reviews, the original patch 0001 has been >> dropped, so the patch numbering is off by one compared with the original >> series. Status of the remaining patches (using new numbering): >> >> 0001: Approved >> 0002: Approved >> 0003: Approved >> 0004: Approved >> 0005: Needs re-review >> 0006: Approved >> 0007: Approved >> 0008: Approved >> 0009: Approved >> 0010-0055: Not yet reviewed >> >> Thanks again for the ongoing reviews! >> >> Bill >> >> Bill Schmidt (55): >> Support scanning of build-time GC roots in gengtype >> rs6000: Initial create of rs6000-gen-builtins.c >> rs6000: Add initial input files >> rs6000: Add file support and functions for diagnostic support >> rs6000: Add helper functions for parsing >> rs6000: Add functions for matching types, part 1 of 3 >> rs6000: Add functions for matching types, part 2 of 3 >> rs6000: Add functions for matching types, part 3 of 3 >> rs6000: Red-black tree implementation for balanced tree search >> rs6000: Main function with stubs for parsing and output >> rs6000: Parsing built-in input file, part 1 of 3 >> rs6000: Parsing built-in input file, part 2 of 3 >> rs6000: Parsing built-in input file, part 3 of 3 >> rs6000: Parsing of overload input file >> rs6000: Build and store function type identifiers >> rs6000: Write output to the builtin definition include file >> rs6000: Write output to the builtins header file >> rs6000: Write output to the builtins init file, part 1 of 3 >> rs6000: Write output to the builtins init file, part 2 of 3 >> rs6000: Write output to the builtins init file, part 3 of 3 >> rs6000: Write static initializations for built-in table >> rs6000: Write static initializations for overload tables >> rs6000: Incorporate new builtins code into the build machinery >> rs6000: Add gengtype handling to the build machinery >> rs6000: Add the rest of the [altivec] stanza to the builtins file >> rs6000: Add VSX builtins >> rs6000: Add available-everywhere and ancient builtins >> rs6000: Add power7 and power7-64 builtins >> rs6000: Add power8-vector builtins >> rs6000: Add Power9 builtins >> rs6000: Add more type nodes to support builtin processing >> rs6000: Add Power10 builtins >> rs6000: Add MMA builtins >> rs6000: Add miscellaneous builtins >> rs6000: Add Cell builtins >> rs6000: Add remaining overloads >> rs6000: Execute the automatic built-in initialization code >> rs6000: Darwin builtin support >> rs6000: Add sanity to V2DI_type_node definitions >> rs6000: Always initialize vector_pair and vector_quad nodes >> rs6000: Handle overloads during program parsing >> rs6000: Handle gimple folding of target built-ins >> rs6000: Support for vectorizing built-in functions >> rs6000: Builtin expansion, part 1 >> rs6000: Builtin expansion, part 2 >> rs6000: Builtin expansion, part 3 >> rs6000: Builtin expansion, part 4 >> rs6000: Builtin expansion, part 5 >> rs6000: Builtin expansion, part 6 >> rs6000: Update rs6000_builtin_decl >> rs6000: Miscellaneous uses of rs6000_builtin_decls_x >> rs6000: Debug support >> rs6000: Update altivec.h for automated interfaces >> rs6000: Test case adjustments >> rs6000: Enable the new builtin support >> >> gcc/Makefile.in | 5 +- >> gcc/config.gcc | 2 + >> gcc/config/rs6000/altivec.h | 522 +- >> gcc/config/rs6000/darwin.h | 8 +- >> gcc/config/rs6000/rbtree.c | 242 + >> gcc/config/rs6000/rbtree.h | 52 + >> gcc/config/rs6000/rs6000-builtin-new.def | 3998 +++++++++++ >> gcc/config/rs6000/rs6000-c.c | 1083 +++ >> gcc/config/rs6000/rs6000-call.c | 3399 ++++++++- >> gcc/config/rs6000/rs6000-gen-builtins.c | 2984 ++++++++ >> gcc/config/rs6000/rs6000-overload.def | 6186 +++++++++++++++++ >> gcc/config/rs6000/rs6000.c | 219 +- >> gcc/config/rs6000/rs6000.h | 84 + >> gcc/config/rs6000/t-rs6000 | 45 +- >> gcc/gengtype-state.c | 32 +- >> gcc/gengtype.c | 22 +- >> gcc/gengtype.h | 5 + >> .../powerpc/bfp/scalar-extract-exp-2.c | 2 +- >> .../powerpc/bfp/scalar-extract-sig-2.c | 2 +- >> .../powerpc/bfp/scalar-insert-exp-2.c | 2 +- >> .../powerpc/bfp/scalar-insert-exp-5.c | 2 +- >> .../powerpc/bfp/scalar-insert-exp-8.c | 2 +- >> .../powerpc/bfp/scalar-test-neg-2.c | 2 +- >> .../powerpc/bfp/scalar-test-neg-3.c | 2 +- >> .../powerpc/bfp/scalar-test-neg-5.c | 2 +- >> .../gcc.target/powerpc/byte-in-set-2.c | 2 +- >> gcc/testsuite/gcc.target/powerpc/cmpb-2.c | 2 +- >> gcc/testsuite/gcc.target/powerpc/cmpb32-2.c | 2 +- >> .../gcc.target/powerpc/crypto-builtin-2.c | 14 +- >> .../powerpc/fold-vec-splat-floatdouble.c | 4 +- >> .../powerpc/fold-vec-splat-longlong.c | 10 +- >> .../powerpc/fold-vec-splat-misc-invalid.c | 8 +- >> .../gcc.target/powerpc/int_128bit-runnable.c | 6 +- >> .../gcc.target/powerpc/p8vector-builtin-8.c | 1 + >> gcc/testsuite/gcc.target/powerpc/pr80315-1.c | 2 +- >> gcc/testsuite/gcc.target/powerpc/pr80315-2.c | 2 +- >> gcc/testsuite/gcc.target/powerpc/pr80315-3.c | 2 +- >> gcc/testsuite/gcc.target/powerpc/pr80315-4.c | 2 +- >> gcc/testsuite/gcc.target/powerpc/pr88100.c | 12 +- >> .../gcc.target/powerpc/pragma_misc9.c | 2 +- >> .../gcc.target/powerpc/pragma_power8.c | 2 + >> .../gcc.target/powerpc/pragma_power9.c | 3 + >> .../powerpc/test_fpscr_drn_builtin_error.c | 4 +- >> .../powerpc/test_fpscr_rn_builtin_error.c | 12 +- >> gcc/testsuite/gcc.target/powerpc/test_mffsl.c | 3 +- >> gcc/testsuite/gcc.target/powerpc/vec-gnb-2.c | 2 +- >> .../gcc.target/powerpc/vsu/vec-all-nez-7.c | 2 +- >> .../gcc.target/powerpc/vsu/vec-any-eqz-7.c | 2 +- >> .../gcc.target/powerpc/vsu/vec-cmpnez-7.c | 2 +- >> .../gcc.target/powerpc/vsu/vec-cntlz-lsbb-2.c | 2 +- >> .../gcc.target/powerpc/vsu/vec-cnttz-lsbb-2.c | 2 +- >> .../gcc.target/powerpc/vsu/vec-xl-len-13.c | 2 +- >> .../gcc.target/powerpc/vsu/vec-xst-len-12.c | 2 +- >> 53 files changed, 18183 insertions(+), 832 deletions(-) >> create mode 100644 gcc/config/rs6000/rbtree.c >> create mode 100644 gcc/config/rs6000/rbtree.h >> create mode 100644 gcc/config/rs6000/rs6000-builtin-new.def >> create mode 100644 gcc/config/rs6000/rs6000-gen-builtins.c >> create mode 100644 gcc/config/rs6000/rs6000-overload.def >>