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 V4 patch series here: https://gcc.gnu.org/pipermail/gcc-patches/2021-July/576284.html Thanks for all the reviews so far! We're into the home stretch. I needed to rebase this series again in order to pick up some changes from upstream. Patch 01/18 is a reposting of V4 patch 19/34, addressing some of the comments. Full refactoring of this stuff will be done later, after this patch series can burn in a little. This wasn't yet formally approved. Patch 02/18 is new, and is a minor bug fix. Patches 03/18 through 17/18 correspond to V4 patches 20/34 through 34/34. These were adjusted for upstream changes, and I did some formatting cleanups. I also provided better descriptions for some of the patches. Patch 18/18 is new, and improves the parser to handle escape-newline input. With that in place, it cleans up all the long lines in the input files. Bootstrapped and tested on powerpc64le-linux-gnu (P10) and powerpc64-linux-gnu (32- and 64-bit, P8). There are no regressions for little endian. There are a small handful of big-endian regressions that have crept in, and I'll post patches for those after I work through them. But no need to hold up reviews on the rest of this in the meantime. Thanks again for all of the helpful reviews so far! Bill Bill Schmidt (18): rs6000: Handle overloads during program parsing rs6000: Move __builtin_mffsl to the [always] stanza 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 rs6000: Add escape-newline support for builtins files gcc/config/rs6000/altivec.h | 519 +-- gcc/config/rs6000/rs6000-builtin-new.def | 442 ++- gcc/config/rs6000/rs6000-c.c | 1088 ++++++ gcc/config/rs6000/rs6000-call.c | 3132 +++++++++++++++-- gcc/config/rs6000/rs6000-gen-builtins.c | 312 +- gcc/config/rs6000/rs6000.c | 272 +- .../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 +- 42 files changed, 4803 insertions(+), 1089 deletions(-) -- 2.27.0