DMD backend quality (Was: Re: DIP 1031--Deprecate Brace-Style Struct Initializers--Community Review Round 1 Discussion)
NaN
divide at by.zero
Sun Feb 16 10:52:33 UTC 2020
On Sunday, 16 February 2020 at 00:16:24 UTC, H. S. Teoh wrote:
> [Moving this to separate thread because it's tangential to DIP
> 1031 discussion.]
>
> On Sat, Feb 15, 2020 at 03:59:39PM -0800, Walter Bright via
> Digitalmars-d wrote:
>> On 2/15/2020 9:58 AM, jxel wrote:
>> > how poor quality the backend code is.
>>
>> Baloney.
>>
>> It's written in an older style, sure, but it's remarkably bug
>> free considering how complex it is. The complexity is a result
>> of the fiendishly complex x86 instructions set.
>>
>> The proof of its quality is it has successfully been extended
>> from a purely 16 bit generator to 32 and extended again to 64
>> bit, and has been extended to support multiple ABIs and object
>> file formats.
>>
>> The DFA optimizer has also proven to be fast and very robust.
>
> Unfortunately, the GDC and LDC optimizers consistently produce
> code that outperforms code generated by the DMD backend by
> 20-30%, sometimes as high as 40% for CPU-intensive code. DMD
> also tends to have more codegen bugs when run with -O -inline
> (which, ironically, still produces inferior code to what
> LDC/GDC produces with -O).
I was seeing worse than that last time i used DMD, it was mostly
int code, no fpu, and it was around 60% slower with DMD than LDC.
Haven't used it since. SIMD support with DMD was awful at the
time too, dont know if thats improved.
More information about the Digitalmars-d
mailing list