chenglulu writes:
> Hi, all:
>
> This is the v9 version of LoongArch Port based on
> 9fc8f278ebebc57537dc0cb9d33e36d932be0bc3.
> Please review.
Thanks for the update. I've sent follows-up for parts 4, 6, 11 and 12,
but otherwise v9 addresses all the comments I had. The series LGTM
with those issues fixed.
Richard
> We know it is stage4, I think it is ok for a new prot.
> The kernel side upstream waiting for a approval by gcc side,
> if it is blocked by stage4, a approval for GCC13 will be appreciation.
>
> 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)
>
> We have compiled more than 300 CLFS packages with this compiler.
> The CLFS are currently used on Cfarm machines gcc400 and gcc401.
>
> 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.
>
> v3 -> v4
> 1. Change some code style.
> 2. Bug fix.
> 3. Delete some builtin macros.
>
> v4 -> v5
> 1. delete wrong insn zero_extendsidi2_internal.
> 2. Adjust some build options.
> 3. Change some .c files to .cc.
>
> v5 -> v6
> 1. Fix compilation issues. The generated files *.opt and *.h
>are generated to $(objdir).
>
> v6 -> v7
> 1. Bug fix.
> 2. Change some code style.
>
> v7 -> v8
> 1. Add new addressing type ADDRESS_REG_REG support.
> 2. Modify documentation.
> 3. Eliminate compile-time warnings.
>
> v8 -> v9
> 1. Undefine the hook TARGET_TRULY_NOOP_TRUNCATION under the architecture.
> 2. Delete some unsed hooks.
> 3. Change some code style.
> 4. Modify documentation.
>
> *** BLURB HERE ***
>
> chenglulu (12):
> LoongArch Port: Regenerate configure
> LoongArch Port: gcc build
> LoongArch Port: Regenerate gcc/configure.
> LoongArch Port: Machine description 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: Add doc.
>
> config/picflag.m4 |3 +
> configure | 10 +-
> configure.ac | 10 +-
> contrib/config-list.mk|4 +-
> contrib/gcc_update|2 +
> .../config/loongarch/loongarch-common.cc | 43 +
> gcc/config.gcc| 435 +-
> gcc/config/host-linux.cc |2 +
> gcc/config/loongarch/constraints.md | 203 +
> gcc/config/loongarch/generic.md | 118 +
> gcc/config/loongarch/genopts/genstr.sh| 104 +
> .../loongarch/genopts/loongarch-strings | 58 +
> gcc/config/loongarch/genopts/loongarch.opt.in | 179 +
> gcc/config/loongarch/gnu-user.h | 80 +
> gcc/config/loongarch/la464.md | 132 +
> gcc/config/loongarch/larchintrin.h| 409 ++
> gcc/config/loongarch/linux.h | 50 +
> gcc/config/loongarch/loongarch-builtins.cc| 511 ++
> gcc/config/loongarch/loongarch-c.cc | 109 +
> gcc/config/loongarch/loongarch-cpu.cc | 206 +
> gcc/config/loongarch/loongarch-cpu.h | 30 +
> gcc/config/loongarch/loongarch-def.c | 179 +
> gcc/config/loongarch/loongarch-def.h | 151 +
> gcc/config/loongarch/loongarch-driver.cc | 187 +
> gcc/config/loongarch/loongarch-driver.h | 69 +
> gcc/config/loongarch/loongarch-ftypes.def | 106 +
> gcc/config/loongarch/loongarch-modes.def | 25 +
> gcc/config/loongarch/loongarch-opts.cc| 578 ++
> gcc/config/loongarch/loongarch-opts.h | 90 +
> gcc/config/loongarch/loongarch-protos.h | 174 +
> gcc/config/loongarch/loongarch-str.h | 59 +
> gcc/config/loongarch/loongarch-tune.h | 50 +
> gcc/config/loongarch/loongarch.cc | 5912 +
> gcc/config/loongarch/loongarch.h | 1147
> gcc/config/loongarch/loongarch.md | 3412 ++
> gcc/config/loongarch/loongarch.opt