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 5C9B5386483D for ; Fri, 25 Jun 2021 15:25:07 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 5C9B5386483D 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 15PF3v7T101347; Fri, 25 Jun 2021 11:25:06 -0400 Received: from ppma02dal.us.ibm.com (a.bd.3ea9.ip4.static.sl-reverse.com [169.62.189.10]) by mx0b-001b2d01.pphosted.com with ESMTP id 39dgr0tuuq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 25 Jun 2021 11:25:06 -0400 Received: from pps.filterd (ppma02dal.us.ibm.com [127.0.0.1]) by ppma02dal.us.ibm.com (8.16.1.2/8.16.1.2) with SMTP id 15PFMq56022626; Fri, 25 Jun 2021 15:25:06 GMT Received: from b03cxnp07029.gho.boulder.ibm.com (b03cxnp07029.gho.boulder.ibm.com [9.17.130.16]) by ppma02dal.us.ibm.com with ESMTP id 39987aqy6v-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 25 Jun 2021 15:25:06 +0000 Received: from b03ledav005.gho.boulder.ibm.com (b03ledav005.gho.boulder.ibm.com [9.17.130.236]) by b03cxnp07029.gho.boulder.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 15PFP41O22151600 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 25 Jun 2021 15:25:04 GMT Received: from b03ledav005.gho.boulder.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id C4C24BE058; Fri, 25 Jun 2021 15:25:04 +0000 (GMT) Received: from b03ledav005.gho.boulder.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 894F4BE05D; Fri, 25 Jun 2021 15:25:04 +0000 (GMT) Received: from Bills-MacBook-Pro.local (unknown [9.211.74.187]) by b03ledav005.gho.boulder.ibm.com (Postfix) with ESMTP; Fri, 25 Jun 2021 15:25:04 +0000 (GMT) Reply-To: wschmidt@linux.ibm.com Subject: Re: [PATCHv3 00/55] Replace the Power target-specific builtin machinery To: gcc-patches@gcc.gnu.org Cc: segher@kernel.crashing.org References: From: Bill Schmidt Message-ID: <42fc4ca4-8fa7-76f6-f7eb-3019806bf792@linux.ibm.com> Date: Fri, 25 Jun 2021 10:25:04 -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: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-GB X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: zgeEJJxeksFeA1HFjQcNh39PDSjtHVWE X-Proofpoint-GUID: zgeEJJxeksFeA1HFjQcNh39PDSjtHVWE 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-06-25_05:2021-06-25, 2021-06-25 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 impostorscore=0 mlxscore=0 spamscore=0 adultscore=0 bulkscore=0 lowpriorityscore=0 clxscore=1015 phishscore=0 mlxlogscore=999 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2104190000 definitions=main-2106250087 X-Spam-Status: No, score=-5.5 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.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) 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: Fri, 25 Jun 2021 15:25:09 -0000 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 >