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