From: Chenghua Xu <xuchenghua@loongson.cn>
To: gcc-patches@gcc.gnu.org
Cc: paul.hua.gm@gmail.com, xuchenghua@loongson.cn,
chenglulu@loongson.cn, yangyujie@loongson.cn
Subject: [PATCH v3 00/12] Add LoongArch support.
Date: Fri, 10 Dec 2021 15:43:47 +0800 [thread overview]
Message-ID: <20211210074359.988056-1-xuchenghua@loongson.cn> (raw)
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
Note: We split -mabi= into -mabi=lp64d/f/s, the new options not support by upstream binutils yet,
this GCC port requires the following patch applied to binutils to build.
https://github.com/loongson/binutils-gdb/commit/aacb0bf860f02aa5a7dcb76dd0e392bf871c7586
(will be submitted to upstream after gcc side comfirmed)
changelog:
v1 -> v2
1. Split patch set.
2. Change some code style.
3. Add -mabi=lp64d/f/s options.
4. Change GLIBC_DYNAMIC_LINKER_LP64 name.
v2 -> v3
1. Change some code style.
2. Bug fix.
We will donate LoongArch machine to Cfarm for testing.
*** BLURB HERE ***
chenglulu (12):
LoongArch Port: gcc build
LoongArch Port: Regenerate gcc/configure.
LoongArch Port: Machine Decsription files.
LoongArch Port: Machine description C files and .h files.
LoongArch Port: Builtin functions.
LoongArch Port: Builtin macros.
LoongArch Port: libgcc
LoongArch Port: Regenerate libgcc/configure.
LoongArch Port: libgomp
LoongArch Port: gcc/testsuite
LoongArch Port: Regenerate configure
LoongArch Port: Add doc.
config/picflag.m4 | 3 +
configure | 10 +-
configure.ac | 10 +-
contrib/config-list.mk | 5 +-
.../config/loongarch/loongarch-common.c | 63 +
gcc/config.gcc | 400 +-
gcc/config/host-linux.c | 2 +
gcc/config/loongarch/constraints.md | 212 +
gcc/config/loongarch/generic.md | 132 +
gcc/config/loongarch/genopts/genstr.sh | 91 +
.../loongarch/genopts/loongarch-strings | 58 +
gcc/config/loongarch/genopts/loongarch.opt.in | 189 +
gcc/config/loongarch/gnu-user.h | 78 +
gcc/config/loongarch/la464.md | 132 +
gcc/config/loongarch/larchintrin.h | 413 ++
gcc/config/loongarch/linux.h | 48 +
gcc/config/loongarch/loongarch-builtins.c | 511 ++
gcc/config/loongarch/loongarch-c.c | 136 +
gcc/config/loongarch/loongarch-cpu.c | 206 +
gcc/config/loongarch/loongarch-cpu.h | 30 +
gcc/config/loongarch/loongarch-def.c | 164 +
gcc/config/loongarch/loongarch-def.h | 151 +
gcc/config/loongarch/loongarch-driver.c | 187 +
gcc/config/loongarch/loongarch-driver.h | 60 +
gcc/config/loongarch/loongarch-ftypes.def | 95 +
gcc/config/loongarch/loongarch-modes.def | 35 +
gcc/config/loongarch/loongarch-opts.c | 582 ++
gcc/config/loongarch/loongarch-opts.h | 86 +
gcc/config/loongarch/loongarch-protos.h | 244 +
gcc/config/loongarch/loongarch-str.h | 57 +
gcc/config/loongarch/loongarch-tune.h | 72 +
gcc/config/loongarch/loongarch.c | 6472 +++++++++++++++++
gcc/config/loongarch/loongarch.h | 1291 ++++
gcc/config/loongarch/loongarch.md | 3829 ++++++++++
gcc/config/loongarch/loongarch.opt | 189 +
gcc/config/loongarch/predicates.md | 553 ++
gcc/config/loongarch/sync.md | 574 ++
gcc/config/loongarch/t-linux | 53 +
gcc/config/loongarch/t-loongarch | 59 +
gcc/configure | 63 +-
gcc/configure.ac | 33 +-
gcc/doc/install.texi | 47 +-
gcc/doc/invoke.texi | 201 +
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 | 28 +-
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 +
70 files changed, 18360 insertions(+), 28 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 100755 gcc/config/loongarch/genopts/genstr.sh
create mode 100644 gcc/config/loongarch/genopts/loongarch-strings
create mode 100644 gcc/config/loongarch/genopts/loongarch.opt.in
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-def.c
create mode 100644 gcc/config/loongarch/loongarch-def.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-str.h
create mode 100644 gcc/config/loongarch/loongarch-tune.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
next reply other threads:[~2021-12-10 7:44 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-10 7:43 Chenghua Xu [this message]
2021-12-10 7:43 ` [PATCH v3 01/12] LoongArch Port: gcc build Chenghua Xu
2021-12-10 7:43 ` [PATCH v3 02/12] LoongArch Port: Regenerate gcc/configure Chenghua Xu
2021-12-10 7:43 ` [PATCH v3 03/12] LoongArch Port: Machine Decsription files Chenghua Xu
2021-12-20 12:34 ` Xi Ruoyao
2021-12-10 7:43 ` [PATCH v3 04/12] LoongArch Port: Machine description C files and .h files Chenghua Xu
2021-12-18 17:53 ` Xi Ruoyao
2021-12-10 7:43 ` [PATCH v3 05/12] LoongArch Port: Builtin functions Chenghua Xu
2021-12-10 7:43 ` [PATCH v3 06/12] LoongArch Port: Builtin macros Chenghua Xu
2021-12-14 0:13 ` Joseph Myers
2021-12-17 7:45 ` Paul Hua
2021-12-18 9:37 ` Xi Ruoyao
2021-12-19 1:31 ` Paul Hua
2021-12-20 7:35 ` Xi Ruoyao
2021-12-20 14:08 ` Xi Ruoyao
2021-12-10 7:43 ` [PATCH v3 07/12] LoongArch Port: libgcc Chenghua Xu
2021-12-10 7:43 ` [PATCH v3 08/12] LoongArch Port: Regenerate libgcc/configure Chenghua Xu
2021-12-10 7:43 ` [PATCH v3 09/12] LoongArch Port: libgomp Chenghua Xu
2021-12-10 7:43 ` [PATCH v3 10/12] LoongArch Port: gcc/testsuite Chenghua Xu
2021-12-10 7:43 ` [PATCH v3 11/12] LoongArch Port: Regenerate configure Chenghua Xu
2021-12-10 7:43 ` [PATCH v3 12/12] LoongArch Port: Add doc Chenghua Xu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20211210074359.988056-1-xuchenghua@loongson.cn \
--to=xuchenghua@loongson.cn \
--cc=chenglulu@loongson.cn \
--cc=gcc-patches@gcc.gnu.org \
--cc=paul.hua.gm@gmail.com \
--cc=yangyujie@loongson.cn \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).