This is an update of https://gcc.gnu.org/pipermail/gcc-patches/2023-August/627275.html
Changes since the last patchset: 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. 5. Other bug fixes. 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 | 46 +- gcc/doc/invoke.texi | 32 +- libgcc/config.host | 9 +- 22 files changed, 1254 insertions(+), 682 deletions(-) create mode 100644 gcc/config/loongarch/elf.h -- 2.36.0