[PATCH v1 0/7] Add LoongArch support.

Chenghua Xu xuchenghua@loongson.cn
Sat Nov 6 08:40:49 GMT 2021


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



More information about the Gcc-patches mailing list