[fpc-devel] Detecting SSE and AVX compiler options
florian at freepascal.org
Mon Feb 4 21:04:23 CET 2019
Am 04.02.19 um 17:47 schrieb J. Gareth Moreton:
> Oh whoops, sorry about that and not replying to the list.
> I'll try not to screw up. Generally I think Double is preferred because
> then everything uses SSE2 and no awkward ferrying of data between it and
> the floating-point stack is required (come to think of it, only Win64
> actually requires the presence of SSE2 and refuses to install if it's
> not present).
> Given that Florian prefers a node micro-optimisation for functions like
> floor, it should be easy enough to check if the input is of type Single
> or Double, and drop out if it's Extended (falling back to the actual
> source code).
Well, in case of a node optimization in combination with inline I do not
see it as a real micro optimization as it results in the best code which
is not the case if it is ifdef'ed assembler code in a unit which is most
of the time not used (fpc x86-64 rtl is build with -Cfsse2 normally).
More information about the fpc-devel