[fpc-devel] Detecting SSE and AVX compiler options

Florian Klämpfl 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 mailing list