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