This is a series of patch sets to support LoongArch.
The LoongArch architecture (LoongArch) is an Instruction Set Architecture (ISA) that has a Reduced Instruction Set Computer (RISC) style. The documents are on https://loongson.github.io/LoongArch-Documentation/README-EN.html The ELF ABI Documents are on: https://loongson.github.io/LoongArch-Documentation/LoongArch-ELF-ABI-EN.html The binutils has been merged into trunk: https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=560b3fe208255ae909b4b1c88ba9c28b09043307 The ABI -mabi=name is still under discussion and may change in the next version, the rest can be reviewed. chenglulu (7): LoongArch Port: gcc LoongArch Port: Regenerate gcc/configure. LoongArch Port: libgcc LoongArch Port: Regenerate libgcc/configure. LoongArch Port: libgomp LoongArch Port: gcc/testsuite LoongArch Port: Regenerate configure config/picflag.m4 | 3 + configure | 12 +- configure.ac | 10 +- .../config/loongarch/loongarch-common.c | 63 + gcc/config.gcc | 248 +- gcc/config/host-linux.c | 2 + gcc/config/loongarch/constraints.md | 212 + gcc/config/loongarch/generic.md | 132 + gcc/config/loongarch/gnu-user.h | 86 + gcc/config/loongarch/la464.md | 132 + gcc/config/loongarch/larchintrin.h | 413 ++ gcc/config/loongarch/linux.h | 57 + gcc/config/loongarch/loongarch-builtins.c | 511 ++ gcc/config/loongarch/loongarch-c.c | 137 + gcc/config/loongarch/loongarch-cpu.c | 182 + gcc/config/loongarch/loongarch-cpu.h | 55 + gcc/config/loongarch/loongarch-cpucfg.h | 29 + gcc/config/loongarch/loongarch-driver.c | 201 + gcc/config/loongarch/loongarch-driver.h | 49 + gcc/config/loongarch/loongarch-ftypes.def | 95 + gcc/config/loongarch/loongarch-modes.def | 35 + gcc/config/loongarch/loongarch-opts.c | 311 + gcc/config/loongarch/loongarch-opts.h | 133 + gcc/config/loongarch/loongarch-protos.h | 244 + gcc/config/loongarch/loongarch-rtx-cost.h | 80 + gcc/config/loongarch/loongarch.c | 6485 +++++++++++++++++ gcc/config/loongarch/loongarch.h | 1292 ++++ gcc/config/loongarch/loongarch.md | 3836 ++++++++++ gcc/config/loongarch/loongarch.opt | 206 + gcc/config/loongarch/predicates.md | 553 ++ gcc/config/loongarch/sync.md | 614 ++ gcc/config/loongarch/t-linux | 51 + gcc/config/loongarch/t-loongarch | 46 + gcc/configure | 63 +- gcc/configure.ac | 33 +- gcc/doc/invoke.texi | 193 + gcc/doc/md.texi | 55 + gcc/testsuite/g++.dg/cpp0x/constexpr-rom.C | 2 +- gcc/testsuite/g++.old-deja/g++.abi/ptrmem.C | 2 +- gcc/testsuite/g++.old-deja/g++.pt/ptrmem6.C | 2 +- gcc/testsuite/gcc.dg/20020312-2.c | 2 + gcc/testsuite/gcc.dg/loop-8.c | 2 +- .../torture/stackalign/builtin-apply-2.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/ssa-fre-3.c | 2 +- .../gcc.target/loongarch/loongarch.exp | 40 + .../gcc.target/loongarch/tst-asm-const.c | 16 + gcc/testsuite/go.test/go-test.exp | 3 + gcc/testsuite/lib/target-supports.exp | 14 + libgcc/config.host | 26 + libgcc/config/loongarch/crtfastmath.c | 52 + libgcc/config/loongarch/crti.S | 43 + libgcc/config/loongarch/crtn.S | 39 + libgcc/config/loongarch/lib2funcs.c | 0 libgcc/config/loongarch/linux-unwind.h | 80 + libgcc/config/loongarch/sfp-machine.h | 152 + libgcc/config/loongarch/t-crtstuff | 2 + libgcc/config/loongarch/t-elf | 3 + libgcc/config/loongarch/t-loongarch | 9 + libgcc/config/loongarch/t-loongarch64 | 1 + libgcc/config/loongarch/t-softfp-tf | 3 + libgcc/configure | 2 +- libgcc/configure.ac | 2 +- libgomp/configure.tgt | 4 + 63 files changed, 17343 insertions(+), 21 deletions(-) create mode 100644 gcc/common/config/loongarch/loongarch-common.c create mode 100644 gcc/config/loongarch/constraints.md create mode 100644 gcc/config/loongarch/generic.md create mode 100644 gcc/config/loongarch/gnu-user.h create mode 100644 gcc/config/loongarch/la464.md create mode 100644 gcc/config/loongarch/larchintrin.h create mode 100644 gcc/config/loongarch/linux.h create mode 100644 gcc/config/loongarch/loongarch-builtins.c create mode 100644 gcc/config/loongarch/loongarch-c.c create mode 100644 gcc/config/loongarch/loongarch-cpu.c create mode 100644 gcc/config/loongarch/loongarch-cpu.h create mode 100644 gcc/config/loongarch/loongarch-cpucfg.h create mode 100644 gcc/config/loongarch/loongarch-driver.c create mode 100644 gcc/config/loongarch/loongarch-driver.h create mode 100644 gcc/config/loongarch/loongarch-ftypes.def create mode 100644 gcc/config/loongarch/loongarch-modes.def create mode 100644 gcc/config/loongarch/loongarch-opts.c create mode 100644 gcc/config/loongarch/loongarch-opts.h create mode 100644 gcc/config/loongarch/loongarch-protos.h create mode 100644 gcc/config/loongarch/loongarch-rtx-cost.h create mode 100644 gcc/config/loongarch/loongarch.c create mode 100644 gcc/config/loongarch/loongarch.h create mode 100644 gcc/config/loongarch/loongarch.md create mode 100644 gcc/config/loongarch/loongarch.opt create mode 100644 gcc/config/loongarch/predicates.md create mode 100644 gcc/config/loongarch/sync.md create mode 100644 gcc/config/loongarch/t-linux create mode 100644 gcc/config/loongarch/t-loongarch create mode 100644 gcc/testsuite/gcc.target/loongarch/loongarch.exp create mode 100644 gcc/testsuite/gcc.target/loongarch/tst-asm-const.c create mode 100644 libgcc/config/loongarch/crtfastmath.c create mode 100644 libgcc/config/loongarch/crti.S create mode 100644 libgcc/config/loongarch/crtn.S create mode 100644 libgcc/config/loongarch/lib2funcs.c create mode 100644 libgcc/config/loongarch/linux-unwind.h create mode 100644 libgcc/config/loongarch/sfp-machine.h create mode 100644 libgcc/config/loongarch/t-crtstuff create mode 100644 libgcc/config/loongarch/t-elf create mode 100644 libgcc/config/loongarch/t-loongarch create mode 100644 libgcc/config/loongarch/t-loongarch64 create mode 100644 libgcc/config/loongarch/t-softfp-tf -- 2.27.0