This series backports Arrow Lake and Arrow Lake-S x86 enablement from GCC 14 to
GCC 13 release branch code.

Scope:
- Add -march/-mtune Arrow Lake and Arrow Lake-S CPU handling.
- Backport AVXVNNIINT16, SM3, SM4 and SHA512 i386 backend/intrinsic support.
- Add missing invoke.texi option index/documentation entries.
- Fix SM3 immediate-argument compatibility in umbrella tests.

Testing:
- Targeted verification script:
  contrib/verify-arrowlake-backport.sh 
/home/jakit/Repos/gcc/build-gcc-13.4-arrowlake
  -> ALL PASS.
- Targeted i386 tests for arrowlake/arrowlake-s feature and intrinsic coverage
  pass with the same build tree.

Notes:
- All commits are DCO-signed.
- I do not have GCC write access; if this series is approved, please help 
commit.

Jakit Liang (5):
  i386: Backport Arrow Lake CPU and -march/-mtune support from GCC 14
  i386: Backport AVXVNNIINT16/SM3/SM4/SHA512 support for Arrow Lake
    targets
  doc/i386: Document Arrow Lake extension switches in invoke.texi
  testsuite/i386: Fix SM3 immediate override in avx-1 umbrella test
  testsuite/i386: Fix SM3 immediate override in sse umbrella tests

 contrib/arrowlake-backport-gap-report.md      | 141 ++++++++++++++
 contrib/verify-arrowlake-backport.sh          |  53 ++++++
 gcc/common/config/i386/cpuinfo.h              |  26 +++
 gcc/common/config/i386/i386-common.cc         |  87 +++++++++-
 gcc/common/config/i386/i386-cpuinfo.h         |   6 +
 gcc/common/config/i386/i386-isas.h            |   5 +
 gcc/config.gcc                                |   3 +-
 gcc/config/i386/avxvnniint16intrin.h          | 138 +++++++++++++++
 gcc/config/i386/cpuid.h                       |  20 +++
 gcc/config/i386/driver-i386.cc                |   9 +-
 gcc/config/i386/i386-builtin-types.def        |   6 +
 gcc/config/i386/i386-builtin.def              |  30 ++++
 gcc/config/i386/i386-c.cc                     |  22 +++
 gcc/config/i386/i386-expand.cc                |   3 +
 gcc/config/i386/i386-isa.def                  |   4 +
 gcc/config/i386/i386-options.cc               |  15 ++
 gcc/config/i386/i386.h                        |   6 +
 gcc/config/i386/i386.opt                      |  20 +++
 gcc/config/i386/immintrin.h                   |   8 +
 gcc/config/i386/sha512intrin.h                |  64 +++++++
 gcc/config/i386/sm3intrin.h                   |  72 ++++++++
 gcc/config/i386/sm4intrin.h                   |  70 ++++++++
 gcc/config/i386/sse.md                        | 180 ++++++++++++++++++++
 gcc/doc/invoke.texi                           |  30 ++++
 gcc/testsuite/g++.target/i386/mv16.C          |  12 ++
 gcc/testsuite/gcc.target/i386/arrowlake-1.c   |  24 +++
 gcc/testsuite/gcc.target/i386/arrowlake-2.c   |  36 ++++
 gcc/testsuite/gcc.target/i386/arrowlake-3.c   |  16 ++
 gcc/testsuite/gcc.target/i386/avx-1.c         |   3 +
 .../gcc.target/i386/avxvnniint16-1.c          |  41 +++++
 .../gcc.target/i386/builtin_target.c          |  14 ++
 gcc/testsuite/gcc.target/i386/funcspec-56.inc |   8 +
 gcc/testsuite/gcc.target/i386/sha512-1.c      |  18 ++
 gcc/testsuite/gcc.target/i386/sm3-1.c         |  17 ++
 gcc/testsuite/gcc.target/i386/sm4-1.c         |  20 +++
 gcc/testsuite/gcc.target/i386/sse-13.c        |   3 +
 gcc/testsuite/gcc.target/i386/sse-23.c        |   3 +
 gcc/testsuite/lib/target-supports.exp         |  55 ++++++
 38 files changed, 1283 insertions(+), 5 deletions(-)
 create mode 100644 contrib/arrowlake-backport-gap-report.md
 create mode 100755 contrib/verify-arrowlake-backport.sh
 create mode 100644 gcc/config/i386/avxvnniint16intrin.h
 create mode 100644 gcc/config/i386/sha512intrin.h
 create mode 100644 gcc/config/i386/sm3intrin.h
 create mode 100644 gcc/config/i386/sm4intrin.h
 create mode 100644 gcc/testsuite/gcc.target/i386/arrowlake-1.c
 create mode 100644 gcc/testsuite/gcc.target/i386/arrowlake-2.c
 create mode 100644 gcc/testsuite/gcc.target/i386/arrowlake-3.c
 create mode 100644 gcc/testsuite/gcc.target/i386/avxvnniint16-1.c
 create mode 100644 gcc/testsuite/gcc.target/i386/sha512-1.c
 create mode 100644 gcc/testsuite/gcc.target/i386/sm3-1.c
 create mode 100644 gcc/testsuite/gcc.target/i386/sm4-1.c

-- 
2.47.3

Reply via email to