Message ID | cover.1623941441.git.wschmidt@linux.ibm.com |
---|---|
Headers | show |
Series | Replace the Power target-specific builtin machinery | expand |
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 >
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 >>