Hi! This is a resubmission of some patches and a new submission of others. Patches 1, 3, and 4 finish up the pending clean-up work for the new built-in infrastructure support. Patches 2 and 5-8 fix a variety of bugs not specific to the new infrastructure. I'm submitting these as a group primarily because 5-8 are dependent on the previous patches, particularly patch 4, which consolidates much of the built-in code in a new file.
Thanks for your consideration! Bill Bill Schmidt (8): rs6000: More factoring of overload processing rs6000: Don't #ifdef "short" built-in names rs6000: Convert <x> built-in constraints to <x,y> form rs6000: Consolidate target built-ins code rs6000: Fix LE code gen for vec_cnt[lt]z_lsbb [PR95082] rs6000: Remove -m[no-]fold-gimple flag [PR103686] rs6000: vec_neg built-ins wrongly require POWER8 rs6000: Fix some missing built-in attributes [PR104004] gcc/config.gcc | 2 +- gcc/config/rs6000/rs6000-builtin.cc | 3721 +++++++++++++++++ gcc/config/rs6000/rs6000-builtins.def | 578 +-- gcc/config/rs6000/rs6000-c.cc | 304 +- gcc/config/rs6000/rs6000-call.cc | 3524 ---------------- gcc/config/rs6000/rs6000-overload.def | 344 +- gcc/config/rs6000/rs6000.cc | 167 +- gcc/config/rs6000/rs6000.h | 1 - gcc/config/rs6000/rs6000.opt | 4 - gcc/config/rs6000/t-rs6000 | 4 + .../powerpc/bfp/scalar-test-data-class-10.c | 2 +- .../powerpc/bfp/scalar-test-data-class-2.c | 2 +- .../powerpc/bfp/scalar-test-data-class-3.c | 2 +- .../powerpc/bfp/scalar-test-data-class-4.c | 2 +- .../powerpc/bfp/scalar-test-data-class-5.c | 2 +- .../powerpc/bfp/scalar-test-data-class-9.c | 2 +- .../powerpc/bfp/vec-test-data-class-4.c | 2 +- .../powerpc/bfp/vec-test-data-class-5.c | 2 +- .../powerpc/bfp/vec-test-data-class-6.c | 2 +- .../powerpc/bfp/vec-test-data-class-7.c | 2 +- .../gcc.target/powerpc/builtins-1-be-folded.c | 2 +- .../gcc.target/powerpc/builtins-1-le-folded.c | 2 +- gcc/testsuite/gcc.target/powerpc/builtins-1.c | 1210 ++++-- gcc/testsuite/gcc.target/powerpc/builtins-5.c | 3 +- .../gcc.target/powerpc/dfp/dtstsfi-12.c | 2 +- .../gcc.target/powerpc/dfp/dtstsfi-14.c | 2 +- .../gcc.target/powerpc/dfp/dtstsfi-17.c | 2 +- .../gcc.target/powerpc/dfp/dtstsfi-19.c | 2 +- .../gcc.target/powerpc/dfp/dtstsfi-2.c | 2 +- .../gcc.target/powerpc/dfp/dtstsfi-22.c | 2 +- .../gcc.target/powerpc/dfp/dtstsfi-24.c | 2 +- .../gcc.target/powerpc/dfp/dtstsfi-27.c | 2 +- .../gcc.target/powerpc/dfp/dtstsfi-29.c | 2 +- .../gcc.target/powerpc/dfp/dtstsfi-32.c | 2 +- .../gcc.target/powerpc/dfp/dtstsfi-34.c | 2 +- .../gcc.target/powerpc/dfp/dtstsfi-37.c | 2 +- .../gcc.target/powerpc/dfp/dtstsfi-39.c | 2 +- .../gcc.target/powerpc/dfp/dtstsfi-4.c | 2 +- .../gcc.target/powerpc/dfp/dtstsfi-42.c | 2 +- .../gcc.target/powerpc/dfp/dtstsfi-44.c | 2 +- .../gcc.target/powerpc/dfp/dtstsfi-47.c | 2 +- .../gcc.target/powerpc/dfp/dtstsfi-49.c | 2 +- .../gcc.target/powerpc/dfp/dtstsfi-52.c | 2 +- .../gcc.target/powerpc/dfp/dtstsfi-54.c | 2 +- .../gcc.target/powerpc/dfp/dtstsfi-57.c | 2 +- .../gcc.target/powerpc/dfp/dtstsfi-59.c | 2 +- .../gcc.target/powerpc/dfp/dtstsfi-62.c | 2 +- .../gcc.target/powerpc/dfp/dtstsfi-64.c | 2 +- .../gcc.target/powerpc/dfp/dtstsfi-67.c | 2 +- .../gcc.target/powerpc/dfp/dtstsfi-69.c | 2 +- .../gcc.target/powerpc/dfp/dtstsfi-7.c | 2 +- .../gcc.target/powerpc/dfp/dtstsfi-72.c | 2 +- .../gcc.target/powerpc/dfp/dtstsfi-74.c | 2 +- .../gcc.target/powerpc/dfp/dtstsfi-77.c | 2 +- .../gcc.target/powerpc/dfp/dtstsfi-79.c | 2 +- .../gcc.target/powerpc/dfp/dtstsfi-9.c | 2 +- .../gcc.target/powerpc/p8-vec-xl-xst.c | 3 +- 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/pr82015.c | 4 +- gcc/testsuite/gcc.target/powerpc/pr83926.c | 3 +- .../powerpc/pr86731-nogimplefold-longlong.c | 32 - .../gcc.target/powerpc/pr86731-nogimplefold.c | 63 - gcc/testsuite/gcc.target/powerpc/pr91903.c | 60 +- .../gcc.target/powerpc/swaps-p8-17.c | 3 +- .../powerpc/test_fpscr_rn_builtin_error.c | 8 +- .../gcc.target/powerpc/vec-ternarylogic-10.c | 6 +- .../gcc.target/powerpc/vsu/vec-cntlz-lsbb-0.c | 2 +- .../gcc.target/powerpc/vsu/vec-cntlz-lsbb-1.c | 2 +- .../gcc.target/powerpc/vsu/vec-cntlz-lsbb-3.c | 15 + .../gcc.target/powerpc/vsu/vec-cntlz-lsbb-4.c | 15 + .../gcc.target/powerpc/vsu/vec-cnttz-lsbb-0.c | 2 +- .../gcc.target/powerpc/vsu/vec-cnttz-lsbb-1.c | 2 +- .../gcc.target/powerpc/vsu/vec-cnttz-lsbb-3.c | 15 + .../gcc.target/powerpc/vsu/vec-cnttz-lsbb-4.c | 15 + 77 files changed, 5426 insertions(+), 4782 deletions(-) create mode 100644 gcc/config/rs6000/rs6000-builtin.cc delete mode 100644 gcc/testsuite/gcc.target/powerpc/pr86731-nogimplefold-longlong.c delete mode 100644 gcc/testsuite/gcc.target/powerpc/pr86731-nogimplefold.c create mode 100644 gcc/testsuite/gcc.target/powerpc/vsu/vec-cntlz-lsbb-3.c create mode 100644 gcc/testsuite/gcc.target/powerpc/vsu/vec-cntlz-lsbb-4.c create mode 100644 gcc/testsuite/gcc.target/powerpc/vsu/vec-cnttz-lsbb-3.c create mode 100644 gcc/testsuite/gcc.target/powerpc/vsu/vec-cnttz-lsbb-4.c -- 2.27.0