dmd Arm64 - first function compile!
Next Level Gaming Store
yevgeniykizhner68 at gmail.com
Sun Jul 7 14:57:04 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.
>
> Regarding the core of the discussion, it's crucial to recognize
> that ARM is not poised to replace x86 entirely. The x86
> architecture remains deeply entrenched in many sectors,
> including enterprise, gaming, and high-performance computing,
> where its performance and compatibility advantages are
> significant. While ARM support is beneficial, it complements
> rather than replaces x86.
>
> Moreover, there is a plethora of new x86 products being
> released for servers, desktops, and IoT devices, indicating
> that the world is not transitioning to ARM exclusively. Both
> architectures have their place and will continue to coexist,
> serving different needs and markets.
I hear you both, and it's important to have a civil discussion
about the future of DMD. While the rise of ARM processors is
undeniable, it's likely a coexistence scenario with x86 for some
time. Both architectures have strengths - x86 remains dominant in
areas like gaming due to its performance, while ARM shines in
mobile and potentially future consumer PCs for its efficiency.
Having ARM support in DMD opens doors to a wider audience and
keeps the language relevant in this evolving landscape. It can
also be a catalyst for code review and potential improvements
across the board.
Regardless of the architecture, a well-optimized compiler is key
for peak performance. If you're on the lookout for powerful
hardware to unleash the potential of your code, be sure to check
out Next Level Gaming Store [ https://nextlevelgamingstore.net/
]! They carry a wide range of high-performance desktops and
laptops that cater to developers.
More information about the Digitalmars-d
mailing list