mbox series

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

Message ID 20230831124810.20058-1-yangyujie@loongson.cn
Headers show
Series LoongArch: target configuration interface update | expand

Message

Yang Yujie Aug. 31, 2023, 12:48 p.m. UTC
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

Comments

Lulu Cheng Sept. 5, 2023, 4:40 a.m. UTC | #1
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
>