Aah, that's useful information, especially the lea/shl example. Thanks
Jonas.
Ideally -Op shouldn't be set to an architecture that's older than the
one for -Cp (i.e. optimising for a processor that's older than the
minimum type it's guaranteed to run on), but is it possible to actually
do so?
Gareth aka. Kit
On 07/09/2022 19:15, Jonas Maebe via fpc-devel wrote:
On 2022-09-07 16:34, J. Gareth Moreton via fpc-devel wrote:
So this one has eluded me a little bit... what's the exact difference
between the -Cp and -Op options?
-Cp: the code is only guaranteed to run on this cpu and usually also
later ones (the code generator/optimiser can use instruction that are
not available on earlier/other cpus). E.g.: use BMI2 instructions.
-Op: the code is optimised for this cpu, but will still run on
earlier/later ones. E.g., use lea instead of shl on a particular cpu
because it's faster there, even if it's not the case on all of them.
-Cf: use this instruction set to perform floating point calculations.
It is independently handled from the two previous settings, even if it
can indirectly also influence the minimum required CPU.
Jonas
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel