如果用“现代”来表示处理器支持您在问题中引用的由编译器生成的SSE2指令(
mulsd,…),则答案是否定的,
strictfp没有任何区别,因为指令集不允许利用的缺席
strictfp。可用的指令已经可以最佳地计算出的精确规格
strictfp。换句话说,在这种现代CPU上,您
strictfp始终以相同的价格获得语义。
如果用“现代”表示历史性的387
FPU,则有可能观察到中间计算是否会在
strictfp模式下溢出或下溢(差异在于它可能不会溢出或在下溢时保留比预期更多的精度位) )。
strictfp为387编译的典型计算看起来像是此答案中的程序集,其中乘以适当选择的2的幂进行适当的乘法运算以使下溢的行为与IEEE
754 binary64中的相同。结果通过64位存储器位置的往返处理可以解决溢出问题。
如果不进行编译,则相同的计算
strictfp将为每个基本操作生成387条指令,例如,仅
fmulp针对源级乘法的乘法指令。(在程序开始时,将387配置为使用与binary64
53位相同的有效宽度。)



