Re:[pushed] [PATCH v3 0/4] LoongArch: target configuration interface update

2023-09-04 Thread chenglulu

Pushed to r14-3665.

在 2023/8/31 下午8:48, Yang Yujie 写道:

This is an update of
https://gcc.gnu.org/pipermail/gcc-patches/2023-August/628772.html

Changes since the last patchset:

1. Fix texinfo format of the install.texi document.
2. Add documentation for --with-strict-align-lib.

v1 -> v2:
1. Add new configure option --with-strict-align-lib to control
whether -mstrict-align should be used when building libraries.
This facilitates building toolchains targeting both LA264
(Loongson 2k1000la) and non-LA264 cores.

2. Define preprocessing macros  __loongarch_sx / __loongarch_asx
/ __loongarch_simd_width that indicates the enabled SIMD
extensions.

3. Keep the current non-symmetric multidir layout, but do not build
duplicate multilib variants with the same ABI option.  Make
--with-abi= obsolete to ensure a consistent directory layout.
(ABI type of the "toplevel" libraries can be inferred from the
 target triplet)

4. Using "-mno-lasx" do not cause a fallback to "-msimd=none" as
long as the -march= architecture or the default --with-simd=
setting has LSX support.

Yang Yujie (4):
   LoongArch: improved target configuration interface
   LoongArch: define preprocessing macros "__loongarch_{arch,tune}"
   LoongArch: add new configure option --with-strict-align-lib
   LoongArch: support loongarch*-elf target

  config-ml.in  |  10 +
  gcc/config.gcc| 408 ++
  gcc/config/loongarch/elf.h|  52 +++
  .../loongarch/genopts/loongarch-strings   |   8 +-
  gcc/config/loongarch/genopts/loongarch.opt.in |  62 ++-
  gcc/config/loongarch/la464.md |  32 +-
  gcc/config/loongarch/loongarch-c.cc   |  22 +-
  gcc/config/loongarch/loongarch-cpu.cc | 263 ++-
  gcc/config/loongarch/loongarch-cpu.h  |   3 +-
  gcc/config/loongarch/loongarch-def.c  |  67 +--
  gcc/config/loongarch/loongarch-def.h  |  57 +--
  gcc/config/loongarch/loongarch-driver.cc  | 208 +
  gcc/config/loongarch/loongarch-driver.h   |  40 +-
  gcc/config/loongarch/loongarch-opts.cc| 372 +++-
  gcc/config/loongarch/loongarch-opts.h |  59 +--
  gcc/config/loongarch/loongarch-str.h  |   7 +-
  gcc/config/loongarch/loongarch.cc |  87 ++--
  gcc/config/loongarch/loongarch.opt|  60 ++-
  gcc/config/loongarch/t-linux  |  32 +-
  gcc/doc/install.texi  |  56 ++-
  gcc/doc/invoke.texi   |  32 +-
  libgcc/config.host|   9 +-
  22 files changed, 1261 insertions(+), 685 deletions(-)
  create mode 100644 gcc/config/loongarch/elf.h





[PATCH v3 0/4] LoongArch: target configuration interface update

2023-08-31 Thread Yang Yujie
This is an update of
https://gcc.gnu.org/pipermail/gcc-patches/2023-August/628772.html

Changes since the last patchset:

1. Fix texinfo format of the install.texi document.
2. Add documentation for --with-strict-align-lib.

v1 -> v2:
1. Add new configure option --with-strict-align-lib to control
   whether -mstrict-align should be used when building libraries.
   This facilitates building toolchains targeting both LA264
   (Loongson 2k1000la) and non-LA264 cores.

2. Define preprocessing macros  __loongarch_sx / __loongarch_asx
   / __loongarch_simd_width that indicates the enabled SIMD
   extensions.

3. Keep the current non-symmetric multidir layout, but do not build
   duplicate multilib variants with the same ABI option.  Make
   --with-abi= obsolete to ensure a consistent directory layout.
   (ABI type of the "toplevel" libraries can be inferred from the
target triplet)

4. Using "-mno-lasx" do not cause a fallback to "-msimd=none" as
   long as the -march= architecture or the default --with-simd=
   setting has LSX support.

Yang Yujie (4):
  LoongArch: improved target configuration interface
  LoongArch: define preprocessing macros "__loongarch_{arch,tune}"
  LoongArch: add new configure option --with-strict-align-lib
  LoongArch: support loongarch*-elf target

 config-ml.in  |  10 +
 gcc/config.gcc| 408 ++
 gcc/config/loongarch/elf.h|  52 +++
 .../loongarch/genopts/loongarch-strings   |   8 +-
 gcc/config/loongarch/genopts/loongarch.opt.in |  62 ++-
 gcc/config/loongarch/la464.md |  32 +-
 gcc/config/loongarch/loongarch-c.cc   |  22 +-
 gcc/config/loongarch/loongarch-cpu.cc | 263 ++-
 gcc/config/loongarch/loongarch-cpu.h  |   3 +-
 gcc/config/loongarch/loongarch-def.c  |  67 +--
 gcc/config/loongarch/loongarch-def.h  |  57 +--
 gcc/config/loongarch/loongarch-driver.cc  | 208 +
 gcc/config/loongarch/loongarch-driver.h   |  40 +-
 gcc/config/loongarch/loongarch-opts.cc| 372 +++-
 gcc/config/loongarch/loongarch-opts.h |  59 +--
 gcc/config/loongarch/loongarch-str.h  |   7 +-
 gcc/config/loongarch/loongarch.cc |  87 ++--
 gcc/config/loongarch/loongarch.opt|  60 ++-
 gcc/config/loongarch/t-linux  |  32 +-
 gcc/doc/install.texi  |  56 ++-
 gcc/doc/invoke.texi   |  32 +-
 libgcc/config.host|   9 +-
 22 files changed, 1261 insertions(+), 685 deletions(-)
 create mode 100644 gcc/config/loongarch/elf.h

-- 
2.36.0