This patch adds the LoongArch64 support for GCC D frontend.

The runtime support is submitted as a separate patch here:
https://github.com/dlang/dmd/pull/15628.

You can find more information about the LoongArch architecture on this
website:
https://loongson.github.io/LoongArch-Documentation/README-EN.html.

------

Changes since the last revision of the patch:

* Corrected copyright years in loongarch-d.cc and loongarch-d.h.
* Removed changes to the tests, the changes have been rolled into the DMD
  changes in:
  
https://github.com/dlang/dmd/pull/15628/commits/eb84b8a2bc86aa751ad6f472422e8abad63ff500
  .
* Removed D_LP32 and D_LP64 bits. Since LoongArch ABIs are somewhat
  complicated, we may introduce the ABI information in the form of target
  traits in the future.

Zixing Liu (1):

 gcc/config.gcc                             |  1 +
 gcc/config/loongarch/loongarch-d.cc        | 77 ++++++++++++++++++++++
 gcc/config/loongarch/loongarch-d.h         | 26 ++++++++
 gcc/config/loongarch/t-loongarch           |  4 ++
 libphobos/configure.tgt                    |  3 +
 libphobos/libdruntime/gcc/sections/elf.d   |  2 +
 libphobos/libdruntime/gcc/unwind/generic.d |  1 +
 7 files changed, 114 insertions(+)
 create mode 100644 gcc/config/loongarch/loongarch-d.cc
 create mode 100644 gcc/config/loongarch/loongarch-d.h

-- 
2.42.0

Reply via email to