Hi! 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 V3 patch series here: https://gcc.gnu.org/pipermail/gcc-patches/2021-June/573020.html Thanks for all the reviews so far! I've now committed all of the rs6000-gen-builtins.c and rbtree.[ch] patches, along with the patch to generic code to handle build-time GC roots in gnegtype. These constituted the first 22 patches of the V3 series. In this version of the series, I've made some changes in response to reviews from Segher and Will Schmidt, and incorporated some upstream changes since the V3 posting. Mapping from V4 patches to V3 patches: V4 => V3 ---- ---- 0001 0023 .. .. 0020 0042 0021 (new) 0022 0043 .. .. 0034 0055 The new patch 0021 handles the MMA changes, which required rethinking how I handle "internal" MMA builtins. Thanks again for the ongoing reviews! Bill Bill Schmidt (34): 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: Handle some recent MMA builtin changes 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_builtins_decl_x rs6000: Debug support rs6000: Update altivec.h for automated interfaces rs6000: Test case adjustments rs6000: Enable the new builtin support gcc/config.gcc | 2 + gcc/config/rs6000/altivec.h | 519 +- gcc/config/rs6000/darwin.h | 8 +- gcc/config/rs6000/rs6000-builtin-new.def | 3806 ++++++++++ gcc/config/rs6000/rs6000-c.c | 1083 +++ gcc/config/rs6000/rs6000-call.c | 3437 +++++++++- gcc/config/rs6000/rs6000-gen-builtins.c | 44 +- gcc/config/rs6000/rs6000-overload.def | 6104 +++++++++++++++++ gcc/config/rs6000/rs6000.c | 219 +- gcc/config/rs6000/rs6000.h | 84 + gcc/config/rs6000/t-rs6000 | 47 +- .../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 +- 47 files changed, 14638 insertions(+), 842 deletions(-) -- 2.27.0