dmd Arm64 - first function compile!
ryuukk_
ryuukk.dev at gmail.com
Mon Jun 3 21:02:54 UTC 2024
On Sunday, 2 June 2024 at 06:30:18 UTC, Walter Bright wrote:
> In recent days, it has become abundantly clear that the x86
> architecture appears to be headed for obsolescence. The Arm
> processor is taking over. The Mac is dropping the x86 in favor
> of Arm. Microsoft has announced Arm laptops.
>
> Even my Raspberry Pi is an Arm64.
>
> What to do about dmd? Many people in the D community have
> expressed interest in creating an Arm backend for D. Since
> implementing a 64 bit code generator is trivial, I thought I'd
> look into it.
>
> I bought a couple books on the Arm, and have been studying the
> datasheet for it. Most of the backend can be repurposed to Arm.
> The structure of it can remain the same.
>
> The goal is Arm64, not Arm32. Since even the Pi is Arm64, there
> is no purpose in supporting the Arm32.
>
> Hacking away listening to Brain Pain metal, the first function
> compiles:
>
> ```
> void foo() { }
> ```
>
> dmd -c test.d -vasm
>
> producing:
>
> ```
> _D4test3fooFZv:
> 0000: D6 5F 03 C0 ret
> ```
>
> And there it is! Nothing else works, but what the heck.
>
> https://github.com/WalterBright/dmd/commit/04546a8f72c10a09764f23675c67c5fbdf29628c
Thanks for caring about ARM, DMD is what got me hooked with D,
knowing it'll remain future proof is super important to me
More information about the Digitalmars-d
mailing list