dmd codegen improvements

ponce via Digitalmars-d digitalmars-d at puremagic.com
Wed Aug 19 03:08:46 PDT 2015


On Wednesday, 19 August 2015 at 09:55:19 UTC, Dmitry Olshansky 
wrote:
> On 19-Aug-2015 12:46, "Ola Fosheim =?UTF-8?B?R3LDuHN0YWQi?= 
> <ola.fosheim.grostad+dlang at gmail.com>" wrote:
>> On Wednesday, 19 August 2015 at 09:29:31 UTC, Dmitry Olshansky 
>> wrote:
>>> I do not. I underestime the benefits of tons of subtle passes 
>>> that
>>> play into 0.1-0.2% in some cases. There are lots and lots of 
>>> this in
>>> GCC/LLVM. If having the best code generated out there is not 
>>> the goal
>>> we can safely omit most of these focusing on the most 
>>> critical bits.
>>
>> Well, you can start on this now, but by the time it is ready 
>> and
>> hardened, LLVM might have received improved AVX2 and AVX-512 
>> code gen
>> from Intel. Which basically will leave DMD in the dust.
>>
>
> On numerics, video-codecs and the like. Not like compilers 
> solely depend on AVX.

Even in video codec, AVX2 is not that useful and barely brings a 
10% improvements over SSE, while being extra careful with SSE-AVX 
transition penalty. And to reap this benefit you would have to 
write in intrinsics/assembly.
For AVX-512 I can't even imagine what to use such large register 
for. Larger registers => more spilling because of calling 
conventions, and more fiddling around with complicated shuffle 
instructions. There is a steep diminishing returns with 
increasing registers size.


More information about the Digitalmars-d mailing list