Add initial LoongArch64 CPU support#15628
Conversation
|
Thanks for your pull request and interest in making D better, @liushuyu! We are looking forward to reviewing it, and you should be hearing from a maintainer soon.
Please see CONTRIBUTING.md for more information. If you have addressed all reviews or aren't sure how to proceed, don't hesitate to ping us with a simple comment. Bugzilla referencesYour PR doesn't reference any Bugzilla issue. If your PR contains non-trivial changes, please reference a Bugzilla issue or create a manual changelog. Testing this PR locallyIf you don't have a local development environment setup, you can use Digger to test this PR: dub run digger -- build "master + dmd#15628" |
|
I'm puzzled. There's LoongArch64, LoongArch32, LoongArch_HardFloat, and LoongArch_SoftFloat. But the only one that is used is LoongArch64. I suggest not defining the others until there's a use case (otherwise we could define all kinds of architectures that we don't support, which is pointless). |
|
Other than that, I approve this. |
|
Yeah currently Linux only supports the 64-bit userland, and 32-bit LoongArch support is patchy right now. I'd agree with only defining LoongArch64 (and maybe the hard-float symbol) until use cases for the rest arise. |
|
Something should perhaps be predefined though when the base architecture is |
I agree with that. Currently, GDC and LDC implementations for LoongArch32/64 architectures do use all those version identifiers. |
|
I have rebased this pull request against the latest |
|
Hi, What is the status of this pull request? Should I do something or tag someone for review? |
This pull request ports the D runtime to LoongArch64 CPU architecture.
LoongArch64 is a new CPU architecture and has been supported by GCC (since GCC 13) and LLVM/Clang (since LLVM 16).
You can find more information about this architecture here: https://loongson.github.io/LoongArch-Documentation/README-EN.html