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