Original patch series here:
https://gcc.gnu.org/pipermail/gcc-patches/2021-April/568840.html
Segher and others, thanks for reviewing the first chunk of patches
from this series! Some of the stylistic changes turn out to affect
many of the remaining patches, so in addition to addressing the
review comments, I've proactively fixed those as well. I've also
rebased the series to more recent trunk and fixed up a couple of
things as a result of community changes in the meanwhile.
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: Reviewed by Segher and Richi, approved pending understanding of
possible problems on mingw
0002: Approved
0003: Approved
0004: Approved with small changes that were made in this series
0005: Needs re-review after changes made in this series
0006: Approved with small changes that were made in this series
0007: Approved
0008: Approved with factor request (addressed in this series)
0009: Approved
0010-0055: Not yet reviewed
Thanks again for the ongoing reviews!
Bill
Bill Schmidt (55):
rs6000: 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 available-everywhere and ancient builtins
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 | 516 +-
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 | 3875 +++++++++++
gcc/config/rs6000/rs6000-c.c | 1083 +++
gcc/config/rs6000/rs6000-call.c | 3383 ++++++++-
gcc/config/rs6000/rs6000-gen-builtins.c | 2982 ++++++++
gcc/config/rs6000/rs6000-overload.def | 6076 +++++++++++++++++
gcc/config/rs6000/rs6000.c | 219 +-
gcc/config/rs6000/rs6000.h | 82 +
gcc/config/rs6000/t-rs6000 | 45 +-
gcc/gengtype-state.c | 29 +-
gcc/gengtype.c | 19 +-
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/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 +-
52 files changed, 17921 insertions(+), 823 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
--
2.27.0