Benjamin Thaut:

I just wanted to say that there are currently bigger fish to fry then micro optimization through calling convetions. (GC, allocators, all the bugs...)

I understand and I agree. On the other hand I think there are things that (if desired) it's better to introduce sooner, despite some important bugs are not fixed, because they shape the future of D a bit.


Did you compile the shown code with optimization enabled or is that a debug build? If it is optimized I'M going to be disappointed by LDCs codegen.

If you take a look at the original post I have used:

ldc2 -O5 -disable-inlining -release -vectorize-slp
-vectorize-slp-aggressive -output-s test.d

I think that's about the max optimization, I have also added some aggressive optimization switches introduced only the latest LLVM version (if you remove them the resulting asm of addParticles is about the same, but it reorders less better some of the instructions inside the dmain).

Bye,
bearophile

Reply via email to