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