dmd Arm64 - first function compile!
ryuukk_
ryuukk.dev at gmail.com
Tue Jun 4 18:35:58 UTC 2024
On Tuesday, 4 June 2024 at 17:44:41 UTC, Temtaime wrote:
> On Monday, 3 June 2024 at 20:59:56 UTC, ryuukk_ wrote:
>> On Monday, 3 June 2024 at 18:58:48 UTC, Temtaime wrote:
>>> 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
>>>
>>> Adding new features is always exciting, but it is crucial to
>>> ensure that these features are fully developed and bring real
>>> value to the users. Incomplete features can lead to confusion
>>> and frustration, ultimately hindering productivity rather
>>> than enhancing it.
>>>
>>> I would like to urge the development team to reconsider the
>>> current strategy and prioritize the completion and perfection
>>> of existing features before introducing new ones. By doing
>>> so, we can ensure a more robust, reliable, and user-friendly
>>> programming language.
>>
>> This is getting tiring, you are getting tiring
>>
>> If you don't understand the value, refrain from posting
>> negativity
>>
>> If you have an issue from the tracker that requires more
>> attention, create a separate thread and discuss there instead
>> of spamming here
>>
>> People are free to explore new things, programming should not
>> be a monotonous task that only slaves do
>>
>> Having ARM support means one can keep working on the language
>> in a world that is transitioning to ARM, perhaps not for
>> everyone, but totally for consumer PCs
>>
>> It is also an opportunity to look at old code and perhaps
>> reorganize things and perhaps solve long standing issues along
>> the way, it can only be useful
>>
>>
>> DMD is a strength many languages doesn't have
>>
>> - VERY fast
>>
>> - good enough performance
>>
>> - free from LLVM
>>
>> Having ARM means staying relevant, attracts people interested
>> in ARM and more importantly promotes the language, no language
>> is bug free, but that shouldn't detract us from moving forward
>> instead of decaying and dying
>
> Disagreements are a natural part of any discussion, but it's
> essential to remain respectful. Resorting to insults doesn't
> contribute to a productive dialogue. I’m here to engage in a
> constructive conversation, not to spread negativity.
I didn't mean to sound insulting, i apologize
More information about the Digitalmars-d
mailing list