<p>Am 19.05.2017 15:29 schrieb "Marco van de Voort" <<a href="mailto:marcov@stack.nl">marcov@stack.nl</a>>:<br>
><br>
> In our previous episode, Sven Barth via fpc-pascal said:<br>
> ><br>
> > You only compiled the program with SSE, but not the RTL. And to completely<br>
> > avoid the x87 FPU you additionally need to fiddle around with some<br>
> > defines/code inside the compiler as well.<br>
><br>
> Hmm. in addition to my earlier benchmarks, the RTL is compiled with full<br>
> optimization opts. (-Opcoreavx2 -Cfavx2 -Cpcoreavx2 -O4)<br>
><br>
> I also tried -Oofastmath, but to no avail. (floor is still external, and<br>
> still double)</p>
<p>Floor is not declared as inline and even the Trunc()/Frac() intrinsics it uses wouldn't be inlined as they're assembler routines and FPC as of now doesn't inline assembler routines.<br>
Also if it's Double then all is well. Extended (the 80-bit one) is the problematic case.<br>
What system are you testing on?</p>
<p>Regards,<br>
Sven</p>