[0/8] rs6000: Built-in function cleanups and bug fixes

Message ID cover.1643390744.git.wschmidt@linux.ibm.com
Headers
Series rs6000: Built-in function cleanups and bug fixes |

Message

Bill Schmidt Jan. 28, 2022, 5:50 p.m. UTC
  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