Disappointing math performance compared to GDC

Trass3r via digitalmars-d-ldc digitalmars-d-ldc at puremagic.com
Wed Oct 8 04:29:28 PDT 2014


Try with '-O3 -release -vectorize-slp-aggressive -g 
-pass-remarks-analysis="loop-vectorize|loop-unroll" 
-pass-remarks=loop-unroll'

Note that the D situation is a mess in general (correct me if I'm 
wrong):
* Never ever use std.math as you will get the insane 80-bit 
functions.
* core.math has some hacks to use llvm builtins but also mostly 
using type real.
* core.stdc.math supports all types but uses suffixes and maps to 
C functions.
* core.stdc.tgmath gets rid of the suffixes at least. Best way 
imo to write code if you disregard auto-vectorization.
* you can also use ldc.intrinsics to kill portability. Hello C++.

And there's no fast-math yet:
https://github.com/ldc-developers/ldc/issues/722


More information about the digitalmars-d-ldc mailing list